Want to learn about running containers in Lambda? Join our free hands-on workshop. Register Now

CloudProviderSnapshot

mongodbatlas.CloudProviderSnapshot provides a resource to take a cloud backup snapshot on demand. On-demand snapshots happen immediately, unlike scheduled snapshots which occur at regular intervals. If there is already an on-demand snapshot with a status of queued or inProgress, you must wait until Atlas has completed the on-demand snapshot before taking another.

NOTE: Groups and projects are synonymous terms. You may find groupId in the official documentation.

Example Usage

using Pulumi;
using Mongodbatlas = Pulumi.Mongodbatlas;

class MyStack : Stack
{
    public MyStack()
    {
        var myCluster = new Mongodbatlas.Cluster("myCluster", new Mongodbatlas.ClusterArgs
        {
            ProjectId = "5cf5a45a9ccf6400e60981b6",
            DiskSizeGb = 5,
            ProviderName = "AWS",
            ProviderRegionName = "EU_WEST_2",
            ProviderInstanceSizeName = "M10",
            ProviderBackupEnabled = true,
            ProviderDiskIops = 100,
            ProviderEncryptEbsVolume = false,
        });
        var testCloudProviderSnapshot = new Mongodbatlas.CloudProviderSnapshot("testCloudProviderSnapshot", new Mongodbatlas.CloudProviderSnapshotArgs
        {
            ProjectId = myCluster.ProjectId,
            ClusterName = myCluster.Name,
            Description = "myDescription",
            RetentionInDays = 1,
        });
        var testCloudProviderSnapshotRestoreJob = new Mongodbatlas.CloudProviderSnapshotRestoreJob("testCloudProviderSnapshotRestoreJob", new Mongodbatlas.CloudProviderSnapshotRestoreJobArgs
        {
            ProjectId = testCloudProviderSnapshot.ProjectId,
            ClusterName = testCloudProviderSnapshot.ClusterName,
            SnapshotId = testCloudProviderSnapshot.SnapshotId,
            DeliveryType = new Mongodbatlas.Inputs.CloudProviderSnapshotRestoreJobDeliveryTypeArgs
            {
                Download = true,
            },
        });
    }

}
package main

import (
    "github.com/pulumi/pulumi-mongodbatlas/sdk/go/mongodbatlas"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        myCluster, err := mongodbatlas.NewCluster(ctx, "myCluster", &mongodbatlas.ClusterArgs{
            ProjectId:                pulumi.String("5cf5a45a9ccf6400e60981b6"),
            DiskSizeGb:               pulumi.Float64(5),
            ProviderName:             pulumi.String("AWS"),
            ProviderRegionName:       pulumi.String("EU_WEST_2"),
            ProviderInstanceSizeName: pulumi.String("M10"),
            ProviderBackupEnabled:    pulumi.Bool(true),
            ProviderDiskIops:         pulumi.Int(100),
            ProviderEncryptEbsVolume: pulumi.Bool(false),
        })
        if err != nil {
            return err
        }
        testCloudProviderSnapshot, err := mongodbatlas.NewCloudProviderSnapshot(ctx, "testCloudProviderSnapshot", &mongodbatlas.CloudProviderSnapshotArgs{
            ProjectId:       myCluster.ProjectId,
            ClusterName:     myCluster.Name,
            Description:     pulumi.String("myDescription"),
            RetentionInDays: pulumi.Int(1),
        })
        if err != nil {
            return err
        }
        _, err = mongodbatlas.NewCloudProviderSnapshotRestoreJob(ctx, "testCloudProviderSnapshotRestoreJob", &mongodbatlas.CloudProviderSnapshotRestoreJobArgs{
            ProjectId:   testCloudProviderSnapshot.ProjectId,
            ClusterName: testCloudProviderSnapshot.ClusterName,
            SnapshotId:  testCloudProviderSnapshot.SnapshotId,
            DeliveryType: &mongodbatlas.CloudProviderSnapshotRestoreJobDeliveryTypeArgs{
                Download: pulumi.Bool(true),
            },
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_mongodbatlas as mongodbatlas

my_cluster = mongodbatlas.Cluster("myCluster",
    project_id="5cf5a45a9ccf6400e60981b6",
    disk_size_gb=5,
    provider_name="AWS",
    provider_region_name="EU_WEST_2",
    provider_instance_size_name="M10",
    provider_backup_enabled=True,
    provider_disk_iops=100,
    provider_encrypt_ebs_volume=False)
test_cloud_provider_snapshot = mongodbatlas.CloudProviderSnapshot("testCloudProviderSnapshot",
    project_id=my_cluster.project_id,
    cluster_name=my_cluster.name,
    description="myDescription",
    retention_in_days=1)
test_cloud_provider_snapshot_restore_job = mongodbatlas.CloudProviderSnapshotRestoreJob("testCloudProviderSnapshotRestoreJob",
    project_id=test_cloud_provider_snapshot.project_id,
    cluster_name=test_cloud_provider_snapshot.cluster_name,
    snapshot_id=test_cloud_provider_snapshot.snapshot_id,
    delivery_type=mongodbatlas.CloudProviderSnapshotRestoreJobDeliveryTypeArgs(
        download=True,
    ))
import * as pulumi from "@pulumi/pulumi";
import * as mongodbatlas from "@pulumi/mongodbatlas";

const myCluster = new mongodbatlas.Cluster("myCluster", {
    projectId: "5cf5a45a9ccf6400e60981b6",
    diskSizeGb: 5,
    providerName: "AWS",
    providerRegionName: "EU_WEST_2",
    providerInstanceSizeName: "M10",
    providerBackupEnabled: true,
    providerDiskIops: 100,
    providerEncryptEbsVolume: false,
});
const testCloudProviderSnapshot = new mongodbatlas.CloudProviderSnapshot("testCloudProviderSnapshot", {
    projectId: myCluster.projectId,
    clusterName: myCluster.name,
    description: "myDescription",
    retentionInDays: 1,
});
const testCloudProviderSnapshotRestoreJob = new mongodbatlas.CloudProviderSnapshotRestoreJob("testCloudProviderSnapshotRestoreJob", {
    projectId: testCloudProviderSnapshot.projectId,
    clusterName: testCloudProviderSnapshot.clusterName,
    snapshotId: testCloudProviderSnapshot.snapshotId,
    deliveryType: {
        download: true,
    },
});

Create a CloudProviderSnapshot Resource

def CloudProviderSnapshot(resource_name: str, opts: Optional[ResourceOptions] = None, cluster_name: Optional[str] = None, description: Optional[str] = None, project_id: Optional[str] = None, retention_in_days: Optional[int] = None)
name string
The unique name of the resource.
args CloudProviderSnapshotArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
opts ResourceOptions
A bag of options that control this resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args CloudProviderSnapshotArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args CloudProviderSnapshotArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

CloudProviderSnapshot Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The CloudProviderSnapshot resource accepts the following input properties:

ClusterName string

The name of the Atlas cluster that contains the snapshots you want to retrieve.

Description string

Description of the on-demand snapshot.

ProjectId string

The unique identifier of the project for the Atlas cluster.

RetentionInDays int

The number of days that Atlas should retain the on-demand snapshot. Must be at least 1.

ClusterName string

The name of the Atlas cluster that contains the snapshots you want to retrieve.

Description string

Description of the on-demand snapshot.

ProjectId string

The unique identifier of the project for the Atlas cluster.

RetentionInDays int

The number of days that Atlas should retain the on-demand snapshot. Must be at least 1.

clusterName string

The name of the Atlas cluster that contains the snapshots you want to retrieve.

description string

Description of the on-demand snapshot.

projectId string

The unique identifier of the project for the Atlas cluster.

retentionInDays number

The number of days that Atlas should retain the on-demand snapshot. Must be at least 1.

cluster_name str

The name of the Atlas cluster that contains the snapshots you want to retrieve.

description str

Description of the on-demand snapshot.

project_id str

The unique identifier of the project for the Atlas cluster.

retention_in_days int

The number of days that Atlas should retain the on-demand snapshot. Must be at least 1.

Outputs

All input properties are implicitly available as output properties. Additionally, the CloudProviderSnapshot resource produces the following output properties:

CreatedAt string

UTC ISO 8601 formatted point in time when Atlas took the snapshot.

ExpiresAt string

UTC ISO 8601 formatted point in time when Atlas will delete the snapshot.

Id string
The provider-assigned unique ID for this managed resource.
MasterKeyUuid string

Unique ID of the AWS KMS Customer Master Key used to encrypt the snapshot. Only visible for clusters using Encryption at Rest via Customer KMS.

MongodVersion string

Version of the MongoDB server.

SnapshotId string

Unique identifier of the snapshot.

SnapshotType string

Specified the type of snapshot. Valid values are onDemand and scheduled.

Status string

Current status of the snapshot. One of the following values will be returned: queued, inProgress, completed, failed.

StorageSizeBytes int

Specifies the size of the snapshot in bytes.

Type string

Specifies the type of cluster: replicaSet or shardedCluster.

CreatedAt string

UTC ISO 8601 formatted point in time when Atlas took the snapshot.

ExpiresAt string

UTC ISO 8601 formatted point in time when Atlas will delete the snapshot.

Id string
The provider-assigned unique ID for this managed resource.
MasterKeyUuid string

Unique ID of the AWS KMS Customer Master Key used to encrypt the snapshot. Only visible for clusters using Encryption at Rest via Customer KMS.

MongodVersion string

Version of the MongoDB server.

SnapshotId string

Unique identifier of the snapshot.

SnapshotType string

Specified the type of snapshot. Valid values are onDemand and scheduled.

Status string

Current status of the snapshot. One of the following values will be returned: queued, inProgress, completed, failed.

StorageSizeBytes int

Specifies the size of the snapshot in bytes.

Type string

Specifies the type of cluster: replicaSet or shardedCluster.

createdAt string

UTC ISO 8601 formatted point in time when Atlas took the snapshot.

expiresAt string

UTC ISO 8601 formatted point in time when Atlas will delete the snapshot.

id string
The provider-assigned unique ID for this managed resource.
masterKeyUuid string

Unique ID of the AWS KMS Customer Master Key used to encrypt the snapshot. Only visible for clusters using Encryption at Rest via Customer KMS.

mongodVersion string

Version of the MongoDB server.

snapshotId string

Unique identifier of the snapshot.

snapshotType string

Specified the type of snapshot. Valid values are onDemand and scheduled.

status string

Current status of the snapshot. One of the following values will be returned: queued, inProgress, completed, failed.

storageSizeBytes number

Specifies the size of the snapshot in bytes.

type string

Specifies the type of cluster: replicaSet or shardedCluster.

created_at str

UTC ISO 8601 formatted point in time when Atlas took the snapshot.

expires_at str

UTC ISO 8601 formatted point in time when Atlas will delete the snapshot.

id str
The provider-assigned unique ID for this managed resource.
master_key_uuid str

Unique ID of the AWS KMS Customer Master Key used to encrypt the snapshot. Only visible for clusters using Encryption at Rest via Customer KMS.

mongod_version str

Version of the MongoDB server.

snapshot_id str

Unique identifier of the snapshot.

snapshot_type str

Specified the type of snapshot. Valid values are onDemand and scheduled.

status str

Current status of the snapshot. One of the following values will be returned: queued, inProgress, completed, failed.

storage_size_bytes int

Specifies the size of the snapshot in bytes.

type str

Specifies the type of cluster: replicaSet or shardedCluster.

Look up an Existing CloudProviderSnapshot Resource

Get an existing CloudProviderSnapshot resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

@staticmethod
def get(resource_name: str, id: str, opts: Optional[ResourceOptions] = None, cluster_name: Optional[str] = None, created_at: Optional[str] = None, description: Optional[str] = None, expires_at: Optional[str] = None, master_key_uuid: Optional[str] = None, mongod_version: Optional[str] = None, project_id: Optional[str] = None, retention_in_days: Optional[int] = None, snapshot_id: Optional[str] = None, snapshot_type: Optional[str] = None, status: Optional[str] = None, storage_size_bytes: Optional[int] = None, type: Optional[str] = None) -> CloudProviderSnapshot
func GetCloudProviderSnapshot(ctx *Context, name string, id IDInput, state *CloudProviderSnapshotState, opts ...ResourceOption) (*CloudProviderSnapshot, error)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

ClusterName string

The name of the Atlas cluster that contains the snapshots you want to retrieve.

CreatedAt string

UTC ISO 8601 formatted point in time when Atlas took the snapshot.

Description string

Description of the on-demand snapshot.

ExpiresAt string

UTC ISO 8601 formatted point in time when Atlas will delete the snapshot.

MasterKeyUuid string

Unique ID of the AWS KMS Customer Master Key used to encrypt the snapshot. Only visible for clusters using Encryption at Rest via Customer KMS.

MongodVersion string

Version of the MongoDB server.

ProjectId string

The unique identifier of the project for the Atlas cluster.

RetentionInDays int

The number of days that Atlas should retain the on-demand snapshot. Must be at least 1.

SnapshotId string

Unique identifier of the snapshot.

SnapshotType string

Specified the type of snapshot. Valid values are onDemand and scheduled.

Status string

Current status of the snapshot. One of the following values will be returned: queued, inProgress, completed, failed.

StorageSizeBytes int

Specifies the size of the snapshot in bytes.

Type string

Specifies the type of cluster: replicaSet or shardedCluster.

ClusterName string

The name of the Atlas cluster that contains the snapshots you want to retrieve.

CreatedAt string

UTC ISO 8601 formatted point in time when Atlas took the snapshot.

Description string

Description of the on-demand snapshot.

ExpiresAt string

UTC ISO 8601 formatted point in time when Atlas will delete the snapshot.

MasterKeyUuid string

Unique ID of the AWS KMS Customer Master Key used to encrypt the snapshot. Only visible for clusters using Encryption at Rest via Customer KMS.

MongodVersion string

Version of the MongoDB server.

ProjectId string

The unique identifier of the project for the Atlas cluster.

RetentionInDays int

The number of days that Atlas should retain the on-demand snapshot. Must be at least 1.

SnapshotId string

Unique identifier of the snapshot.

SnapshotType string

Specified the type of snapshot. Valid values are onDemand and scheduled.

Status string

Current status of the snapshot. One of the following values will be returned: queued, inProgress, completed, failed.

StorageSizeBytes int

Specifies the size of the snapshot in bytes.

Type string

Specifies the type of cluster: replicaSet or shardedCluster.

clusterName string

The name of the Atlas cluster that contains the snapshots you want to retrieve.

createdAt string

UTC ISO 8601 formatted point in time when Atlas took the snapshot.

description string

Description of the on-demand snapshot.

expiresAt string

UTC ISO 8601 formatted point in time when Atlas will delete the snapshot.

masterKeyUuid string

Unique ID of the AWS KMS Customer Master Key used to encrypt the snapshot. Only visible for clusters using Encryption at Rest via Customer KMS.

mongodVersion string

Version of the MongoDB server.

projectId string

The unique identifier of the project for the Atlas cluster.

retentionInDays number

The number of days that Atlas should retain the on-demand snapshot. Must be at least 1.

snapshotId string

Unique identifier of the snapshot.

snapshotType string

Specified the type of snapshot. Valid values are onDemand and scheduled.

status string

Current status of the snapshot. One of the following values will be returned: queued, inProgress, completed, failed.

storageSizeBytes number

Specifies the size of the snapshot in bytes.

type string

Specifies the type of cluster: replicaSet or shardedCluster.

cluster_name str

The name of the Atlas cluster that contains the snapshots you want to retrieve.

created_at str

UTC ISO 8601 formatted point in time when Atlas took the snapshot.

description str

Description of the on-demand snapshot.

expires_at str

UTC ISO 8601 formatted point in time when Atlas will delete the snapshot.

master_key_uuid str

Unique ID of the AWS KMS Customer Master Key used to encrypt the snapshot. Only visible for clusters using Encryption at Rest via Customer KMS.

mongod_version str

Version of the MongoDB server.

project_id str

The unique identifier of the project for the Atlas cluster.

retention_in_days int

The number of days that Atlas should retain the on-demand snapshot. Must be at least 1.

snapshot_id str

Unique identifier of the snapshot.

snapshot_type str

Specified the type of snapshot. Valid values are onDemand and scheduled.

status str

Current status of the snapshot. One of the following values will be returned: queued, inProgress, completed, failed.

storage_size_bytes int

Specifies the size of the snapshot in bytes.

type str

Specifies the type of cluster: replicaSet or shardedCluster.

Package Details

Repository
https://github.com/pulumi/pulumi-mongodbatlas
License
Apache-2.0
Notes
This Pulumi package is based on the mongodbatlas Terraform Provider.