Welcome to Pulumi Registry, your window into the cloud. Read the announcement.

MongoDB Atlas

v3.0.1 published on Monday, Nov 1, 2021 by Pulumi

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",
            CloudBackup = true,
        });
        // enable cloud backup snapshots
        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 = 
            {
                
                {
                    { "download", true },
                },
            },
        });
    }

}

Coming soon!

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",
    cloud_backup=True)
# enable cloud backup snapshots
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=[{
        "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",
    cloudBackup: true,
});
// enable cloud backup snapshots
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

new CloudProviderSnapshot(name: string, args: CloudProviderSnapshotArgs, opts?: CustomResourceOptions);
@overload
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)
@overload
def CloudProviderSnapshot(resource_name: str,
                          args: CloudProviderSnapshotArgs,
                          opts: Optional[ResourceOptions] = None)
func NewCloudProviderSnapshot(ctx *Context, name string, args CloudProviderSnapshotArgs, opts ...ResourceOption) (*CloudProviderSnapshot, error)
public CloudProviderSnapshot(string name, CloudProviderSnapshotArgs args, CustomResourceOptions? opts = null)
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.
args CloudProviderSnapshotArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control 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 Architecture and Concepts 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.

public static get(name: string, id: Input<ID>, state?: CloudProviderSnapshotState, opts?: CustomResourceOptions): CloudProviderSnapshot
@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)
public static CloudProviderSnapshot Get(string name, Input<string> id, CloudProviderSnapshotState? state, CustomResourceOptions? opts = null)
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.

Import

Cloud Backup Snapshot entries can be imported using project project_id, cluster_name and snapshot_id (Unique identifier of the snapshot), in the format PROJECTID-CLUSTERNAME-SNAPSHOTID, e.g.

 $ pulumi import mongodbatlas:index/cloudProviderSnapshot:CloudProviderSnapshot test 5d0f1f73cf09a29120e173cf-MyClusterTest-5d116d82014b764445b2f9b5

For more information seeMongoDB Atlas API Reference.

Package Details

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