This page documents the language specification for the mongodbatlas package. If you're looking for help working with the inputs, outputs, or functions of mongodbatlas resources in a Pulumi program, please see the resource documentation for examples and API reference.

Pulumi MongoDB Atlas

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-mongodbatlas repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-mongodbatlas repo.

class pulumi_mongodbatlas.AlertConfiguration(resource_name, opts=None, enabled=None, event_type=None, matchers=None, metric_threshold=None, notifications=None, project_id=None, __props__=None, __name__=None, __opts__=None)

.AlertConfiguration provides an Alert Configuration resource to define the conditions that trigger an alert and the methods of notification within a MongoDB Atlas project.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.AlertConfiguration("test",
    enabled=True,
    event_type="OUTSIDE_METRIC_THRESHOLD",
    matchers=[{
        "fieldName": "HOSTNAME_AND_PORT",
        "operator": "EQUALS",
        "value": "SECONDARY",
    }],
    metric_threshold={
        "metric_name": "ASSERT_REGULAR",
        "mode": "AVERAGE",
        "operator": "LESS_THAN",
        "threshold": 99,
        "units": "RAW",
    },
    notifications=[{
        "delayMin": 0,
        "emailEnabled": True,
        "intervalMin": 5,
        "roles": [
            "GROUP_CHARTS_ADMIN",
            "GROUP_CLUSTER_MANAGER",
        ],
        "smsEnabled": False,
        "typeName": "GROUP",
    }],
    project_id="<PROJECT-ID>")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • enabled (pulumi.Input[bool]) – It is not required, but If the attribute is omitted, by default will be false, and the configuration would be disabled. You must set true to enable the configuration.

  • event_type (pulumi.Input[str]) – The type of event that will trigger an alert. Alert type Possible values:

* Host
- `OUTSIDE_METRIC_THRESHOLD`
- `HOST_RESTARTED`
- `HOST_UPGRADED`
- `HOST_NOW_SECONDARY`
- `HOST_NOW_PRIMARY`
* Replica set
- `NO_PRIMARY`
- `TOO_MANY_ELECTIONS`
* Sharded cluster
- `CLUSTER_MONGOS_IS_MISSING`
- `User`
- `JOINED_GROUP`
- `REMOVED_FROM_GROUP`
- `USER_ROLES_CHANGED_AUDIT`
* Project
- `USERS_AWAITING_APPROVAL`
- `USERS_WITHOUT_MULTI_FACTOR_AUTH`
- `GROUP_CREATED`
* Team
- `JOINED_TEAM`
- `REMOVED_FROM_TEAM`
* Organization
- `INVITED_TO_ORG`
- `JOINED_ORG`
* Data Explorer
- `DATA_EXPLORER`
- `DATA_EXPLORER_CRUD`
* Billing
- `CREDIT_CARD_ABOUT_TO_EXPIRE`
- `CHARGE_SUCCEEDED`
- `INVOICE_CLOSED`
Parameters

project_id (pulumi.Input[str]) – The ID of the project where the alert configuration will create.

The matchers object supports the following:

  • fieldName (pulumi.Input[str]) - Name of the field in the target object to match on. Host alerts support these fields:

    • TYPE_NAME

    • HOSTNAME

    • PORT

    • HOSTNAME_AND_PORT

    • REPLICA_SET_NAME Replica set alerts support these fields:

    • REPLICA_SET_NAME

    • SHARD_NAME

    • CLUSTER_NAME Sharded cluster alerts support these fields:

    • CLUSTER_NAME

    • SHARD_NAME

  • operator (pulumi.Input[str]) - Operator to apply when checking the current metric value against the threshold value. Accepted values are:

    • GREATER_THAN

    • LESS_THAN

  • value (pulumi.Input[str]) - Value to test with the specified operator. If field_name is set to TYPE_NAME, you can match on the following values:

    • PRIMARY

    • SECONDARY

    • STANDALONE

    • CONFIG

    • MONGOS

The metric_threshold object supports the following:

  • metric_name (pulumi.Input[str]) - Name of the metric to check.

  • mode (pulumi.Input[str]) - This must be set to AVERAGE. Atlas computes the current metric value as an average.

  • operator (pulumi.Input[str]) - Operator to apply when checking the current metric value against the threshold value. Accepted values are:

    • GREATER_THAN

    • LESS_THAN

  • threshold (pulumi.Input[float]) - Threshold value outside of which an alert will be triggered.

  • units (pulumi.Input[str]) - The units for the threshold value. Depends on the type of metric. Accepted values are:

    • RAW

    • BITS

    • BYTES

    • KILOBITS

    • KILOBYTES

    • MEGABITS

    • MEGABYTES

    • GIGABITS

    • GIGABYTES

    • TERABYTES

    • PETABYTES

    • MILLISECONDS

    • SECONDS

    • MINUTES

    • HOURS

    • DAYS

The notifications object supports the following:

  • apiToken (pulumi.Input[str]) - Slack API token. Required for the SLACK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

  • channelName (pulumi.Input[str]) - Slack channel name. Required for the SLACK notifications type.

  • datadogApiKey (pulumi.Input[str]) - Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type.

  • datadogRegion (pulumi.Input[str]) - Region that indicates which API URL to use. Accepted regions are: US, EU. The default Datadog region is US.

  • delayMin (pulumi.Input[float]) - Number of minutes to wait after an alert condition is detected before sending out the first notification.

  • emailAddress (pulumi.Input[str]) - Email address to which alert notifications are sent. Required for the EMAIL notifications type.

  • emailEnabled (pulumi.Input[bool]) - Flag indicating if email notifications should be sent. Configurable for ORG, GROUP, and USER notifications types.

  • flowName (pulumi.Input[str]) - Flowdock flow name in lower-case letters. Required for the FLOWDOCK notifications type

  • flowdockApiToken (pulumi.Input[str]) - The Flowdock personal API token. Required for the FLOWDOCK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

  • intervalMin (pulumi.Input[float]) - Number of minutes to wait between successive notifications for unacknowledged alerts that are not resolved. The minimum value is 5.

  • mobileNumber (pulumi.Input[str]) - Mobile number to which alert notifications are sent. Required for the SMS notifications type.

  • opsGenieApiKey (pulumi.Input[str]) - Opsgenie API Key. Required for the OPS_GENIE notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

  • opsGenieRegion (pulumi.Input[str]) - Region that indicates which API URL to use. Accepted regions are: US ,EU. The default Opsgenie region is US.

  • orgName (pulumi.Input[str]) - Flowdock organization name in lower-case letters. This is the name that appears after www.flowdock.com/app/ in the URL string. Required for the FLOWDOCK notifications type.

  • roles (pulumi.Input[list])

  • serviceKey (pulumi.Input[str]) - PagerDuty service key. Required for the PAGER_DUTY notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.

  • smsEnabled (pulumi.Input[bool]) - Flag indicating if text message notifications should be sent. Configurable for ORG, GROUP, and USER notifications types.

  • team_id (pulumi.Input[str]) - Unique identifier of a team.

  • typeName (pulumi.Input[str]) - Type of alert notification. Accepted values are:

    • DATADOG

    • EMAIL

    • FLOWDOCK

    • GROUP (Project)

    • OPS_GENIE

    • ORG

    • PAGER_DUTY

    • SLACK

    • SMS

    • TEAM

    • USER

    • VICTOR_OPS

    • WEBHOOK

  • username (pulumi.Input[str]) - Name of the Atlas user to which to send notifications. Only a user in the project that owns the alert configuration is allowed here. Required for the USER notifications type.

  • victorOpsApiKey (pulumi.Input[str]) - VictorOps API key. Required for the VICTOR_OPS notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.

  • victorOpsRoutingKey (pulumi.Input[str]) - VictorOps routing key. Optional for the VICTOR_OPS notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.

alert_configuration_id: pulumi.Output[str] = None

Unique identifier for the alert configuration.

created: pulumi.Output[str] = None

Timestamp in ISO 8601 date and time format in UTC when this alert configuration was created.

enabled: pulumi.Output[bool] = None

It is not required, but If the attribute is omitted, by default will be false, and the configuration would be disabled. You must set true to enable the configuration.

event_type: pulumi.Output[str] = None

The type of event that will trigger an alert. Alert type Possible values:

  • Host

  • OUTSIDE_METRIC_THRESHOLD

  • HOST_RESTARTED

  • HOST_UPGRADED

  • HOST_NOW_SECONDARY

  • HOST_NOW_PRIMARY

  • Replica set

  • NO_PRIMARY

  • TOO_MANY_ELECTIONS

  • Sharded cluster

  • CLUSTER_MONGOS_IS_MISSING

  • User

  • JOINED_GROUP

  • REMOVED_FROM_GROUP

  • USER_ROLES_CHANGED_AUDIT

  • Project

  • USERS_AWAITING_APPROVAL

  • USERS_WITHOUT_MULTI_FACTOR_AUTH

  • GROUP_CREATED

  • Team

  • JOINED_TEAM

  • REMOVED_FROM_TEAM

  • Organization

  • INVITED_TO_ORG

  • JOINED_ORG

  • Data Explorer

  • DATA_EXPLORER

  • DATA_EXPLORER_CRUD

  • Billing

  • CREDIT_CARD_ABOUT_TO_EXPIRE

  • CHARGE_SUCCEEDED

  • INVOICE_CLOSED

project_id: pulumi.Output[str] = None

The ID of the project where the alert configuration will create.

updated: pulumi.Output[str] = None

Timestamp in ISO 8601 date and time format in UTC when this alert configuration was last updated.

static get(resource_name, id, opts=None, alert_configuration_id=None, created=None, enabled=None, event_type=None, matchers=None, metric_threshold=None, notifications=None, project_id=None, updated=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • alert_configuration_id (pulumi.Input[str]) – Unique identifier for the alert configuration.

  • created (pulumi.Input[str]) – Timestamp in ISO 8601 date and time format in UTC when this alert configuration was created.

  • enabled (pulumi.Input[bool]) – It is not required, but If the attribute is omitted, by default will be false, and the configuration would be disabled. You must set true to enable the configuration.

  • event_type (pulumi.Input[str]) – The type of event that will trigger an alert. Alert type Possible values:

* Host
- `OUTSIDE_METRIC_THRESHOLD`
- `HOST_RESTARTED`
- `HOST_UPGRADED`
- `HOST_NOW_SECONDARY`
- `HOST_NOW_PRIMARY`
* Replica set
- `NO_PRIMARY`
- `TOO_MANY_ELECTIONS`
* Sharded cluster
- `CLUSTER_MONGOS_IS_MISSING`
- `User`
- `JOINED_GROUP`
- `REMOVED_FROM_GROUP`
- `USER_ROLES_CHANGED_AUDIT`
* Project
- `USERS_AWAITING_APPROVAL`
- `USERS_WITHOUT_MULTI_FACTOR_AUTH`
- `GROUP_CREATED`
* Team
- `JOINED_TEAM`
- `REMOVED_FROM_TEAM`
* Organization
- `INVITED_TO_ORG`
- `JOINED_ORG`
* Data Explorer
- `DATA_EXPLORER`
- `DATA_EXPLORER_CRUD`
* Billing
- `CREDIT_CARD_ABOUT_TO_EXPIRE`
- `CHARGE_SUCCEEDED`
- `INVOICE_CLOSED`
Parameters
  • project_id (pulumi.Input[str]) – The ID of the project where the alert configuration will create.

  • updated (pulumi.Input[str]) – Timestamp in ISO 8601 date and time format in UTC when this alert configuration was last updated.

The matchers object supports the following:

  • fieldName (pulumi.Input[str]) - Name of the field in the target object to match on. Host alerts support these fields:

    • TYPE_NAME

    • HOSTNAME

    • PORT

    • HOSTNAME_AND_PORT

    • REPLICA_SET_NAME Replica set alerts support these fields:

    • REPLICA_SET_NAME

    • SHARD_NAME

    • CLUSTER_NAME Sharded cluster alerts support these fields:

    • CLUSTER_NAME

    • SHARD_NAME

  • operator (pulumi.Input[str]) - Operator to apply when checking the current metric value against the threshold value. Accepted values are:

    • GREATER_THAN

    • LESS_THAN

  • value (pulumi.Input[str]) - Value to test with the specified operator. If field_name is set to TYPE_NAME, you can match on the following values:

    • PRIMARY

    • SECONDARY

    • STANDALONE

    • CONFIG

    • MONGOS

The metric_threshold object supports the following:

  • metric_name (pulumi.Input[str]) - Name of the metric to check.

  • mode (pulumi.Input[str]) - This must be set to AVERAGE. Atlas computes the current metric value as an average.

  • operator (pulumi.Input[str]) - Operator to apply when checking the current metric value against the threshold value. Accepted values are:

    • GREATER_THAN

    • LESS_THAN

  • threshold (pulumi.Input[float]) - Threshold value outside of which an alert will be triggered.

  • units (pulumi.Input[str]) - The units for the threshold value. Depends on the type of metric. Accepted values are:

    • RAW

    • BITS

    • BYTES

    • KILOBITS

    • KILOBYTES

    • MEGABITS

    • MEGABYTES

    • GIGABITS

    • GIGABYTES

    • TERABYTES

    • PETABYTES

    • MILLISECONDS

    • SECONDS

    • MINUTES

    • HOURS

    • DAYS

The notifications object supports the following:

  • apiToken (pulumi.Input[str]) - Slack API token. Required for the SLACK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

  • channelName (pulumi.Input[str]) - Slack channel name. Required for the SLACK notifications type.

  • datadogApiKey (pulumi.Input[str]) - Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type.

  • datadogRegion (pulumi.Input[str]) - Region that indicates which API URL to use. Accepted regions are: US, EU. The default Datadog region is US.

  • delayMin (pulumi.Input[float]) - Number of minutes to wait after an alert condition is detected before sending out the first notification.

  • emailAddress (pulumi.Input[str]) - Email address to which alert notifications are sent. Required for the EMAIL notifications type.

  • emailEnabled (pulumi.Input[bool]) - Flag indicating if email notifications should be sent. Configurable for ORG, GROUP, and USER notifications types.

  • flowName (pulumi.Input[str]) - Flowdock flow name in lower-case letters. Required for the FLOWDOCK notifications type

  • flowdockApiToken (pulumi.Input[str]) - The Flowdock personal API token. Required for the FLOWDOCK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

  • intervalMin (pulumi.Input[float]) - Number of minutes to wait between successive notifications for unacknowledged alerts that are not resolved. The minimum value is 5.

  • mobileNumber (pulumi.Input[str]) - Mobile number to which alert notifications are sent. Required for the SMS notifications type.

  • opsGenieApiKey (pulumi.Input[str]) - Opsgenie API Key. Required for the OPS_GENIE notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

  • opsGenieRegion (pulumi.Input[str]) - Region that indicates which API URL to use. Accepted regions are: US ,EU. The default Opsgenie region is US.

  • orgName (pulumi.Input[str]) - Flowdock organization name in lower-case letters. This is the name that appears after www.flowdock.com/app/ in the URL string. Required for the FLOWDOCK notifications type.

  • roles (pulumi.Input[list])

  • serviceKey (pulumi.Input[str]) - PagerDuty service key. Required for the PAGER_DUTY notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.

  • smsEnabled (pulumi.Input[bool]) - Flag indicating if text message notifications should be sent. Configurable for ORG, GROUP, and USER notifications types.

  • team_id (pulumi.Input[str]) - Unique identifier of a team.

  • typeName (pulumi.Input[str]) - Type of alert notification. Accepted values are:

    • DATADOG

    • EMAIL

    • FLOWDOCK

    • GROUP (Project)

    • OPS_GENIE

    • ORG

    • PAGER_DUTY

    • SLACK

    • SMS

    • TEAM

    • USER

    • VICTOR_OPS

    • WEBHOOK

  • username (pulumi.Input[str]) - Name of the Atlas user to which to send notifications. Only a user in the project that owns the alert configuration is allowed here. Required for the USER notifications type.

  • victorOpsApiKey (pulumi.Input[str]) - VictorOps API key. Required for the VICTOR_OPS notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.

  • victorOpsRoutingKey (pulumi.Input[str]) - VictorOps routing key. Optional for the VICTOR_OPS notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.Auditing(resource_name, opts=None, audit_authorization_success=None, audit_filter=None, enabled=None, project_id=None, __props__=None, __name__=None, __opts__=None)

.Auditing provides an Auditing resource. This allows auditing to be created.

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.Auditing("test",
    audit_authorization_success=False,
    audit_filter="{ 'atype': 'authenticate', 'param': {   'user': 'auditAdmin',   'db': 'admin',   'mechanism': 'SCRAM-SHA-1' }}",
    enabled=True,
    project_id="<project-id>")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • audit_authorization_success (pulumi.Input[bool]) – JSON-formatted audit filter used by the project

  • audit_filter (pulumi.Input[str]) – Indicates whether the auditing system captures successful authentication attempts for audit filters using the “atype” : “authCheck” auditing event. For more information, see auditAuthorizationSuccess

  • enabled (pulumi.Input[bool]) – Denotes whether or not the project associated with the {project_id} has database auditing enabled.

  • project_id (pulumi.Input[str]) – The unique ID for the project to configure auditing.

audit_authorization_success: pulumi.Output[bool] = None

JSON-formatted audit filter used by the project

audit_filter: pulumi.Output[str] = None

Indicates whether the auditing system captures successful authentication attempts for audit filters using the “atype” : “authCheck” auditing event. For more information, see auditAuthorizationSuccess

configuration_type: pulumi.Output[str] = None

Denotes the configuration method for the audit filter. Possible values are:

  • NONE - auditing not configured for the project.

  • FILTER_BUILDER - auditing configured via Atlas UI filter builder.

  • FILTER_JSON - auditing configured via Atlas custom filter or API.

enabled: pulumi.Output[bool] = None

Denotes whether or not the project associated with the {project_id} has database auditing enabled.

project_id: pulumi.Output[str] = None

The unique ID for the project to configure auditing.

static get(resource_name, id, opts=None, audit_authorization_success=None, audit_filter=None, configuration_type=None, enabled=None, project_id=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • audit_authorization_success (pulumi.Input[bool]) – JSON-formatted audit filter used by the project

  • audit_filter (pulumi.Input[str]) – Indicates whether the auditing system captures successful authentication attempts for audit filters using the “atype” : “authCheck” auditing event. For more information, see auditAuthorizationSuccess

  • configuration_type (pulumi.Input[str]) – Denotes the configuration method for the audit filter. Possible values are:

* NONE - auditing not configured for the project.
* FILTER_BUILDER - auditing configured via Atlas UI filter builder.
* FILTER_JSON - auditing configured via Atlas custom filter or API.
Parameters
  • enabled (pulumi.Input[bool]) – Denotes whether or not the project associated with the {project_id} has database auditing enabled.

  • project_id (pulumi.Input[str]) – The unique ID for the project to configure auditing.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.AwaitableGet509AuthenticationDatabaseUserResult(certificates=None, customer_x509_cas=None, id=None, project_id=None, username=None)
class pulumi_mongodbatlas.AwaitableGetAlertConfigurationResult(alert_configuration_id=None, created=None, enabled=None, event_type=None, id=None, matchers=None, metric_threshold=None, notifications=None, project_id=None, updated=None)
class pulumi_mongodbatlas.AwaitableGetAuditingResult(audit_authorization_success=None, audit_filter=None, configuration_type=None, enabled=None, id=None, project_id=None)
class pulumi_mongodbatlas.AwaitableGetCloudProviderSnapshotBackupPolicyResult(cluster_id=None, cluster_name=None, id=None, next_snapshot=None, policies=None, project_id=None, reference_hour_of_day=None, reference_minute_of_hour=None, restore_window_days=None, update_snapshots=None)
class pulumi_mongodbatlas.AwaitableGetCloudProviderSnapshotRestoreJobResult(cancelled=None, cluster_name=None, created_at=None, delivery_type=None, delivery_urls=None, expired=None, expires_at=None, finished_at=None, id=None, job_id=None, project_id=None, snapshot_id=None, target_cluster_name=None, target_project_id=None, timestamp=None)
class pulumi_mongodbatlas.AwaitableGetCloudProviderSnapshotRestoreJobsResult(cluster_name=None, id=None, project_id=None, results=None, total_count=None)
class pulumi_mongodbatlas.AwaitableGetCloudProviderSnapshotResult(cluster_name=None, created_at=None, description=None, expires_at=None, id=None, master_key_uuid=None, mongod_version=None, project_id=None, snapshot_id=None, snapshot_type=None, status=None, storage_size_bytes=None, type=None)
class pulumi_mongodbatlas.AwaitableGetCloudProviderSnapshotsResult(cluster_name=None, id=None, project_id=None, results=None, total_count=None)
class pulumi_mongodbatlas.AwaitableGetClusterResult(auto_scaling_disk_gb_enabled=None, backing_provider_name=None, backup_enabled=None, bi_connector=None, cluster_type=None, connection_strings=None, disk_size_gb=None, encryption_at_rest_provider=None, id=None, labels=None, mongo_db_major_version=None, mongo_db_version=None, mongo_uri=None, mongo_uri_updated=None, mongo_uri_with_options=None, name=None, num_shards=None, paused=None, pit_enabled=None, project_id=None, provider_backup_enabled=None, provider_disk_iops=None, provider_disk_type_name=None, provider_encrypt_ebs_volume=None, provider_instance_size_name=None, provider_name=None, provider_region_name=None, provider_volume_type=None, replication_factor=None, replication_specs=None, snapshot_backup_policies=None, srv_address=None, state_name=None)
class pulumi_mongodbatlas.AwaitableGetClustersResult(id=None, project_id=None, results=None)
class pulumi_mongodbatlas.AwaitableGetCustomDbRoleResult(actions=None, id=None, inherited_roles=None, project_id=None, role_name=None)
class pulumi_mongodbatlas.AwaitableGetCustomDbRolesResult(id=None, project_id=None, results=None)
class pulumi_mongodbatlas.AwaitableGetDatabaseUserResult(auth_database_name=None, database_name=None, id=None, labels=None, project_id=None, roles=None, username=None, x509_type=None)
class pulumi_mongodbatlas.AwaitableGetDatabaseUsersResult(id=None, project_id=None, results=None)
class pulumi_mongodbatlas.AwaitableGetGlobalClusterConfigResult(cluster_name=None, custom_zone_mapping=None, id=None, managed_namespaces=None, project_id=None)
class pulumi_mongodbatlas.AwaitableGetMaintenanceWindowResult(day_of_week=None, hour_of_day=None, id=None, number_of_deferrals=None, project_id=None, start_asap=None)
class pulumi_mongodbatlas.AwaitableGetNetworkContainerResult(atlas_cidr_block=None, azure_subscription_id=None, container_id=None, gcp_project_id=None, id=None, network_name=None, project_id=None, provider_name=None, provisioned=None, region=None, region_name=None, vnet_name=None, vpc_id=None)
class pulumi_mongodbatlas.AwaitableGetNetworkContainersResult(id=None, project_id=None, provider_name=None, results=None)
class pulumi_mongodbatlas.AwaitableGetNetworkPeeringResult(accepter_region_name=None, atlas_cidr_block=None, atlas_id=None, aws_account_id=None, azure_directory_id=None, azure_subscription_id=None, connection_id=None, container_id=None, error_message=None, error_state=None, error_state_name=None, gcp_project_id=None, id=None, network_name=None, peering_id=None, project_id=None, provider_name=None, resource_group_name=None, route_table_cidr_block=None, status=None, status_name=None, vnet_name=None, vpc_id=None)
class pulumi_mongodbatlas.AwaitableGetNetworkPeeringsResult(id=None, project_id=None, results=None)
class pulumi_mongodbatlas.AwaitableGetPrivateEndpointInterfaceLinkResult(connection_status=None, delete_requested=None, error_message=None, id=None, interface_endpoint_id=None, private_link_id=None, project_id=None)
class pulumi_mongodbatlas.AwaitableGetPrivateEndpointResult(endpoint_service_name=None, error_message=None, id=None, interface_endpoints=None, private_link_id=None, project_id=None, status=None)
class pulumi_mongodbatlas.AwaitableGetProjectResult(cluster_count=None, created=None, id=None, name=None, org_id=None, project_id=None, teams=None)
class pulumi_mongodbatlas.AwaitableGetProjectsResult(id=None, results=None, total_count=None)
class pulumi_mongodbatlas.AwaitableGetTeamResult(id=None, name=None, org_id=None, team_id=None, usernames=None)
class pulumi_mongodbatlas.AwaitableGetTeamsResult(id=None, name=None, org_id=None, team_id=None, usernames=None)
class pulumi_mongodbatlas.CloudProviderSnapshot(resource_name, opts=None, cluster_name=None, description=None, project_id=None, retention_in_days=None, __props__=None, __name__=None, __opts__=None)

.CloudProviderSnapshot provides a resource to take a cloud provider 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.

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={
        "download": True,
    })
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • cluster_name (pulumi.Input[str]) – The name of the Atlas cluster that contains the snapshots you want to retrieve.

  • description (pulumi.Input[str]) – Description of the on-demand snapshot.

  • project_id (pulumi.Input[str]) – The unique identifier of the project for the Atlas cluster.

  • retention_in_days (pulumi.Input[float]) – The number of days that Atlas should retain the on-demand snapshot. Must be at least 1.

cluster_name: pulumi.Output[str] = None

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

created_at: pulumi.Output[str] = None

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

description: pulumi.Output[str] = None

Description of the on-demand snapshot.

expires_at: pulumi.Output[str] = None

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

master_key_uuid: pulumi.Output[str] = None

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: pulumi.Output[str] = None

Version of the MongoDB server.

project_id: pulumi.Output[str] = None

The unique identifier of the project for the Atlas cluster.

retention_in_days: pulumi.Output[float] = None

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

snapshot_id: pulumi.Output[str] = None

Unique identifier of the snapshot.

snapshot_type: pulumi.Output[str] = None

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

status: pulumi.Output[str] = None

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

storage_size_bytes: pulumi.Output[float] = None

Specifies the size of the snapshot in bytes.

type: pulumi.Output[str] = None

Specifies the type of cluster: replicaSet or shardedCluster.

static get(resource_name, id, opts=None, cluster_name=None, created_at=None, description=None, expires_at=None, master_key_uuid=None, mongod_version=None, project_id=None, retention_in_days=None, snapshot_id=None, snapshot_type=None, status=None, storage_size_bytes=None, type=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • cluster_name (pulumi.Input[str]) – The name of the Atlas cluster that contains the snapshots you want to retrieve.

  • created_at (pulumi.Input[str]) – UTC ISO 8601 formatted point in time when Atlas took the snapshot.

  • description (pulumi.Input[str]) – Description of the on-demand snapshot.

  • expires_at (pulumi.Input[str]) – UTC ISO 8601 formatted point in time when Atlas will delete the snapshot.

  • master_key_uuid (pulumi.Input[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 (pulumi.Input[str]) – Version of the MongoDB server.

  • project_id (pulumi.Input[str]) – The unique identifier of the project for the Atlas cluster.

  • retention_in_days (pulumi.Input[float]) – The number of days that Atlas should retain the on-demand snapshot. Must be at least 1.

  • snapshot_id (pulumi.Input[str]) – Unique identifier of the snapshot.

  • snapshot_type (pulumi.Input[str]) – Specified the type of snapshot. Valid values are onDemand and scheduled.

  • status (pulumi.Input[str]) – Current status of the snapshot. One of the following values will be returned: queued, inProgress, completed, failed.

  • storage_size_bytes (pulumi.Input[float]) – Specifies the size of the snapshot in bytes.

  • type (pulumi.Input[str]) – Specifies the type of cluster: replicaSet or shardedCluster.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.CloudProviderSnapshotBackupPolicy(resource_name, opts=None, cluster_name=None, policies=None, project_id=None, reference_hour_of_day=None, reference_minute_of_hour=None, restore_window_days=None, update_snapshots=None, __props__=None, __name__=None, __opts__=None)

.CloudProviderSnapshotBackupPolicy provides a resource that enables you to view and modify the snapshot schedule and retention settings for an Atlas cluster with Cloud Provider Snapshots enabled.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

my_cluster = mongodbatlas.Cluster("myCluster",
    project_id="<PROJECT-ID>",
    disk_size_gb=5,
    provider_name="AWS",
    provider_region_name="EU_CENTRAL_1",
    provider_instance_size_name="M10",
    provider_backup_enabled=True,
    provider_disk_iops=100,
    provider_encrypt_ebs_volume=False)
test = mongodbatlas.CloudProviderSnapshotBackupPolicy("test",
    project_id=my_cluster.project_id,
    cluster_name=my_cluster.name,
    reference_hour_of_day=3,
    reference_minute_of_hour=45,
    restore_window_days=4,
    policies=[{
        "id": my_cluster.snapshot_backup_policies[0]["policies"][0]["id"],
        "policy_item": [
            {
                "id": my_cluster.snapshot_backup_policies[0]["policies"][0]["policyItems"][0]["id"],
                "frequencyInterval": 1,
                "frequencyType": "hourly",
                "retentionUnit": "days",
                "retentionValue": 1,
            },
            {
                "id": my_cluster.snapshot_backup_policies[0]["policies"][0]["policyItems"][1]["id"],
                "frequencyInterval": 1,
                "frequencyType": "daily",
                "retentionUnit": "days",
                "retentionValue": 2,
            },
            {
                "id": my_cluster.snapshot_backup_policies[0]["policies"][0]["policyItems"][2]["id"],
                "frequencyInterval": 4,
                "frequencyType": "weekly",
                "retentionUnit": "weeks",
                "retentionValue": 3,
            },
            {
                "id": my_cluster.snapshot_backup_policies[0]["policies"][0]["policyItems"][3]["id"],
                "frequencyInterval": 5,
                "frequencyType": "monthly",
                "retentionUnit": "months",
                "retentionValue": 4,
            },
        ],
    }])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • cluster_name (pulumi.Input[str]) – The name of the Atlas cluster that contains the snapshot backup policy you want to retrieve.

  • policies (pulumi.Input[list]) – Contains a document for each backup policy item in the desired updated backup policy.

* `policies.#.id` - (Required) Unique identifier of the backup policy that you want to update. policies.#.id is a value obtained via the .Cluster resource. provider_backup_enabled of the .Cluster resource must be set to true. See the example above for how to refer to the .Cluster resource for policies.#.id
Parameters
  • project_id (pulumi.Input[str]) – The unique identifier of the project for the Atlas cluster.

  • reference_hour_of_day (pulumi.Input[float]) – UTC Hour of day between 0 and 23, inclusive, representing which hour of the day that Atlas takes snapshots for backup policy items.

  • reference_minute_of_hour (pulumi.Input[float]) – UTC Minutes after referenceHourOfDay that Atlas takes snapshots for backup policy items. Must be between 0 and 59, inclusive.

  • restore_window_days (pulumi.Input[float]) – Number of days back in time you can restore to with point-in-time accuracy. Must be a positive, non-zero integer.

  • update_snapshots (pulumi.Input[bool]) – Specify true to apply the retention changes in the updated backup policy to snapshots that Atlas took previously.

The policies object supports the following:

  • id (pulumi.Input[str])

  • policyItems (pulumi.Input[list])

    • frequencyInterval (pulumi.Input[float])

    • frequencyType (pulumi.Input[str])

    • id (pulumi.Input[str])

    • retentionUnit (pulumi.Input[str])

    • retentionValue (pulumi.Input[float])

cluster_id: pulumi.Output[str] = None

Unique identifier of the Atlas cluster.

cluster_name: pulumi.Output[str] = None

The name of the Atlas cluster that contains the snapshot backup policy you want to retrieve.

next_snapshot: pulumi.Output[str] = None

Timestamp in the number of seconds that have elapsed since the UNIX epoch when Atlas takes the next snapshot.

policies: pulumi.Output[list] = None

Contains a document for each backup policy item in the desired updated backup policy.

  • policies.#.id - (Required) Unique identifier of the backup policy that you want to update. policies.#.id is a value obtained via the .Cluster resource. provider_backup_enabled of the .Cluster resource must be set to true. See the example above for how to refer to the .Cluster resource for policies.#.id

    • id (str)

    • policyItems (list)

      • frequencyInterval (float)

      • frequencyType (str)

      • id (str)

      • retentionUnit (str)

      • retentionValue (float)

project_id: pulumi.Output[str] = None

The unique identifier of the project for the Atlas cluster.

reference_hour_of_day: pulumi.Output[float] = None

UTC Hour of day between 0 and 23, inclusive, representing which hour of the day that Atlas takes snapshots for backup policy items.

reference_minute_of_hour: pulumi.Output[float] = None

UTC Minutes after referenceHourOfDay that Atlas takes snapshots for backup policy items. Must be between 0 and 59, inclusive.

restore_window_days: pulumi.Output[float] = None

Number of days back in time you can restore to with point-in-time accuracy. Must be a positive, non-zero integer.

update_snapshots: pulumi.Output[bool] = None

Specify true to apply the retention changes in the updated backup policy to snapshots that Atlas took previously.

static get(resource_name, id, opts=None, cluster_id=None, cluster_name=None, next_snapshot=None, policies=None, project_id=None, reference_hour_of_day=None, reference_minute_of_hour=None, restore_window_days=None, update_snapshots=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • cluster_id (pulumi.Input[str]) – Unique identifier of the Atlas cluster.

  • cluster_name (pulumi.Input[str]) – The name of the Atlas cluster that contains the snapshot backup policy you want to retrieve.

  • next_snapshot (pulumi.Input[str]) – Timestamp in the number of seconds that have elapsed since the UNIX epoch when Atlas takes the next snapshot.

  • policies (pulumi.Input[list]) – Contains a document for each backup policy item in the desired updated backup policy.

* `policies.#.id` - (Required) Unique identifier of the backup policy that you want to update. policies.#.id is a value obtained via the .Cluster resource. provider_backup_enabled of the .Cluster resource must be set to true. See the example above for how to refer to the .Cluster resource for policies.#.id
Parameters
  • project_id (pulumi.Input[str]) – The unique identifier of the project for the Atlas cluster.

  • reference_hour_of_day (pulumi.Input[float]) – UTC Hour of day between 0 and 23, inclusive, representing which hour of the day that Atlas takes snapshots for backup policy items.

  • reference_minute_of_hour (pulumi.Input[float]) – UTC Minutes after referenceHourOfDay that Atlas takes snapshots for backup policy items. Must be between 0 and 59, inclusive.

  • restore_window_days (pulumi.Input[float]) – Number of days back in time you can restore to with point-in-time accuracy. Must be a positive, non-zero integer.

  • update_snapshots (pulumi.Input[bool]) – Specify true to apply the retention changes in the updated backup policy to snapshots that Atlas took previously.

The policies object supports the following:

  • id (pulumi.Input[str])

  • policyItems (pulumi.Input[list])

    • frequencyInterval (pulumi.Input[float])

    • frequencyType (pulumi.Input[str])

    • id (pulumi.Input[str])

    • retentionUnit (pulumi.Input[str])

    • retentionValue (pulumi.Input[float])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.CloudProviderSnapshotRestoreJob(resource_name, opts=None, cluster_name=None, delivery_type=None, project_id=None, snapshot_id=None, __props__=None, __name__=None, __opts__=None)

.CloudProviderSnapshotRestoreJob provides a resource to create a new restore job from a cloud provider snapshot of a specified cluster. The restore job can be one of two types:

  • automated: Atlas automatically restores the snapshot with snapshotId to the Atlas cluster with name targetClusterName in the Atlas project with targetGroupId.

  • download: Atlas provides a URL to download a .tar.gz of the snapshot with snapshotId. The contents of the archive contain the data files for your Atlas cluster.

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

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={
        "automated": True,
        "target_cluster_name": "MyCluster",
        "target_project_id": "5cf5a45a9ccf6400e60981b6",
    })
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={
        "download": True,
    })
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • cluster_name (pulumi.Input[str]) – The name of the Atlas cluster whose snapshot you want to restore.

  • delivery_type (pulumi.Input[dict]) – Type of restore job to create. Possible values are: download or automated, only one must be set it in true.

  • project_id (pulumi.Input[str]) – The unique identifier of the project for the Atlas cluster whose snapshot you want to restore.

  • snapshot_id (pulumi.Input[str]) – Unique identifier of the snapshot to restore.

The delivery_type object supports the following:

  • automated (pulumi.Input[bool])

  • download (pulumi.Input[bool])

  • target_cluster_name (pulumi.Input[str]) - Name of the target Atlas cluster to which the restore job restores the snapshot. Only required if deliveryType is automated.

  • target_project_id (pulumi.Input[str])

cancelled: pulumi.Output[bool] = None

Indicates whether the restore job was canceled.

cluster_name: pulumi.Output[str] = None

The name of the Atlas cluster whose snapshot you want to restore.

created_at: pulumi.Output[str] = None

UTC ISO 8601 formatted point in time when Atlas created the restore job.

delivery_type: pulumi.Output[dict] = None

Type of restore job to create. Possible values are: download or automated, only one must be set it in true.

  • automated (bool)

  • download (bool)

  • target_cluster_name (str) - Name of the target Atlas cluster to which the restore job restores the snapshot. Only required if deliveryType is automated.

  • target_project_id (str)

delivery_urls: pulumi.Output[list] = None

One or more URLs for the compressed snapshot files for manual download. Only visible if deliveryType is download.

expired: pulumi.Output[bool] = None

Indicates whether the restore job expired.

expires_at: pulumi.Output[str] = None

UTC ISO 8601 formatted point in time when the restore job expires.

finished_at: pulumi.Output[str] = None

UTC ISO 8601 formatted point in time when the restore job completed.

project_id: pulumi.Output[str] = None

The unique identifier of the project for the Atlas cluster whose snapshot you want to restore.

snapshot_id: pulumi.Output[str] = None

Unique identifier of the snapshot to restore.

snapshot_restore_job_id: pulumi.Output[str] = None

The unique identifier of the restore job.

timestamp: pulumi.Output[str] = None

Timestamp in ISO 8601 date and time format in UTC when the snapshot associated to snapshotId was taken.

static get(resource_name, id, opts=None, cancelled=None, cluster_name=None, created_at=None, delivery_type=None, delivery_urls=None, expired=None, expires_at=None, finished_at=None, project_id=None, snapshot_id=None, snapshot_restore_job_id=None, timestamp=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • cancelled (pulumi.Input[bool]) – Indicates whether the restore job was canceled.

  • cluster_name (pulumi.Input[str]) – The name of the Atlas cluster whose snapshot you want to restore.

  • created_at (pulumi.Input[str]) – UTC ISO 8601 formatted point in time when Atlas created the restore job.

  • delivery_type (pulumi.Input[dict]) – Type of restore job to create. Possible values are: download or automated, only one must be set it in true.

  • delivery_urls (pulumi.Input[list]) – One or more URLs for the compressed snapshot files for manual download. Only visible if deliveryType is download.

  • expired (pulumi.Input[bool]) – Indicates whether the restore job expired.

  • expires_at (pulumi.Input[str]) – UTC ISO 8601 formatted point in time when the restore job expires.

  • finished_at (pulumi.Input[str]) – UTC ISO 8601 formatted point in time when the restore job completed.

  • project_id (pulumi.Input[str]) – The unique identifier of the project for the Atlas cluster whose snapshot you want to restore.

  • snapshot_id (pulumi.Input[str]) – Unique identifier of the snapshot to restore.

  • snapshot_restore_job_id (pulumi.Input[str]) – The unique identifier of the restore job.

  • timestamp (pulumi.Input[str]) – Timestamp in ISO 8601 date and time format in UTC when the snapshot associated to snapshotId was taken.

The delivery_type object supports the following:

  • automated (pulumi.Input[bool])

  • download (pulumi.Input[bool])

  • target_cluster_name (pulumi.Input[str]) - Name of the target Atlas cluster to which the restore job restores the snapshot. Only required if deliveryType is automated.

  • target_project_id (pulumi.Input[str])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.Cluster(resource_name, opts=None, advanced_configuration=None, auto_scaling_disk_gb_enabled=None, backing_provider_name=None, backup_enabled=None, bi_connector=None, cluster_type=None, disk_size_gb=None, encryption_at_rest_provider=None, labels=None, mongo_db_major_version=None, name=None, num_shards=None, pit_enabled=None, project_id=None, provider_backup_enabled=None, provider_disk_iops=None, provider_disk_type_name=None, provider_encrypt_ebs_volume=None, provider_instance_size_name=None, provider_name=None, provider_region_name=None, provider_volume_type=None, replication_factor=None, replication_specs=None, __props__=None, __name__=None, __opts__=None)

.Cluster provides a Cluster resource. The resource lets you create, edit and delete clusters. The resource requires your Project ID.

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

IMPORTANT:
&#8226; Free tier cluster creation (M0) is not supported via API or by this Provider.
&#8226; Shared tier clusters (M2, M5) cannot be upgraded to higher tiers via API or by this Provider.
&#8226; Changes to cluster configurations can affect costs. Before making changes, please see Billing.
&#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role.

import pulumi
import pulumi_mongodbatlas as mongodbatlas

cluster_test = mongodbatlas.Cluster("cluster-test",
    auto_scaling_disk_gb_enabled=True,
    disk_size_gb=100,
    mongo_db_major_version="4.0",
    num_shards=1,
    project_id="<YOUR-PROJECT-ID>",
    provider_backup_enabled=True,
    provider_disk_iops=300,
    provider_encrypt_ebs_volume=True,
    provider_instance_size_name="M40",
    provider_name="AWS",
    provider_region_name="US_EAST_1",
    provider_volume_type="STANDARD",
    replication_factor=3)
import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.Cluster("test",
    auto_scaling_disk_gb_enabled=True,
    mongo_db_major_version="4.0",
    num_shards=1,
    project_id="<YOUR-PROJECT-ID>",
    provider_backup_enabled=True,
    provider_disk_type_name="P6",
    provider_instance_size_name="M30",
    provider_name="AZURE",
    provider_region_name="US_EAST_2",
    replication_factor=3)
import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.Cluster("test",
    auto_scaling_disk_gb_enabled=True,
    disk_size_gb=40,
    mongo_db_major_version="4.0",
    num_shards=1,
    project_id="<YOUR-PROJECT-ID>",
    provider_backup_enabled=True,
    provider_instance_size_name="M30",
    provider_name="GCP",
    provider_region_name="US_EAST_4",
    replication_factor=3)
import pulumi
import pulumi_mongodbatlas as mongodbatlas

cluster_test = mongodbatlas.Cluster("cluster-test",
    cluster_type="REPLICASET",
    disk_size_gb=100,
    num_shards=1,
    project_id="<YOUR-PROJECT-ID>",
    provider_backup_enabled=True,
    provider_disk_iops=300,
    provider_instance_size_name="M10",
    provider_name="AWS",
    provider_volume_type="STANDARD",
    replication_specs=[{
        "num_shards": 1,
        "regionsConfig": [
            {
                "electableNodes": 3,
                "priority": 7,
                "readOnlyNodes": 0,
                "region_name": "US_EAST_1",
            },
            {
                "electableNodes": 2,
                "priority": 6,
                "readOnlyNodes": 0,
                "region_name": "US_EAST_2",
            },
            {
                "electableNodes": 2,
                "priority": 5,
                "readOnlyNodes": 2,
                "region_name": "US_WEST_1",
            },
        ],
    }])
import pulumi
import pulumi_mongodbatlas as mongodbatlas

cluster_test = mongodbatlas.Cluster("cluster-test",
    cluster_type="GEOSHARDED",
    disk_size_gb=80,
    num_shards=1,
    project_id="<YOUR-PROJECT-ID>",
    provider_backup_enabled=True,
    provider_disk_iops=240,
    provider_instance_size_name="M30",
    provider_name="AWS",
    provider_volume_type="STANDARD",
    replication_specs=[
        {
            "num_shards": 2,
            "regionsConfig": [{
                "electableNodes": 3,
                "priority": 7,
                "readOnlyNodes": 0,
                "region_name": "US_EAST_1",
            }],
            "zoneName": "Zone 1",
        },
        {
            "num_shards": 2,
            "regionsConfig": [{
                "electableNodes": 3,
                "priority": 7,
                "readOnlyNodes": 0,
                "region_name": "EU_CENTRAL_1",
            }],
            "zoneName": "Zone 2",
        },
    ])
import pulumi
import pulumi_mongodbatlas as mongodbatlas

cluster_test = mongodbatlas.Cluster("cluster-test",
    auto_scaling_disk_gb_enabled="false",
    backing_provider_name="AWS",
    disk_size_gb="2",
    mongo_db_major_version="4.2",
    project_id="<YOUR-PROJECT-ID>",
    provider_instance_size_name="M2",
    provider_name="TENANT",
    provider_region_name="US_EAST_1")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • auto_scaling_disk_gb_enabled (pulumi.Input[bool]) – Specifies whether disk auto-scaling is enabled. The default is true.

- Set to `true` to enable disk auto-scaling.
- Set to `false` to disable disk auto-scaling.
Parameters
  • backing_provider_name (pulumi.Input[str]) – Cloud service provider on which the server for a multi-tenant cluster is provisioned.

  • backup_enabled (pulumi.Input[bool]) – Legacy Option - Set to true to enable Atlas continuous backups for the cluster.

  • bi_connector (pulumi.Input[dict]) – Specifies BI Connector for Atlas configuration on this cluster. BI Connector for Atlas is only available for M10+ clusters. See BI Connector below for more details.

  • cluster_type (pulumi.Input[str]) – Specifies the type of the cluster that you want to modify. You cannot convert a sharded cluster deployment to a replica set deployment.

  • disk_size_gb (pulumi.Input[float]) – The size in gigabytes of the server’s root volume. You can add capacity by increasing this number, up to a maximum possible value of 4096 (i.e., 4 TB). This value must be a positive integer.

  • encryption_at_rest_provider (pulumi.Input[str]) – Set the Encryption at Rest parameter. Possible values are AWS, GCP, AZURE or NONE. Requires M10 or greater and for backup_enabled to be false or omitted.

  • labels (pulumi.Input[list]) – Array containing key-value pairs that tag and categorize the cluster. Each key and value has a maximum length of 255 characters. You cannot set the key Infrastructure Tool, it is used for internal purposes to track aggregate usage.

  • mongo_db_major_version (pulumi.Input[str]) – Version of the cluster to deploy. Atlas supports the following MongoDB versions for M10+ clusters: 3.6, 4.0, or 4.2. You must set this value to 4.2 if provider_instance_size_name is either M2 or M5.

  • name (pulumi.Input[str]) – Name of the cluster as it appears in Atlas. Once the cluster is created, its name cannot be changed.

  • num_shards (pulumi.Input[float]) – Number of shards to deploy in the specified zone.

  • pit_enabled (pulumi.Input[bool]) –

    • Flag that indicates if the cluster uses Point-in-Time backups. If set to true, provider_backup_enabled must also be set to true.

  • project_id (pulumi.Input[str]) – The unique ID for the project to create the database user.

  • provider_backup_enabled (pulumi.Input[bool]) – Flag indicating if the cluster uses Cloud Provider Snapshots for backups.

  • provider_disk_iops (pulumi.Input[float]) – The maximum input/output operations per second (IOPS) the system can perform. The possible values depend on the selected providerSettings.instanceSizeName and diskSizeGB.

  • provider_disk_type_name (pulumi.Input[str]) – Azure disk type of the server’s root volume. If omitted, Atlas uses the default disk type for the selected providerSettings.instanceSizeName. Example disk types and associated storage sizes: P4 - 32GB, P6 - 64GB, P10 - 128GB, P20 - 512GB, P30 - 1024GB, P40 - 2048GB, P50 - 4095GB. More information and the most update to date disk types/storage sizes can be located at https://docs.atlas.mongodb.com/reference/api/clusters-create-one/.

  • provider_encrypt_ebs_volume (pulumi.Input[bool]) – If enabled, the Amazon EBS encryption feature encrypts the server’s root volume for both data at rest within the volume and for data moving between the volume and the instance.

  • provider_instance_size_name (pulumi.Input[str]) – Atlas provides different instance sizes, each with a default storage capacity and RAM size. The instance size you select is used for all the data-bearing servers in your cluster. See Create a Cluster providerSettings.instanceSizeName for valid values and default resources.

  • provider_name (pulumi.Input[str]) – Cloud service provider on which the servers are provisioned.

  • provider_region_name (pulumi.Input[str]) – Physical location of your MongoDB cluster. The region you choose can affect network latency for clients accessing your databases. Requires the Atlas Region name, see the reference list for AWS, GCP, Azure. Do not specify this field when creating a multi-region cluster using the replicationSpec document or a Global Cluster with the replicationSpecs array.

  • provider_volume_type (pulumi.Input[str]) – The type of the volume. The possible values are: STANDARD and PROVISIONED. PROVISIONED required if setting IOPS higher than the default instance IOPS.

  • replication_factor (pulumi.Input[float]) – Number of replica set members. Each member keeps a copy of your databases, providing high availability and data redundancy. The possible values are 3, 5, or 7. The default value is 3.

  • replication_specs (pulumi.Input[list]) – Configuration for cluster regions. See Replication Spec below for more details.

The advanced_configuration object supports the following:

  • fail_index_key_too_long (pulumi.Input[bool]) - When true, documents can only be updated or inserted if, for all indexed fields on the target collection, the corresponding index entries do not exceed 1024 bytes. When false, mongod writes documents that exceed the limit but does not index them.

  • javascript_enabled (pulumi.Input[bool]) - When true, the cluster allows execution of operations that perform server-side executions of JavaScript. When false, the cluster disables execution of those operations.

  • minimum_enabled_tls_protocol (pulumi.Input[str]) - Sets the minimum Transport Layer Security (TLS) version the cluster accepts for incoming connections.Valid values are:

  • no_table_scan (pulumi.Input[bool]) - When true, the cluster disables the execution of any query that requires a collection scan to return results. When false, the cluster allows the execution of those operations.

  • oplog_size_mb (pulumi.Input[float]) - The custom oplog size of the cluster. Without a value that indicates that the cluster uses the default oplog size calculated by Atlas.

  • sample_refresh_interval_bi_connector (pulumi.Input[float]) - Interval in seconds at which the mongosqld process re-samples data to create its relational schema. The default value is 300. The specified value must be a positive integer. Available only for Atlas deployments in which BI Connector for Atlas is enabled.

  • sample_size_bi_connector (pulumi.Input[float]) - Number of documents per database to sample when gathering schema information. Defaults to 100. Available only for Atlas deployments in which BI Connector for Atlas is enabled.

The bi_connector object supports the following:

  • enabled (pulumi.Input[str]) - Specifies whether or not BI Connector for Atlas is enabled on the cluster.

    • Set to true to enable BI Connector for Atlas.

    • Set to false to disable BI Connector for Atlas.

  • read_preference (pulumi.Input[str]) - Specifies the read preference to be used by BI Connector for Atlas on the cluster. Each BI Connector for Atlas read preference contains a distinct combination of readPreference and readPreferenceTags options. For details on BI Connector for Atlas read preferences, refer to the BI Connector Read Preferences Table.

The labels object supports the following:

  • key (pulumi.Input[str]) - The key that you want to write.

  • value (pulumi.Input[str]) - The value that you want to write.

The replication_specs object supports the following:

  • id (pulumi.Input[str]) - Unique identifer of the replication document for a zone in a Global Cluster.

  • num_shards (pulumi.Input[float]) - Number of shards to deploy in the specified zone.

  • regionsConfigs (pulumi.Input[list]) - Physical location of the region. Each regionsConfig document describes the region’s priority in elections and the number and type of MongoDB nodes Atlas deploys to the region. You must order each regionsConfigs document by regionsConfig.priority, descending. See Region Config below for more details.

    • analyticsNodes (pulumi.Input[float]) - The number of analytics nodes for Atlas to deploy to the region. Analytics nodes are useful for handling analytic data such as reporting queries from BI Connector for Atlas. Analytics nodes are read-only, and can never become the primary.

    • electableNodes (pulumi.Input[float]) - Number of electable nodes for Atlas to deploy to the region. Electable nodes can become the primary and can facilitate local reads.

    • priority (pulumi.Input[float]) - Election priority of the region. For regions with only read-only nodes, set this value to 0.

    • readOnlyNodes (pulumi.Input[float]) - Number of read-only nodes for Atlas to deploy to the region. Read-only nodes can never become the primary, but can facilitate local-reads. Specify 0 if you do not want any read-only nodes in the region.

    • region_name (pulumi.Input[str]) - Name for the region specified.

  • zoneName (pulumi.Input[str]) - Name for the zone in a Global Cluster.

auto_scaling_disk_gb_enabled: pulumi.Output[bool] = None

Specifies whether disk auto-scaling is enabled. The default is true.

  • Set to true to enable disk auto-scaling.

  • Set to false to disable disk auto-scaling.

backing_provider_name: pulumi.Output[str] = None

Cloud service provider on which the server for a multi-tenant cluster is provisioned.

backup_enabled: pulumi.Output[bool] = None

Legacy Option - Set to true to enable Atlas continuous backups for the cluster.

bi_connector: pulumi.Output[dict] = None

Specifies BI Connector for Atlas configuration on this cluster. BI Connector for Atlas is only available for M10+ clusters. See BI Connector below for more details.

  • enabled (str) - Specifies whether or not BI Connector for Atlas is enabled on the cluster.

    • Set to true to enable BI Connector for Atlas.

    • Set to false to disable BI Connector for Atlas.

  • read_preference (str) - Specifies the read preference to be used by BI Connector for Atlas on the cluster. Each BI Connector for Atlas read preference contains a distinct combination of readPreference and readPreferenceTags options. For details on BI Connector for Atlas read preferences, refer to the BI Connector Read Preferences Table.

cluster_id: pulumi.Output[str] = None

The cluster ID.

cluster_type: pulumi.Output[str] = None

Specifies the type of the cluster that you want to modify. You cannot convert a sharded cluster deployment to a replica set deployment.

connection_strings: pulumi.Output[dict] = None

Set of connection strings that your applications use to connect to this cluster. More info in Connection-strings. Use the parameters in this object to connect your applications to this cluster. To learn more about the formats of connection strings, see Connection String Options. NOTE: Atlas returns the contents of this object after the cluster is operational, not while it builds the cluster.

  • connection_strings.standard - Public mongodb:// connection string for this cluster.

  • connection_strings.standard_srv - Public mongodb+srv:// connection string for this cluster. The mongodb+srv protocol tells the driver to look up the seed list of hosts in DNS. Atlas synchronizes this list with the nodes in a cluster. If the connection string uses this URI format, you don’t need to append the seed list or change the URI if the nodes change. Use this URI format if your driver supports it. If it doesn’t, use connectionStrings.standard.

  • connection_strings.aws_private_link - Private-endpoint-aware mongodb://connection strings for each interface VPC endpoint you configured to connect to this cluster. Returned only if you created a AWS PrivateLink connection to this cluster.

  • connection_strings.aws_private_link_srv - Private-endpoint-aware mongodb+srv://connection strings for each interface VPC endpoint you configured to connect to this cluster. Returned only if you created a AWS PrivateLink connection to this cluster. Use this URI format if your driver supports it. If it doesn’t, use connectionStrings.awsPrivateLink.

  • connection_strings.private - Network-peering-endpoint-aware mongodb://connection strings for each interface VPC endpoint you configured to connect to this cluster. Returned only if you created a network peering connection to this cluster.

  • connection_strings.private_srv - Network-peering-endpoint-aware mongodb+srv://connection strings for each interface VPC endpoint you configured to connect to this cluster. Returned only if you created a network peering connection to this cluster.

    • awsPrivateLink (dict)

    • awsPrivateLinkSrv (dict)

    • private (str)

    • privateSrv (str)

    • standard (str)

    • standardSrv (str)

disk_size_gb: pulumi.Output[float] = None

The size in gigabytes of the server’s root volume. You can add capacity by increasing this number, up to a maximum possible value of 4096 (i.e., 4 TB). This value must be a positive integer.

encryption_at_rest_provider: pulumi.Output[str] = None

Set the Encryption at Rest parameter. Possible values are AWS, GCP, AZURE or NONE. Requires M10 or greater and for backup_enabled to be false or omitted.

labels: pulumi.Output[list] = None

Array containing key-value pairs that tag and categorize the cluster. Each key and value has a maximum length of 255 characters. You cannot set the key Infrastructure Tool, it is used for internal purposes to track aggregate usage.

  • key (str) - The key that you want to write.

  • value (str) - The value that you want to write.

mongo_db_major_version: pulumi.Output[str] = None

Version of the cluster to deploy. Atlas supports the following MongoDB versions for M10+ clusters: 3.6, 4.0, or 4.2. You must set this value to 4.2 if provider_instance_size_name is either M2 or M5.

mongo_db_version: pulumi.Output[str] = None

Version of MongoDB the cluster runs, in major-version.minor-version format.

mongo_uri: pulumi.Output[str] = None

Base connection string for the cluster. Atlas only displays this field after the cluster is operational, not while it builds the cluster.

mongo_uri_updated: pulumi.Output[str] = None

Lists when the connection string was last updated. The connection string changes, for example, if you change a replica set to a sharded cluster.

mongo_uri_with_options: pulumi.Output[str] = None

connection string for connecting to the Atlas cluster. Includes the replicaSet, ssl, and authSource query parameters in the connection string with values appropriate for the cluster.

name: pulumi.Output[str] = None

Name of the cluster as it appears in Atlas. Once the cluster is created, its name cannot be changed.

num_shards: pulumi.Output[float] = None

Number of shards to deploy in the specified zone.

paused: pulumi.Output[bool] = None

Flag that indicates whether the cluster is paused or not.

pit_enabled: pulumi.Output[bool] = None
  • Flag that indicates if the cluster uses Point-in-Time backups. If set to true, provider_backup_enabled must also be set to true.

project_id: pulumi.Output[str] = None

The unique ID for the project to create the database user.

provider_backup_enabled: pulumi.Output[bool] = None

Flag indicating if the cluster uses Cloud Provider Snapshots for backups.

provider_disk_iops: pulumi.Output[float] = None

The maximum input/output operations per second (IOPS) the system can perform. The possible values depend on the selected providerSettings.instanceSizeName and diskSizeGB.

provider_disk_type_name: pulumi.Output[str] = None

Azure disk type of the server’s root volume. If omitted, Atlas uses the default disk type for the selected providerSettings.instanceSizeName. Example disk types and associated storage sizes: P4 - 32GB, P6 - 64GB, P10 - 128GB, P20 - 512GB, P30 - 1024GB, P40 - 2048GB, P50 - 4095GB. More information and the most update to date disk types/storage sizes can be located at https://docs.atlas.mongodb.com/reference/api/clusters-create-one/.

provider_encrypt_ebs_volume: pulumi.Output[bool] = None

If enabled, the Amazon EBS encryption feature encrypts the server’s root volume for both data at rest within the volume and for data moving between the volume and the instance.

provider_instance_size_name: pulumi.Output[str] = None

Atlas provides different instance sizes, each with a default storage capacity and RAM size. The instance size you select is used for all the data-bearing servers in your cluster. See Create a Cluster providerSettings.instanceSizeName for valid values and default resources.

provider_name: pulumi.Output[str] = None

Cloud service provider on which the servers are provisioned.

provider_region_name: pulumi.Output[str] = None

Physical location of your MongoDB cluster. The region you choose can affect network latency for clients accessing your databases. Requires the Atlas Region name, see the reference list for AWS, GCP, Azure. Do not specify this field when creating a multi-region cluster using the replicationSpec document or a Global Cluster with the replicationSpecs array.

provider_volume_type: pulumi.Output[str] = None

The type of the volume. The possible values are: STANDARD and PROVISIONED. PROVISIONED required if setting IOPS higher than the default instance IOPS.

replication_factor: pulumi.Output[float] = None

Number of replica set members. Each member keeps a copy of your databases, providing high availability and data redundancy. The possible values are 3, 5, or 7. The default value is 3.

replication_specs: pulumi.Output[list] = None

Configuration for cluster regions. See Replication Spec below for more details.

  • id (str) - Unique identifer of the replication document for a zone in a Global Cluster.

  • num_shards (float) - Number of shards to deploy in the specified zone.

  • regionsConfigs (list) - Physical location of the region. Each regionsConfig document describes the region’s priority in elections and the number and type of MongoDB nodes Atlas deploys to the region. You must order each regionsConfigs document by regionsConfig.priority, descending. See Region Config below for more details.

    • analyticsNodes (float) - The number of analytics nodes for Atlas to deploy to the region. Analytics nodes are useful for handling analytic data such as reporting queries from BI Connector for Atlas. Analytics nodes are read-only, and can never become the primary.

    • electableNodes (float) - Number of electable nodes for Atlas to deploy to the region. Electable nodes can become the primary and can facilitate local reads.

    • priority (float) - Election priority of the region. For regions with only read-only nodes, set this value to 0.

    • readOnlyNodes (float) - Number of read-only nodes for Atlas to deploy to the region. Read-only nodes can never become the primary, but can facilitate local-reads. Specify 0 if you do not want any read-only nodes in the region.

    • region_name (str) - Name for the region specified.

  • zoneName (str) - Name for the zone in a Global Cluster.

snapshot_backup_policies: pulumi.Output[list] = None

current snapshot schedule and retention settings for the cluster.

  • cluster_id (str) - The cluster ID.

  • cluster_name (str)

  • next_snapshot (str)

  • policies (list)

    • id (str) - Unique identifer of the replication document for a zone in a Global Cluster.

    • policyItems (list)

      • frequencyInterval (float)

      • frequencyType (str)

      • id (str) - Unique identifer of the replication document for a zone in a Global Cluster.

      • retentionUnit (str)

      • retentionValue (float)

  • reference_hour_of_day (float)

  • reference_minute_of_hour (float)

  • restore_window_days (float)

  • update_snapshots (bool)

srv_address: pulumi.Output[str] = None

Connection string for connecting to the Atlas cluster. The +srv modifier forces the connection to use TLS/SSL. See the mongoURI for additional options.

state_name: pulumi.Output[str] = None

Current state of the cluster. The possible states are:

  • IDLE

  • CREATING

  • UPDATING

  • DELETING

  • DELETED

  • REPAIRING

static get(resource_name, id, opts=None, advanced_configuration=None, auto_scaling_disk_gb_enabled=None, backing_provider_name=None, backup_enabled=None, bi_connector=None, cluster_id=None, cluster_type=None, connection_strings=None, disk_size_gb=None, encryption_at_rest_provider=None, labels=None, mongo_db_major_version=None, mongo_db_version=None, mongo_uri=None, mongo_uri_updated=None, mongo_uri_with_options=None, name=None, num_shards=None, paused=None, pit_enabled=None, project_id=None, provider_backup_enabled=None, provider_disk_iops=None, provider_disk_type_name=None, provider_encrypt_ebs_volume=None, provider_instance_size_name=None, provider_name=None, provider_region_name=None, provider_volume_type=None, replication_factor=None, replication_specs=None, snapshot_backup_policies=None, srv_address=None, state_name=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • auto_scaling_disk_gb_enabled (pulumi.Input[bool]) – Specifies whether disk auto-scaling is enabled. The default is true.

- Set to `true` to enable disk auto-scaling.
- Set to `false` to disable disk auto-scaling.
Parameters
  • backing_provider_name (pulumi.Input[str]) – Cloud service provider on which the server for a multi-tenant cluster is provisioned.

  • backup_enabled (pulumi.Input[bool]) – Legacy Option - Set to true to enable Atlas continuous backups for the cluster.

  • bi_connector (pulumi.Input[dict]) – Specifies BI Connector for Atlas configuration on this cluster. BI Connector for Atlas is only available for M10+ clusters. See BI Connector below for more details.

  • cluster_id (pulumi.Input[str]) – The cluster ID.

  • cluster_type (pulumi.Input[str]) – Specifies the type of the cluster that you want to modify. You cannot convert a sharded cluster deployment to a replica set deployment.

  • connection_strings (pulumi.Input[dict]) –

    Set of connection strings that your applications use to connect to this cluster. More info in Connection-strings. Use the parameters in this object to connect your applications to this cluster. To learn more about the formats of connection strings, see Connection String Options. NOTE: Atlas returns the contents of this object after the cluster is operational, not while it builds the cluster.

- `connection_strings.standard` -   Public mongodb:// connection string for this cluster.
- `connection_strings.standard_srv` - Public mongodb+srv:// connection string for this cluster. The mongodb+srv protocol tells the driver to look up the seed list of hosts in DNS. Atlas synchronizes this list with the nodes in a cluster. If the connection string uses this URI format, you don’t need to append the seed list or change the URI if the nodes change. Use this URI format if your driver supports it. If it doesn’t, use connectionStrings.standard.
- `connection_strings.aws_private_link` -  [Private-endpoint-aware](https://docs.atlas.mongodb.com/security-private-endpoint/#private-endpoint-connection-strings) mongodb://connection strings for each interface VPC endpoint you configured to connect to this cluster. Returned only if you created a AWS PrivateLink connection to this cluster.
- `connection_strings.aws_private_link_srv` - [Private-endpoint-aware](https://docs.atlas.mongodb.com/security-private-endpoint/#private-endpoint-connection-strings) mongodb+srv://connection strings for each interface VPC endpoint you configured to connect to this cluster. Returned only if you created a AWS PrivateLink connection to this cluster. Use this URI format if your driver supports it. If it doesn’t, use connectionStrings.awsPrivateLink.
- `connection_strings.private` -   [Network-peering-endpoint-aware](https://docs.atlas.mongodb.com/security-vpc-peering/#vpc-peering) mongodb://connection strings for each interface VPC endpoint you configured to connect to this cluster. Returned only if you created a network peering connection to this cluster.
- `connection_strings.private_srv` -  [Network-peering-endpoint-aware](https://docs.atlas.mongodb.com/security-vpc-peering/#vpc-peering) mongodb+srv://connection strings for each interface VPC endpoint you configured to connect to this cluster. Returned only if you created a network peering connection to this cluster.
Parameters
  • disk_size_gb (pulumi.Input[float]) – The size in gigabytes of the server’s root volume. You can add capacity by increasing this number, up to a maximum possible value of 4096 (i.e., 4 TB). This value must be a positive integer.

  • encryption_at_rest_provider (pulumi.Input[str]) – Set the Encryption at Rest parameter. Possible values are AWS, GCP, AZURE or NONE. Requires M10 or greater and for backup_enabled to be false or omitted.

  • labels (pulumi.Input[list]) – Array containing key-value pairs that tag and categorize the cluster. Each key and value has a maximum length of 255 characters. You cannot set the key Infrastructure Tool, it is used for internal purposes to track aggregate usage.

  • mongo_db_major_version (pulumi.Input[str]) – Version of the cluster to deploy. Atlas supports the following MongoDB versions for M10+ clusters: 3.6, 4.0, or 4.2. You must set this value to 4.2 if provider_instance_size_name is either M2 or M5.

  • mongo_db_version (pulumi.Input[str]) – Version of MongoDB the cluster runs, in major-version.minor-version format.

  • mongo_uri (pulumi.Input[str]) – Base connection string for the cluster. Atlas only displays this field after the cluster is operational, not while it builds the cluster.

  • mongo_uri_updated (pulumi.Input[str]) – Lists when the connection string was last updated. The connection string changes, for example, if you change a replica set to a sharded cluster.

  • mongo_uri_with_options (pulumi.Input[str]) – connection string for connecting to the Atlas cluster. Includes the replicaSet, ssl, and authSource query parameters in the connection string with values appropriate for the cluster.

  • name (pulumi.Input[str]) – Name of the cluster as it appears in Atlas. Once the cluster is created, its name cannot be changed.

  • num_shards (pulumi.Input[float]) – Number of shards to deploy in the specified zone.

  • paused (pulumi.Input[bool]) – Flag that indicates whether the cluster is paused or not.

  • pit_enabled (pulumi.Input[bool]) –

    • Flag that indicates if the cluster uses Point-in-Time backups. If set to true, provider_backup_enabled must also be set to true.

  • project_id (pulumi.Input[str]) – The unique ID for the project to create the database user.

  • provider_backup_enabled (pulumi.Input[bool]) – Flag indicating if the cluster uses Cloud Provider Snapshots for backups.

  • provider_disk_iops (pulumi.Input[float]) – The maximum input/output operations per second (IOPS) the system can perform. The possible values depend on the selected providerSettings.instanceSizeName and diskSizeGB.

  • provider_disk_type_name (pulumi.Input[str]) – Azure disk type of the server’s root volume. If omitted, Atlas uses the default disk type for the selected providerSettings.instanceSizeName. Example disk types and associated storage sizes: P4 - 32GB, P6 - 64GB, P10 - 128GB, P20 - 512GB, P30 - 1024GB, P40 - 2048GB, P50 - 4095GB. More information and the most update to date disk types/storage sizes can be located at https://docs.atlas.mongodb.com/reference/api/clusters-create-one/.

  • provider_encrypt_ebs_volume (pulumi.Input[bool]) – If enabled, the Amazon EBS encryption feature encrypts the server’s root volume for both data at rest within the volume and for data moving between the volume and the instance.

  • provider_instance_size_name (pulumi.Input[str]) –

    Atlas provides different instance sizes, each with a default storage capacity and RAM size. The instance size you select is used for all the data-bearing servers in your cluster. See Create a Cluster providerSettings.instanceSizeName for valid values and default resources.

  • provider_name (pulumi.Input[str]) – Cloud service provider on which the servers are provisioned.

  • provider_region_name (pulumi.Input[str]) –

    Physical location of your MongoDB cluster. The region you choose can affect network latency for clients accessing your databases. Requires the Atlas Region name, see the reference list for AWS, GCP, Azure. Do not specify this field when creating a multi-region cluster using the replicationSpec document or a Global Cluster with the replicationSpecs array.

  • provider_volume_type (pulumi.Input[str]) – The type of the volume. The possible values are: STANDARD and PROVISIONED. PROVISIONED required if setting IOPS higher than the default instance IOPS.

  • replication_factor (pulumi.Input[float]) – Number of replica set members. Each member keeps a copy of your databases, providing high availability and data redundancy. The possible values are 3, 5, or 7. The default value is 3.

  • replication_specs (pulumi.Input[list]) – Configuration for cluster regions. See Replication Spec below for more details.

  • snapshot_backup_policies (pulumi.Input[list]) – current snapshot schedule and retention settings for the cluster.

  • srv_address (pulumi.Input[str]) – Connection string for connecting to the Atlas cluster. The +srv modifier forces the connection to use TLS/SSL. See the mongoURI for additional options.

  • state_name (pulumi.Input[str]) – Current state of the cluster. The possible states are:

- IDLE
- CREATING
- UPDATING
- DELETING
- DELETED
- REPAIRING

The advanced_configuration object supports the following:

  • fail_index_key_too_long (pulumi.Input[bool]) - When true, documents can only be updated or inserted if, for all indexed fields on the target collection, the corresponding index entries do not exceed 1024 bytes. When false, mongod writes documents that exceed the limit but does not index them.

  • javascript_enabled (pulumi.Input[bool]) - When true, the cluster allows execution of operations that perform server-side executions of JavaScript. When false, the cluster disables execution of those operations.

  • minimum_enabled_tls_protocol (pulumi.Input[str]) - Sets the minimum Transport Layer Security (TLS) version the cluster accepts for incoming connections.Valid values are:

  • no_table_scan (pulumi.Input[bool]) - When true, the cluster disables the execution of any query that requires a collection scan to return results. When false, the cluster allows the execution of those operations.

  • oplog_size_mb (pulumi.Input[float]) - The custom oplog size of the cluster. Without a value that indicates that the cluster uses the default oplog size calculated by Atlas.

  • sample_refresh_interval_bi_connector (pulumi.Input[float]) - Interval in seconds at which the mongosqld process re-samples data to create its relational schema. The default value is 300. The specified value must be a positive integer. Available only for Atlas deployments in which BI Connector for Atlas is enabled.

  • sample_size_bi_connector (pulumi.Input[float]) - Number of documents per database to sample when gathering schema information. Defaults to 100. Available only for Atlas deployments in which BI Connector for Atlas is enabled.

The bi_connector object supports the following:

  • enabled (pulumi.Input[str]) - Specifies whether or not BI Connector for Atlas is enabled on the cluster.

    • Set to true to enable BI Connector for Atlas.

    • Set to false to disable BI Connector for Atlas.

  • read_preference (pulumi.Input[str]) - Specifies the read preference to be used by BI Connector for Atlas on the cluster. Each BI Connector for Atlas read preference contains a distinct combination of readPreference and readPreferenceTags options. For details on BI Connector for Atlas read preferences, refer to the BI Connector Read Preferences Table.

The connection_strings object supports the following:

  • awsPrivateLink (pulumi.Input[dict])

  • awsPrivateLinkSrv (pulumi.Input[dict])

  • private (pulumi.Input[str])

  • privateSrv (pulumi.Input[str])

  • standard (pulumi.Input[str])

  • standardSrv (pulumi.Input[str])

The labels object supports the following:

  • key (pulumi.Input[str]) - The key that you want to write.

  • value (pulumi.Input[str]) - The value that you want to write.

The replication_specs object supports the following:

  • id (pulumi.Input[str]) - Unique identifer of the replication document for a zone in a Global Cluster.

  • num_shards (pulumi.Input[float]) - Number of shards to deploy in the specified zone.

  • regionsConfigs (pulumi.Input[list]) - Physical location of the region. Each regionsConfig document describes the region’s priority in elections and the number and type of MongoDB nodes Atlas deploys to the region. You must order each regionsConfigs document by regionsConfig.priority, descending. See Region Config below for more details.

    • analyticsNodes (pulumi.Input[float]) - The number of analytics nodes for Atlas to deploy to the region. Analytics nodes are useful for handling analytic data such as reporting queries from BI Connector for Atlas. Analytics nodes are read-only, and can never become the primary.

    • electableNodes (pulumi.Input[float]) - Number of electable nodes for Atlas to deploy to the region. Electable nodes can become the primary and can facilitate local reads.

    • priority (pulumi.Input[float]) - Election priority of the region. For regions with only read-only nodes, set this value to 0.

    • readOnlyNodes (pulumi.Input[float]) - Number of read-only nodes for Atlas to deploy to the region. Read-only nodes can never become the primary, but can facilitate local-reads. Specify 0 if you do not want any read-only nodes in the region.

    • region_name (pulumi.Input[str]) - Name for the region specified.

  • zoneName (pulumi.Input[str]) - Name for the zone in a Global Cluster.

The snapshot_backup_policies object supports the following:

  • cluster_id (pulumi.Input[str]) - The cluster ID.

  • cluster_name (pulumi.Input[str])

  • next_snapshot (pulumi.Input[str])

  • policies (pulumi.Input[list])

    • id (pulumi.Input[str]) - Unique identifer of the replication document for a zone in a Global Cluster.

    • policyItems (pulumi.Input[list])

      • frequencyInterval (pulumi.Input[float])

      • frequencyType (pulumi.Input[str])

      • id (pulumi.Input[str]) - Unique identifer of the replication document for a zone in a Global Cluster.

      • retentionUnit (pulumi.Input[str])

      • retentionValue (pulumi.Input[float])

  • reference_hour_of_day (pulumi.Input[float])

  • reference_minute_of_hour (pulumi.Input[float])

  • restore_window_days (pulumi.Input[float])

  • update_snapshots (pulumi.Input[bool])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.CustomDbRole(resource_name, opts=None, actions=None, inherited_roles=None, project_id=None, role_name=None, __props__=None, __name__=None, __opts__=None)

.CustomDbRole provides a Custom DB Role resource. The customDBRoles resource lets you retrieve, create and modify the custom MongoDB roles in your cluster. Use custom MongoDB roles to specify custom sets of actions which cannot be described by the built-in Atlas database user privileges.

IMPORTANT Custom roles cannot use actions unavailable to any cluster version in your project. Custom roles are defined at the project level, and must be compatible with each MongoDB version used by your project’s clusters. If you have a cluster in your project with MongoDB 3.4, you cannot create a custom role that uses actions introduced in MongoDB 3.6, such as useUUID.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test_role = mongodbatlas.CustomDbRole("testRole",
    actions=[
        {
            "action": "UPDATE",
            "resources": [{
                "collectionName": "",
                "database_name": "anyDatabase",
            }],
        },
        {
            "action": "INSERT",
            "resources": [{
                "collectionName": "",
                "database_name": "anyDatabase",
            }],
        },
        {
            "action": "REMOVE",
            "resources": [{
                "collectionName": "",
                "database_name": "anyDatabase",
            }],
        },
    ],
    project_id="<PROJECT-ID>",
    role_name="myCustomRole")
import pulumi
import pulumi_mongodbatlas as mongodbatlas

inherited_role_one = mongodbatlas.CustomDbRole("inheritedRoleOne",
    actions=[{
        "action": "INSERT",
        "resources": [{
            "collectionName": "",
            "database_name": "anyDatabase",
        }],
    }],
    project_id="<PROJECT-ID>",
    role_name="insertRole")
inherited_role_two = mongodbatlas.CustomDbRole("inheritedRoleTwo",
    actions=[{
        "action": "SERVER_STATUS",
        "resources": [{
            "cluster": True,
        }],
    }],
    project_id=inherited_role_one.project_id,
    role_name="statusServerRole")
test_role = mongodbatlas.CustomDbRole("testRole",
    actions=[
        {
            "action": "UPDATE",
            "resources": [{
                "collectionName": "",
                "database_name": "anyDatabase",
            }],
        },
        {
            "action": "REMOVE",
            "resources": [{
                "collectionName": "",
                "database_name": "anyDatabase",
            }],
        },
    ],
    inherited_roles=[
        {
            "database_name": "admin",
            "role_name": inherited_role_one.role_name,
        },
        {
            "database_name": "admin",
            "role_name": inherited_role_two.role_name,
        },
    ],
    project_id=inherited_role_one.project_id,
    role_name="myCustomRole")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • project_id (pulumi.Input[str]) – The unique ID for the project to create the database user.

  • role_name (pulumi.Input[str]) – Name of the inherited role. This can either be another custom role or a built-in role.

The actions object supports the following:

  • action (pulumi.Input[str]) - Name of the privilege action. For a complete list of actions available in the Atlas API, see Custom Role Actions ..

    Note: The privilege actions available to the Custom Roles API resource represent a subset of the privilege actions available in the Atlas Custom Roles UI.

  • resources (pulumi.Input[list]) - Contains information on where the action is granted. Each object in the array either indicates a database and collection on which the action is granted, or indicates that the action is granted on the cluster resource.

    • cluster (pulumi.Input[bool])

    • collectionName (pulumi.Input[str])

    • database_name (pulumi.Input[str]) - Database on which the inherited role is granted.

The inherited_roles object supports the following:

  • database_name (pulumi.Input[str]) - Database on which the inherited role is granted.

  • role_name (pulumi.Input[str]) - Name of the inherited role. This can either be another custom role or a built-in role.

project_id: pulumi.Output[str] = None

The unique ID for the project to create the database user.

role_name: pulumi.Output[str] = None

Name of the inherited role. This can either be another custom role or a built-in role.

static get(resource_name, id, opts=None, actions=None, inherited_roles=None, project_id=None, role_name=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • project_id (pulumi.Input[str]) – The unique ID for the project to create the database user.

  • role_name (pulumi.Input[str]) – Name of the inherited role. This can either be another custom role or a built-in role.

The actions object supports the following:

  • action (pulumi.Input[str]) - Name of the privilege action. For a complete list of actions available in the Atlas API, see Custom Role Actions ..

    Note: The privilege actions available to the Custom Roles API resource represent a subset of the privilege actions available in the Atlas Custom Roles UI.

  • resources (pulumi.Input[list]) - Contains information on where the action is granted. Each object in the array either indicates a database and collection on which the action is granted, or indicates that the action is granted on the cluster resource.

    • cluster (pulumi.Input[bool])

    • collectionName (pulumi.Input[str])

    • database_name (pulumi.Input[str]) - Database on which the inherited role is granted.

The inherited_roles object supports the following:

  • database_name (pulumi.Input[str]) - Database on which the inherited role is granted.

  • role_name (pulumi.Input[str]) - Name of the inherited role. This can either be another custom role or a built-in role.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.DatabaseUser(resource_name, opts=None, auth_database_name=None, database_name=None, labels=None, password=None, project_id=None, roles=None, username=None, x509_type=None, __props__=None, __name__=None, __opts__=None)

Create a DatabaseUser resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] auth_database_name: The user’s authentication database. A user must provide both a username and authentication database to log into MongoDB. In Atlas deployments of MongoDB, the authentication database is always the admin database. :param pulumi.Input[str] database_name: Database on which the user has the specified role. A role on the admin database can include privileges that apply to the other databases. :param pulumi.Input[str] project_id: The unique ID for the project to create the database user. :param pulumi.Input[list] roles: List of user’s roles and the databases / collections on which the roles apply. A role allows the user to perform particular actions on the specified database. A role on the admin database can include privileges that apply to the other databases as well. See Roles below for more details. :param pulumi.Input[str] username: Username for authenticating to MongoDB. :param pulumi.Input[str] x509_type: X.509 method by which the provided username is authenticated. If no value is given, Atlas uses the default value of NONE. The accepted types are:

The labels object supports the following:

  • key (pulumi.Input[str]) - The key that you want to write.

  • value (pulumi.Input[str]) - The value that you want to write.

The roles object supports the following:

  • collectionName (pulumi.Input[str]) - Collection for which the role applies. You can specify a collection for the read and readWrite roles. If you do not specify a collection for read and readWrite, the role applies to all collections in the database (excluding some collections in the system. database).

  • database_name (pulumi.Input[str]) - Database on which the user has the specified role. A role on the admin database can include privileges that apply to the other databases.

  • role_name (pulumi.Input[str]) - Name of the role to grant. See Create a Database User roles.roleName for valid values and restrictions.

auth_database_name: pulumi.Output[str] = None

The user’s authentication database. A user must provide both a username and authentication database to log into MongoDB. In Atlas deployments of MongoDB, the authentication database is always the admin database.

database_name: pulumi.Output[str] = None

Database on which the user has the specified role. A role on the admin database can include privileges that apply to the other databases.

project_id: pulumi.Output[str] = None

The unique ID for the project to create the database user.

roles: pulumi.Output[list] = None

List of user’s roles and the databases / collections on which the roles apply. A role allows the user to perform particular actions on the specified database. A role on the admin database can include privileges that apply to the other databases as well. See Roles below for more details.

  • collectionName (str) - Collection for which the role applies. You can specify a collection for the read and readWrite roles. If you do not specify a collection for read and readWrite, the role applies to all collections in the database (excluding some collections in the system. database).

  • database_name (str) - Database on which the user has the specified role. A role on the admin database can include privileges that apply to the other databases.

  • role_name (str) - Name of the role to grant. See Create a Database User roles.roleName for valid values and restrictions.

username: pulumi.Output[str] = None

Username for authenticating to MongoDB.

x509_type: pulumi.Output[str] = None

X.509 method by which the provided username is authenticated. If no value is given, Atlas uses the default value of NONE. The accepted types are:

static get(resource_name, id, opts=None, auth_database_name=None, database_name=None, labels=None, password=None, project_id=None, roles=None, username=None, x509_type=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • auth_database_name (pulumi.Input[str]) – The user’s authentication database. A user must provide both a username and authentication database to log into MongoDB. In Atlas deployments of MongoDB, the authentication database is always the admin database.

  • database_name (pulumi.Input[str]) – Database on which the user has the specified role. A role on the admin database can include privileges that apply to the other databases.

  • project_id (pulumi.Input[str]) – The unique ID for the project to create the database user.

  • roles (pulumi.Input[list]) – List of user’s roles and the databases / collections on which the roles apply. A role allows the user to perform particular actions on the specified database. A role on the admin database can include privileges that apply to the other databases as well. See Roles below for more details.

  • username (pulumi.Input[str]) – Username for authenticating to MongoDB.

  • x509_type (pulumi.Input[str]) – X.509 method by which the provided username is authenticated. If no value is given, Atlas uses the default value of NONE. The accepted types are:

The labels object supports the following:

  • key (pulumi.Input[str]) - The key that you want to write.

  • value (pulumi.Input[str]) - The value that you want to write.

The roles object supports the following:

  • collectionName (pulumi.Input[str]) - Collection for which the role applies. You can specify a collection for the read and readWrite roles. If you do not specify a collection for read and readWrite, the role applies to all collections in the database (excluding some collections in the system. database).

  • database_name (pulumi.Input[str]) - Database on which the user has the specified role. A role on the admin database can include privileges that apply to the other databases.

  • role_name (pulumi.Input[str]) - Name of the role to grant. See Create a Database User roles.roleName for valid values and restrictions.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.EncryptionAtRest(resource_name, opts=None, aws_kms=None, azure_key_vault=None, google_cloud_kms=None, project_id=None, __props__=None, __name__=None, __opts__=None)

.EncryptionAtRest Atlas encrypts your data at rest using encrypted storage media. Using keys you manage with AWS KMS, Atlas encrypts your data a second time when it writes it to the MongoDB encrypted storage engine. You can use the following clouds: AWS CMK, AZURE KEY VAULT and GOOGLE KEY VAULT to encrypt the MongoDB master encryption keys.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.EncryptionAtRest("test",
    aws_kms={
        "access_key_id": "AKIAIOSFODNN7EXAMPLE",
        "customer_master_key_id": "030gce02-586d-48d2-a966-05ea954fde0g",
        "enabled": True,
        "region": "US_EAST_1",
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
    },
    azure_key_vault={
        "azure_environment": "AZURE",
        "client_id": "g54f9e2-89e3-40fd-8188-EXAMPLEID",
        "enabled": True,
        "key_identifier": "https://EXAMPLEKeyVault.vault.azure.net/keys/EXAMPLEKey/d891821e3d364e9eb88fbd3d11807b86",
        "key_vault_name": "EXAMPLEKeyVault",
        "resource_group_name": "ExampleRGName",
        "secret": "EXAMPLESECRET",
        "subscription_id": "0ec944e3-g725-44f9-a147-EXAMPLEID",
        "tenant_id": "e8e4b6ba-ff32-4c88-a9af-EXAMPLEID",
    },
    google_cloud_kms={
        "enabled": True,
        "key_version_resource_id": "projects/my-project-common-0/locations/us-east4/keyRings/my-key-ring-0/cryptoKeys/my-key-0/cryptoKeyVersions/1",
        "service_account_key": "{"type": "service_account","project_id": "my-project-common-0","private_key_id": "e120598ea4f88249469fcdd75a9a785c1bb3","private_key": "-----BEGIN PRIVATE KEY-----\nMIIEuwIBA(truncated)SfecnS0mT94D9\n-----END PRIVATE KEY-----\n","client_email": "my-email-kms-0@my-project-common-0.iam.gserviceaccount.com","client_id": "10180967717292066","auth_uri": "https://accounts.google.com/o/oauth2/auth","token_uri": "https://accounts.google.com/o/oauth2/token","auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs","client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/my-email-kms-0%40my-project-common-0.iam.gserviceaccount.com"}",
    },
    project_id="<PROJECT-ID>")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • aws_kms (pulumi.Input[dict]) – Specifies AWS KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.

  • azure_key_vault (pulumi.Input[dict]) – Specifies Azure Key Vault configuration details and whether Encryption at Rest is enabled for an Atlas project.

  • google_cloud_kms (pulumi.Input[dict]) – Specifies GCP KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.

  • project_id (pulumi.Input[str]) – The unique identifier for the project.

The aws_kms object supports the following:

  • access_key_id (pulumi.Input[str]) - The IAM access key ID with permissions to access the customer master key specified by customerMasterKeyID.

  • customer_master_key_id (pulumi.Input[str]) - The AWS customer master key used to encrypt and decrypt the MongoDB master keys.

  • enabled (pulumi.Input[bool]) - Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.

  • region (pulumi.Input[str]) - The AWS region in which the AWS customer master key exists: CA_CENTRAL_1, US_EAST_1, US_EAST_2, US_WEST_1, US_WEST_2, SA_EAST_1

  • secret_access_key (pulumi.Input[str]) - The IAM secret access key with permissions to access the customer master key specified by customerMasterKeyID.

The azure_key_vault object supports the following:

  • azure_environment (pulumi.Input[str]) - The Azure environment where the Azure account credentials reside. Valid values are the following: AZURE, AZURE_CHINA, AZURE_GERMANY

  • client_id (pulumi.Input[str]) - The client ID, also known as the application ID, for an Azure application associated with the Azure AD tenant.

  • enabled (pulumi.Input[bool]) - Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.

  • key_identifier (pulumi.Input[str]) - The unique identifier of a key in an Azure Key Vault.

  • key_vault_name (pulumi.Input[str]) - The name of an Azure Key Vault containing your key.

  • resource_group_name (pulumi.Input[str]) - The name of the Azure Resource group that contains an Azure Key Vault.

  • secret (pulumi.Input[str]) - The secret associated with the Azure Key Vault specified by azureKeyVault.tenantID.

  • subscription_id (pulumi.Input[str]) - The unique identifier associated with an Azure subscription.

  • tenant_id (pulumi.Input[str]) - The unique identifier for an Azure AD tenant within an Azure subscription.

The google_cloud_kms object supports the following:

  • enabled (pulumi.Input[bool]) - Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.

  • key_version_resource_id (pulumi.Input[str]) - The Key Version Resource ID from your GCP account.

  • service_account_key (pulumi.Input[str]) - String-formatted JSON object containing GCP KMS credentials from your GCP account.

aws_kms: pulumi.Output[dict] = None

Specifies AWS KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.

  • access_key_id (str) - The IAM access key ID with permissions to access the customer master key specified by customerMasterKeyID.

  • customer_master_key_id (str) - The AWS customer master key used to encrypt and decrypt the MongoDB master keys.

  • enabled (bool) - Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.

  • region (str) - The AWS region in which the AWS customer master key exists: CA_CENTRAL_1, US_EAST_1, US_EAST_2, US_WEST_1, US_WEST_2, SA_EAST_1

  • secret_access_key (str) - The IAM secret access key with permissions to access the customer master key specified by customerMasterKeyID.

azure_key_vault: pulumi.Output[dict] = None

Specifies Azure Key Vault configuration details and whether Encryption at Rest is enabled for an Atlas project.

  • azure_environment (str) - The Azure environment where the Azure account credentials reside. Valid values are the following: AZURE, AZURE_CHINA, AZURE_GERMANY

  • client_id (str) - The client ID, also known as the application ID, for an Azure application associated with the Azure AD tenant.

  • enabled (bool) - Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.

  • key_identifier (str) - The unique identifier of a key in an Azure Key Vault.

  • key_vault_name (str) - The name of an Azure Key Vault containing your key.

  • resource_group_name (str) - The name of the Azure Resource group that contains an Azure Key Vault.

  • secret (str) - The secret associated with the Azure Key Vault specified by azureKeyVault.tenantID.

  • subscription_id (str) - The unique identifier associated with an Azure subscription.

  • tenant_id (str) - The unique identifier for an Azure AD tenant within an Azure subscription.

google_cloud_kms: pulumi.Output[dict] = None

Specifies GCP KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.

  • enabled (bool) - Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.

  • key_version_resource_id (str) - The Key Version Resource ID from your GCP account.

  • service_account_key (str) - String-formatted JSON object containing GCP KMS credentials from your GCP account.

project_id: pulumi.Output[str] = None

The unique identifier for the project.

static get(resource_name, id, opts=None, aws_kms=None, azure_key_vault=None, google_cloud_kms=None, project_id=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • aws_kms (pulumi.Input[dict]) – Specifies AWS KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.

  • azure_key_vault (pulumi.Input[dict]) – Specifies Azure Key Vault configuration details and whether Encryption at Rest is enabled for an Atlas project.

  • google_cloud_kms (pulumi.Input[dict]) – Specifies GCP KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.

  • project_id (pulumi.Input[str]) – The unique identifier for the project.

The aws_kms object supports the following:

  • access_key_id (pulumi.Input[str]) - The IAM access key ID with permissions to access the customer master key specified by customerMasterKeyID.

  • customer_master_key_id (pulumi.Input[str]) - The AWS customer master key used to encrypt and decrypt the MongoDB master keys.

  • enabled (pulumi.Input[bool]) - Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.

  • region (pulumi.Input[str]) - The AWS region in which the AWS customer master key exists: CA_CENTRAL_1, US_EAST_1, US_EAST_2, US_WEST_1, US_WEST_2, SA_EAST_1

  • secret_access_key (pulumi.Input[str]) - The IAM secret access key with permissions to access the customer master key specified by customerMasterKeyID.

The azure_key_vault object supports the following:

  • azure_environment (pulumi.Input[str]) - The Azure environment where the Azure account credentials reside. Valid values are the following: AZURE, AZURE_CHINA, AZURE_GERMANY

  • client_id (pulumi.Input[str]) - The client ID, also known as the application ID, for an Azure application associated with the Azure AD tenant.

  • enabled (pulumi.Input[bool]) - Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.

  • key_identifier (pulumi.Input[str]) - The unique identifier of a key in an Azure Key Vault.

  • key_vault_name (pulumi.Input[str]) - The name of an Azure Key Vault containing your key.

  • resource_group_name (pulumi.Input[str]) - The name of the Azure Resource group that contains an Azure Key Vault.

  • secret (pulumi.Input[str]) - The secret associated with the Azure Key Vault specified by azureKeyVault.tenantID.

  • subscription_id (pulumi.Input[str]) - The unique identifier associated with an Azure subscription.

  • tenant_id (pulumi.Input[str]) - The unique identifier for an Azure AD tenant within an Azure subscription.

The google_cloud_kms object supports the following:

  • enabled (pulumi.Input[bool]) - Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.

  • key_version_resource_id (pulumi.Input[str]) - The Key Version Resource ID from your GCP account.

  • service_account_key (pulumi.Input[str]) - String-formatted JSON object containing GCP KMS credentials from your GCP account.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.Get509AuthenticationDatabaseUserResult(certificates=None, customer_x509_cas=None, id=None, project_id=None, username=None)

A collection of values returned by get509AuthenticationDatabaseUser.

certificates = None

Array of objects where each details one unexpired database user certificate.

id = None

The provider-assigned unique ID for this managed resource.

class pulumi_mongodbatlas.GetAlertConfigurationResult(alert_configuration_id=None, created=None, enabled=None, event_type=None, id=None, matchers=None, metric_threshold=None, notifications=None, project_id=None, updated=None)

A collection of values returned by getAlertConfiguration.

created = None

Timestamp in ISO 8601 date and time format in UTC when this alert configuration was created.

enabled = None

If set to true, the alert configuration is enabled. If enabled is not exported it is set to false.

event_type = None

The type of event that will trigger an alert. Alert type. Possible values:

  • Host

  • OUTSIDE_METRIC_THRESHOLD

  • HOST_RESTARTED

  • HOST_UPGRADED

  • HOST_NOW_SECONDARY

  • HOST_NOW_PRIMARY

  • Replica set

  • NO_PRIMARY

  • TOO_MANY_ELECTIONS Sharded cluster

  • CLUSTER_MONGOS_IS_MISSING

  • User

  • JOINED_GROUP

  • REMOVED_FROM_GROUP

  • USER_ROLES_CHANGED_AUDIT

  • Project

  • USERS_AWAITING_APPROVAL

  • USERS_WITHOUT_MULTI_FACTOR_AUTH

  • GROUP_CREATED

  • Team

  • JOINED_TEAM

  • REMOVED_FROM_TEAM

  • Organization

  • INVITED_TO_ORG

  • JOINED_ORG

  • Data Explorer

  • DATA_EXPLORER

  • DATA_EXPLORER_CRUD

  • Billing

  • CREDIT_CARD_ABOUT_TO_EXPIRE

  • CHARGE_SUCCEEDED

  • INVOICE_CLOSED

id = None

The provider-assigned unique ID for this managed resource.

updated = None

Timestamp in ISO 8601 date and time format in UTC when this alert configuration was last updated.

class pulumi_mongodbatlas.GetAuditingResult(audit_authorization_success=None, audit_filter=None, configuration_type=None, enabled=None, id=None, project_id=None)

A collection of values returned by getAuditing.

audit_authorization_success = None

JSON-formatted audit filter used by the project

audit_filter = None

Indicates whether the auditing system captures successful authentication attempts for audit filters using the “atype” : “authCheck” auditing event. For more information, see auditAuthorizationSuccess

configuration_type = None

Denotes the configuration method for the audit filter. Possible values are: NONE - auditing not configured for the project.m FILTER_BUILDER - auditing configured via Atlas UI filter builderm FILTER_JSON - auditing configured via Atlas custom filter or API.

enabled = None

Denotes whether or not the project associated with the {GROUP-ID} has database auditing enabled.

id = None

The provider-assigned unique ID for this managed resource.

class pulumi_mongodbatlas.GetCloudProviderSnapshotBackupPolicyResult(cluster_id=None, cluster_name=None, id=None, next_snapshot=None, policies=None, project_id=None, reference_hour_of_day=None, reference_minute_of_hour=None, restore_window_days=None, update_snapshots=None)

A collection of values returned by getCloudProviderSnapshotBackupPolicy.

cluster_id = None

Unique identifier of the Atlas cluster.

id = None

The provider-assigned unique ID for this managed resource.

next_snapshot = None

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

policies = None

A list of policy definitions for the cluster.

  • policies.#.id - Unique identifier of the backup policy.

reference_hour_of_day = None

UTC Hour of day between 0 and 23 representing which hour of the day that Atlas takes a snapshot.

reference_minute_of_hour = None

UTC Minute of day between 0 and 59 representing which minute of the referenceHourOfDay that Atlas takes the snapshot.

restore_window_days = None

Specifies a restore window in days for the cloud provider backup to maintain.

class pulumi_mongodbatlas.GetCloudProviderSnapshotRestoreJobResult(cancelled=None, cluster_name=None, created_at=None, delivery_type=None, delivery_urls=None, expired=None, expires_at=None, finished_at=None, id=None, job_id=None, project_id=None, snapshot_id=None, target_cluster_name=None, target_project_id=None, timestamp=None)

A collection of values returned by getCloudProviderSnapshotRestoreJob.

cancelled = None

Indicates whether the restore job was canceled.

created_at = None

UTC ISO 8601 formatted point in time when Atlas created the restore job.

delivery_type = None

Type of restore job to create. Possible values are: automated and download.

delivery_urls = None

One or more URLs for the compressed snapshot files for manual download. Only visible if deliveryType is download.

expired = None

Indicates whether the restore job expired.

expires_at = None

UTC ISO 8601 formatted point in time when the restore job expires.

finished_at = None

UTC ISO 8601 formatted point in time when the restore job completed.

id = None

The provider-assigned unique ID for this managed resource.

snapshot_id = None

Unique identifier of the source snapshot ID of the restore job.

target_cluster_name = None

Name of the target Atlas cluster to which the restore job restores the snapshot. Only visible if deliveryType is automated.

timestamp = None

Timestamp in ISO 8601 date and time format in UTC when the snapshot associated to snapshotId was taken.

class pulumi_mongodbatlas.GetCloudProviderSnapshotRestoreJobsResult(cluster_name=None, id=None, project_id=None, results=None, total_count=None)

A collection of values returned by getCloudProviderSnapshotRestoreJobs.

id = None

The provider-assigned unique ID for this managed resource.

results = None

Includes cloudProviderSnapshotRestoreJob object for each item detailed in the results array section.

class pulumi_mongodbatlas.GetCloudProviderSnapshotResult(cluster_name=None, created_at=None, description=None, expires_at=None, id=None, master_key_uuid=None, mongod_version=None, project_id=None, snapshot_id=None, snapshot_type=None, status=None, storage_size_bytes=None, type=None)

A collection of values returned by getCloudProviderSnapshot.

created_at = None

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

description = None

UDescription of the snapshot. Only present for on-demand snapshots.

expires_at = None

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

id = None

The provider-assigned unique ID for this managed resource.

master_key_uuid = None

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 = None

Version of the MongoDB server.

snapshot_type = None

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

status = None

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

storage_size_bytes = None

Specifies the size of the snapshot in bytes.

type = None

Specifies the type of cluster: replicaSet or shardedCluster.

class pulumi_mongodbatlas.GetCloudProviderSnapshotsResult(cluster_name=None, id=None, project_id=None, results=None, total_count=None)

A collection of values returned by getCloudProviderSnapshots.

id = None

The provider-assigned unique ID for this managed resource.

results = None

Includes cloudProviderSnapshot object for each item detailed in the results array section.

class pulumi_mongodbatlas.GetClusterResult(auto_scaling_disk_gb_enabled=None, backing_provider_name=None, backup_enabled=None, bi_connector=None, cluster_type=None, connection_strings=None, disk_size_gb=None, encryption_at_rest_provider=None, id=None, labels=None, mongo_db_major_version=None, mongo_db_version=None, mongo_uri=None, mongo_uri_updated=None, mongo_uri_with_options=None, name=None, num_shards=None, paused=None, pit_enabled=None, project_id=None, provider_backup_enabled=None, provider_disk_iops=None, provider_disk_type_name=None, provider_encrypt_ebs_volume=None, provider_instance_size_name=None, provider_name=None, provider_region_name=None, provider_volume_type=None, replication_factor=None, replication_specs=None, snapshot_backup_policies=None, srv_address=None, state_name=None)

A collection of values returned by getCluster.

auto_scaling_disk_gb_enabled = None

Indicates whether disk auto-scaling is enabled.

backing_provider_name = None

Indicates Cloud service provider on which the server for a multi-tenant cluster is provisioned.

backup_enabled = None

Legacy Option, Indicates whether Atlas continuous backups are enabled for the cluster.

bi_connector = None

Indicates BI Connector for Atlas configuration on this cluster. BI Connector for Atlas is only available for M10+ clusters. See BI Connector below for more details.

cluster_type = None

Indicates the type of the cluster that you want to modify. You cannot convert a sharded cluster deployment to a replica set deployment.

connection_strings = None

Set of connection strings that your applications use to connect to this cluster. More info in Connection-strings. Use the parameters in this object to connect your applications to this cluster. To learn more about the formats of connection strings, see Connection String Options. NOTE: Atlas returns the contents of this object after the cluster is operational, not while it builds the cluster.

  • connection_strings.standard - Public mongodb:// connection string for this cluster.

  • connection_strings.standard_srv - Public mongodb+srv:// connection string for this cluster. The mongodb+srv protocol tells the driver to look up the seed list of hosts in DNS. Atlas synchronizes this list with the nodes in a cluster. If the connection string uses this URI format, you don’t need to append the seed list or change the URI if the nodes change. Use this URI format if your driver supports it. If it doesn’t, use connectionStrings.standard.

  • connection_strings.aws_private_link - Private-endpoint-aware mongodb://connection strings for each interface VPC endpoint you configured to connect to this cluster. Returned only if you created a AWS PrivateLink connection to this cluster.

  • connection_strings.aws_private_link_srv - Private-endpoint-aware mongodb+srv://connection strings for each interface VPC endpoint you configured to connect to this cluster. Returned only if you created a AWS PrivateLink connection to this cluster. Use this URI format if your driver supports it. If it doesn’t, use connectionStrings.awsPrivateLink.

  • connection_strings.private - Network-peering-endpoint-aware mongodb://connection strings for each interface VPC endpoint you configured to connect to this cluster. Returned only if you created a network peering connection to this cluster.

  • connection_strings.private_srv - Network-peering-endpoint-aware mongodb+srv://connection strings for each interface VPC endpoint you configured to connect to this cluster. Returned only if you created a network peering connection to this cluster.

disk_size_gb = None

Indicates the size in gigabytes of the server’s root volume (AWS/GCP Only).

encryption_at_rest_provider = None

Indicates whether Encryption at Rest is enabled or disabled.

id = None

The provider-assigned unique ID for this managed resource.

mongo_db_major_version = None

Indicates the version of the cluster to deploy.

mongo_db_version = None

Version of MongoDB the cluster runs, in major-version.minor-version format.

mongo_uri = None

Base connection string for the cluster. Atlas only displays this field after the cluster is operational, not while it builds the cluster.

mongo_uri_updated = None

Lists when the connection string was last updated. The connection string changes, for example, if you change a replica set to a sharded cluster.

mongo_uri_with_options = None

Describes connection string for connecting to the Atlas cluster. Includes the replicaSet, ssl, and authSource query parameters in the connection string with values appropriate for the cluster.

name = None

The name of the current plugin

num_shards = None

Number of shards to deploy in the specified zone.

paused = None

Flag that indicates whether the cluster is paused or not.

pit_enabled = None

Flag that indicates if the cluster uses Point-in-Time backups.

provider_backup_enabled = None

Flag indicating if the cluster uses Cloud Provider Snapshots for backups.

provider_disk_iops = None

Indicates the maximum input/output operations per second (IOPS) the system can perform. The possible values depend on the selected providerSettings.instanceSizeName and diskSizeGB.

provider_disk_type_name = None

Describes Azure disk type of the server’s root volume (Azure Only).

provider_encrypt_ebs_volume = None

Indicates whether the Amazon EBS encryption is enabled. This feature encrypts the server’s root volume for both data at rest within the volume and data moving between the volume and the instance.

provider_instance_size_name = None

Atlas provides different instance sizes, each with a default storage capacity and RAM size.

provider_name = None

Indicates the cloud service provider on which the servers are provisioned.

provider_region_name = None

Indicates Physical location of your MongoDB cluster. The region you choose can affect network latency for clients accessing your databases. Requires the Atlas Region name, see the reference list for AWS, GCP, Azure.

provider_volume_type = None

Indicates the type of the volume. The possible values are: STANDARD and PROVISIONED.

replication_factor = None

Number of replica set members. Each member keeps a copy of your databases, providing high availability and data redundancy. The possible values are 3, 5, or 7. The default value is 3.

replication_specs = None

Configuration for cluster regions. See Replication Spec below for more details.

snapshot_backup_policies = None

current snapshot schedule and retention settings for the cluster.

srv_address = None

Connection string for connecting to the Atlas cluster. The +srv modifier forces the connection to use TLS/SSL. See the mongoURI for additional options.

state_name = None

Indicates the current state of the cluster. The possible states are:

  • IDLE

  • CREATING

  • UPDATING

  • DELETING

  • DELETED

  • REPAIRING

class pulumi_mongodbatlas.GetClustersResult(id=None, project_id=None, results=None)

A collection of values returned by getClusters.

id = None

The provider-assigned unique ID for this managed resource.

results = None

A list where each represents a Cluster. See Cluster below for more details.

class pulumi_mongodbatlas.GetCustomDbRoleResult(actions=None, id=None, inherited_roles=None, project_id=None, role_name=None)

A collection of values returned by getCustomDbRole.

id = None

The provider-assigned unique ID for this managed resource.

class pulumi_mongodbatlas.GetCustomDbRolesResult(id=None, project_id=None, results=None)

A collection of values returned by getCustomDbRoles.

id = None

The provider-assigned unique ID for this managed resource.

results = None

A list where each represents a custom db roles.

class pulumi_mongodbatlas.GetDatabaseUserResult(auth_database_name=None, database_name=None, id=None, labels=None, project_id=None, roles=None, username=None, x509_type=None)

A collection of values returned by getDatabaseUser.

database_name = None

Database on which the user has the specified role. A role on the admin database can include privileges that apply to the other databases.

id = None

The provider-assigned unique ID for this managed resource.

roles = None

List of user’s roles and the databases / collections on which the roles apply. A role allows the user to perform particular actions on the specified database. A role on the admin database can include privileges that apply to the other databases as well. See Roles below for more details.

x509_type = None

X.509 method by which the provided username is authenticated.

class pulumi_mongodbatlas.GetDatabaseUsersResult(id=None, project_id=None, results=None)

A collection of values returned by getDatabaseUsers.

id = None

The provider-assigned unique ID for this managed resource.

project_id = None

ID of the Atlas project the user belongs to.

results = None

A list where each represents a Database user.

class pulumi_mongodbatlas.GetGlobalClusterConfigResult(cluster_name=None, custom_zone_mapping=None, id=None, managed_namespaces=None, project_id=None)

A collection of values returned by getGlobalClusterConfig.

custom_zone_mapping = None

A map of all custom zone mappings defined for the Global Cluster. Atlas automatically maps each location code to the closest geographical zone. Custom zone mappings allow administrators to override these automatic mappings. If your Global Cluster does not have any custom zone mappings, this document is empty.

id = None

The provider-assigned unique ID for this managed resource.

managed_namespaces = None

Add a managed namespaces to a Global Cluster. For more information about managed namespaces, see Global Clusters. See Managed Namespace below for more details.

class pulumi_mongodbatlas.GetMaintenanceWindowResult(day_of_week=None, hour_of_day=None, id=None, number_of_deferrals=None, project_id=None, start_asap=None)

A collection of values returned by getMaintenanceWindow.

day_of_week = None

Day of the week when you would like the maintenance window to start as a 1-based integer: S=1, M=2, T=3, W=4, T=5, F=6, S=7.

hour_of_day = None

Hour of the day when you would like the maintenance window to start. This parameter uses the 24-hour clock, where midnight is 0, noon is 12 (Time zone is UTC).

id = None

The provider-assigned unique ID for this managed resource.

number_of_deferrals = None

Number of times the current maintenance event for this project has been deferred, you can set a maximum of 2 deferrals.

start_asap = None

Flag indicating whether project maintenance has been directed to start immediately. If you request that maintenance begin immediately, this field returns true from the time the request was made until the time the maintenance event completes.

class pulumi_mongodbatlas.GetNetworkContainerResult(atlas_cidr_block=None, azure_subscription_id=None, container_id=None, gcp_project_id=None, id=None, network_name=None, project_id=None, provider_name=None, provisioned=None, region=None, region_name=None, vnet_name=None, vpc_id=None)

A collection of values returned by getNetworkContainer.

atlas_cidr_block = None

CIDR block that Atlas uses for your clusters. Atlas uses the specified CIDR block for all other Network Peering connections created in the project. The Atlas CIDR block must be at least a /24 and at most a /21 in one of the following private networks.

azure_subscription_id = None

Unique identifer of the Azure subscription in which the VNet resides.

gcp_project_id = None

Unique identifier of the GCP project in which the Network Peering connection resides.

id = None

The provider-assigned unique ID for this managed resource.

network_name = None

Name of the Network Peering connection in the Atlas project.

provider_name = None

Cloud provider for this Network Peering connection. If omitted, Atlas sets this parameter to AWS.

provisioned = None

Indicates whether the project has Network Peering connections deployed in the container.

region = None

The Atlas Azure region name for where this container will exist.

region_name = None

The Atlas AWS region name for where this container will exist.

vnet_name = None

The name of the Azure VNet. This value is null until you provision an Azure VNet in the container.

vpc_id = None

Unique identifier of the project’s VPC.

class pulumi_mongodbatlas.GetNetworkContainersResult(id=None, project_id=None, provider_name=None, results=None)

A collection of values returned by getNetworkContainers.

id = None

The provider-assigned unique ID for this managed resource.

provider_name = None

Cloud provider for this Network Peering connection. If omitted, Atlas sets this parameter to AWS.

results = None

A list where each represents a Network Peering Container.

class pulumi_mongodbatlas.GetNetworkPeeringResult(accepter_region_name=None, atlas_cidr_block=None, atlas_id=None, aws_account_id=None, azure_directory_id=None, azure_subscription_id=None, connection_id=None, container_id=None, error_message=None, error_state=None, error_state_name=None, gcp_project_id=None, id=None, network_name=None, peering_id=None, project_id=None, provider_name=None, resource_group_name=None, route_table_cidr_block=None, status=None, status_name=None, vnet_name=None, vpc_id=None)

A collection of values returned by getNetworkPeering.

accepter_region_name = None

Specifies the region where the peer VPC resides. For complete lists of supported regions, see Amazon Web Services.

atlas_cidr_block = None

Unique identifier for an Azure AD directory.

aws_account_id = None

Account ID of the owner of the peer VPC.

azure_directory_id = None

Unique identifier for an Azure AD directory.

azure_subscription_id = None

Unique identifer of the Azure subscription in which the VNet resides.

connection_id = None

Unique identifier for the peering connection.

error_message = None

When "status" : "FAILED", Atlas provides a description of the error.

error_state = None

Description of the Atlas error when status is Failed, Otherwise, Atlas returns null.

error_state_name = None

Error state, if any. The VPC peering connection error state value can be one of the following: REJECTED, EXPIRED, INVALID_ARGUMENT.

gcp_project_id = None

GCP project ID of the owner of the network peer.

id = None

The provider-assigned unique ID for this managed resource.

network_name = None

Name of the network peer to which Atlas connects.

provider_name = None

Cloud provider for this VPC peering connection. If omitted, Atlas sets this parameter to AWS. (Possible Values AWS, AZURE, GCP).

resource_group_name = None

Name of your Azure resource group.

route_table_cidr_block = None

Peer VPC CIDR block or subnet.

status = None

Status of the Atlas network peering connection: ADDING_PEER, AVAILABLE, FAILED, DELETING, WAITING_FOR_USER.

status_name = None

The VPC peering connection status value can be one of the following: INITIATING, PENDING_ACCEPTANCE, FAILED, FINALIZING, AVAILABLE, TERMINATING.

vnet_name = None

Name of your Azure VNet.

vpc_id = None

Unique identifier of the peer VPC.

class pulumi_mongodbatlas.GetNetworkPeeringsResult(id=None, project_id=None, results=None)

A collection of values returned by getNetworkPeerings.

id = None

The provider-assigned unique ID for this managed resource.

results = None

A list where each represents a Network Peering Connection.

class pulumi_mongodbatlas.GetPrivateEndpointInterfaceLinkResult(connection_status=None, delete_requested=None, error_message=None, id=None, interface_endpoint_id=None, private_link_id=None, project_id=None)

A collection of values returned by getPrivateEndpointInterfaceLink.

connection_status = None

Status of the interface endpoint. Returns one of the following values:

delete_requested = None

Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.

error_message = None

Error message pertaining to the interface endpoint. Returns null if there are no errors.

id = None

The provider-assigned unique ID for this managed resource.

class pulumi_mongodbatlas.GetPrivateEndpointResult(endpoint_service_name=None, error_message=None, id=None, interface_endpoints=None, private_link_id=None, project_id=None, status=None)

A collection of values returned by getPrivateEndpoint.

endpoint_service_name = None

Name of the PrivateLink endpoint service in AWS. Returns null while the endpoint service is being created.

error_message = None

Error message pertaining to the AWS PrivateLink connection. Returns null if there are no errors.

id = None

The provider-assigned unique ID for this managed resource.

interface_endpoints = None

Unique identifiers of the interface endpoints in your VPC that you added to the AWS PrivateLink connection.

status = None

Status of the AWS PrivateLink connection. Returns one of the following values:

class pulumi_mongodbatlas.GetProjectResult(cluster_count=None, created=None, id=None, name=None, org_id=None, project_id=None, teams=None)

A collection of values returned by getProject.

id = None

The provider-assigned unique ID for this managed resource.

name = None

The name of the project you want to create. (Cannot be changed via this Provider after creation.)

org_id = None

The ID of the organization you want to create the project within. ``cluster_count`` - The number of Atlas clusters deployed in the project.created - The ISO-8601-formatted timestamp of when Atlas created the project.

  • teams.#.team_id - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization.

  • teams.#.role_names - Each string in the array represents a project role assigned to the team. Every user associated with the team inherits these roles. The following are valid roles:

  • GROUP_OWNER

  • GROUP_READ_ONLY

  • GROUP_DATA_ACCESS_ADMIN

  • GROUP_DATA_ACCESS_READ_WRITE

  • GROUP_DATA_ACCESS_READ_ONLY

  • GROUP_CLUSTER_MANAGER

class pulumi_mongodbatlas.GetProjectsResult(id=None, results=None, total_count=None)

A collection of values returned by getProjects.

id = None

The provider-assigned unique ID for this managed resource.

class pulumi_mongodbatlas.GetTeamResult(id=None, name=None, org_id=None, team_id=None, usernames=None)

A collection of values returned by getTeam.

id = None

The provider-assigned unique ID for this managed resource.

name = None

The name of the team you want to create.

usernames = None

The users who are part of the organization.

class pulumi_mongodbatlas.GetTeamsResult(id=None, name=None, org_id=None, team_id=None, usernames=None)

A collection of values returned by getTeams.

id = None

The provider-assigned unique ID for this managed resource.

class pulumi_mongodbatlas.GlobalClusterConfig(resource_name, opts=None, cluster_name=None, custom_zone_mappings=None, managed_namespaces=None, project_id=None, __props__=None, __name__=None, __opts__=None)

.GlobalClusterConfig provides a Global Cluster Configuration resource.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.Cluster("test",
    project_id="<YOUR-PROJECT-ID>",
    disk_size_gb=80,
    backup_enabled=False,
    provider_backup_enabled=True,
    cluster_type="GEOSHARDED",
    provider_name="AWS",
    provider_disk_iops=240,
    provider_instance_size_name="M30",
    replication_specs=[
        {
            "zoneName": "Zone 1",
            "num_shards": 1,
            "regions_config": [{
                "region_name": "EU_CENTRAL_1",
                "electableNodes": 3,
                "priority": 7,
                "readOnlyNodes": 0,
            }],
        },
        {
            "zoneName": "Zone 2",
            "num_shards": 1,
            "regions_config": [{
                "region_name": "US_EAST_2",
                "electableNodes": 3,
                "priority": 7,
                "readOnlyNodes": 0,
            }],
        },
    ])
config = mongodbatlas.GlobalClusterConfig("config",
    project_id=test.project_id,
    cluster_name=test.name,
    managed_namespaces=[{
        "db": "mydata",
        "collection": "publishers",
        "customShardKey": "city",
    }],
    custom_zone_mappings=[{
        "location": "CA",
        "zone": "Zone 1",
    }])
import pulumi
import pulumi_mongodbatlas as mongodbatlas

cluster_test = mongodbatlas.Cluster("cluster-test",
    project_id="<YOUR-PROJECT-ID>",
    num_shards=1,
    replication_factor=3,
    backup_enabled=True,
    auto_scaling_disk_gb_enabled=True,
    mongo_db_major_version="4.0",
    provider_name="AWS",
    disk_size_gb=100,
    provider_disk_iops=300,
    provider_encrypt_ebs_volume=False,
    provider_instance_size_name="M40",
    provider_region_name="US_EAST_1")
config = mongodbatlas.GlobalClusterConfig("config",
    project_id=mongodbatlas_cluster["test"]["project_id"],
    cluster_name=mongodbatlas_cluster["test"]["name"],
    managed_namespaces=[{
        "db": "mydata",
        "collection": "publishers",
        "customShardKey": "city",
    }],
    custom_zone_mappings=[{
        "location": "CA",
        "zone": "Zone 1",
    }])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • custom_zone_mappings (pulumi.Input[list]) – Each element in the list maps one ISO location code to a zone in your Global Cluster. See Custom Zone Mapping below for more details.

  • managed_namespaces (pulumi.Input[list]) –

    Add a managed namespaces to a Global Cluster. For more information about managed namespaces, see Global Clusters. See Managed Namespace below for more details.

  • project_id (pulumi.Input[str]) – The unique ID for the project to create the database user.

* `cluster_name - (Required) The name of the Global Cluster.

The custom_zone_mappings object supports the following:

  • location (pulumi.Input[str]) - The ISO location code to which you want to map a zone in your Global Cluster. You can find a list of all supported location codes here.

  • zone (pulumi.Input[str]) - The name of the zone in your Global Cluster that you want to map to location.

The managed_namespaces object supports the following:

  • collection (pulumi.Input[str]) - The name of the collection associated with the managed namespace.

  • customShardKey (pulumi.Input[str]) - The custom shard key for the collection. Global Clusters require a compound shard key consisting of a location field and a user-selected second key, the custom shard key.

  • db (pulumi.Input[str]) - The name of the database containing the collection.

custom_zone_mapping: pulumi.Output[dict] = None

A map of all custom zone mappings defined for the Global Cluster. Atlas automatically maps each location code to the closest geographical zone. Custom zone mappings allow administrators to override these automatic mappings. If your Global Cluster does not have any custom zone mappings, this document is empty.

custom_zone_mappings: pulumi.Output[list] = None

Each element in the list maps one ISO location code to a zone in your Global Cluster. See Custom Zone Mapping below for more details.

  • location (str) - The ISO location code to which you want to map a zone in your Global Cluster. You can find a list of all supported location codes here.

  • zone (str) - The name of the zone in your Global Cluster that you want to map to location.

managed_namespaces: pulumi.Output[list] = None

Add a managed namespaces to a Global Cluster. For more information about managed namespaces, see Global Clusters. See Managed Namespace below for more details.

  • collection (str) - The name of the collection associated with the managed namespace.

  • customShardKey (str) - The custom shard key for the collection. Global Clusters require a compound shard key consisting of a location field and a user-selected second key, the custom shard key.

  • db (str) - The name of the database containing the collection.

project_id: pulumi.Output[str] = None

The unique ID for the project to create the database user.

  • `cluster_name - (Required) The name of the Global Cluster.

static get(resource_name, id, opts=None, cluster_name=None, custom_zone_mapping=None, custom_zone_mappings=None, managed_namespaces=None, project_id=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • custom_zone_mapping (pulumi.Input[dict]) – A map of all custom zone mappings defined for the Global Cluster. Atlas automatically maps each location code to the closest geographical zone. Custom zone mappings allow administrators to override these automatic mappings. If your Global Cluster does not have any custom zone mappings, this document is empty.

  • custom_zone_mappings (pulumi.Input[list]) – Each element in the list maps one ISO location code to a zone in your Global Cluster. See Custom Zone Mapping below for more details.

  • managed_namespaces (pulumi.Input[list]) –

    Add a managed namespaces to a Global Cluster. For more information about managed namespaces, see Global Clusters. See Managed Namespace below for more details.

  • project_id (pulumi.Input[str]) – The unique ID for the project to create the database user.

* `cluster_name - (Required) The name of the Global Cluster.

The custom_zone_mappings object supports the following:

  • location (pulumi.Input[str]) - The ISO location code to which you want to map a zone in your Global Cluster. You can find a list of all supported location codes here.

  • zone (pulumi.Input[str]) - The name of the zone in your Global Cluster that you want to map to location.

The managed_namespaces object supports the following:

  • collection (pulumi.Input[str]) - The name of the collection associated with the managed namespace.

  • customShardKey (pulumi.Input[str]) - The custom shard key for the collection. Global Clusters require a compound shard key consisting of a location field and a user-selected second key, the custom shard key.

  • db (pulumi.Input[str]) - The name of the database containing the collection.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.MaintenanceWindow(resource_name, opts=None, day_of_week=None, defer=None, hour_of_day=None, number_of_deferrals=None, project_id=None, __props__=None, __name__=None, __opts__=None)

.MaintenanceWindow provides a resource to schedule a maintenance window for your MongoDB Atlas Project and/or set to defer a scheduled maintenance up to two times.

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

  • Urgent Maintenance Activities Cannot Wait: Urgent maintenance activities such as security patches cannot wait for your chosen window. Atlas will start those maintenance activities when needed.

Once maintenance is scheduled for your cluster, you cannot change your maintenance window until the current maintenance efforts have completed.

  • Maintenance Requires Replica Set Elections: Atlas performs maintenance the same way as the manual maintenance procedure. This requires at least one replica set election during the maintenance window per replica set.

  • Maintenance Starts As Close to the Hour As Possible: Maintenance always begins as close to the scheduled hour as possible, but in-progress cluster updates or expected system issues could delay the start time.

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.MaintenanceWindow("test",
    day_of_week=3,
    hour_of_day=4,
    project_id="<your-project-id>")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • day_of_week (pulumi.Input[float]) – Day of the week when you would like the maintenance window to start as a 1-based integer: S=1, M=2, T=3, W=4, T=5, F=6, S=7.

  • defer (pulumi.Input[bool]) – Defer maintenance for the given project for one week.

  • hour_of_day (pulumi.Input[float]) – Hour of the day when you would like the maintenance window to start. This parameter uses the 24-hour clock, where midnight is 0, noon is 12 (Time zone is UTC).

  • number_of_deferrals (pulumi.Input[float]) – Number of times the current maintenance event for this project has been deferred, you can set a maximum of 2 deferrals.

  • project_id (pulumi.Input[str]) – The unique identifier of the project for the Maintenance Window.

day_of_week: pulumi.Output[float] = None

Day of the week when you would like the maintenance window to start as a 1-based integer: S=1, M=2, T=3, W=4, T=5, F=6, S=7.

defer: pulumi.Output[bool] = None

Defer maintenance for the given project for one week.

hour_of_day: pulumi.Output[float] = None

Hour of the day when you would like the maintenance window to start. This parameter uses the 24-hour clock, where midnight is 0, noon is 12 (Time zone is UTC).

number_of_deferrals: pulumi.Output[float] = None

Number of times the current maintenance event for this project has been deferred, you can set a maximum of 2 deferrals.

project_id: pulumi.Output[str] = None

The unique identifier of the project for the Maintenance Window.

start_asap: pulumi.Output[bool] = None

Flag indicating whether project maintenance has been directed to start immediately. If you request that maintenance begin immediately, this field returns true from the time the request was made until the time the maintenance event completes.

static get(resource_name, id, opts=None, day_of_week=None, defer=None, hour_of_day=None, number_of_deferrals=None, project_id=None, start_asap=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • day_of_week (pulumi.Input[float]) – Day of the week when you would like the maintenance window to start as a 1-based integer: S=1, M=2, T=3, W=4, T=5, F=6, S=7.

  • defer (pulumi.Input[bool]) – Defer maintenance for the given project for one week.

  • hour_of_day (pulumi.Input[float]) – Hour of the day when you would like the maintenance window to start. This parameter uses the 24-hour clock, where midnight is 0, noon is 12 (Time zone is UTC).

  • number_of_deferrals (pulumi.Input[float]) – Number of times the current maintenance event for this project has been deferred, you can set a maximum of 2 deferrals.

  • project_id (pulumi.Input[str]) – The unique identifier of the project for the Maintenance Window.

  • start_asap (pulumi.Input[bool]) – Flag indicating whether project maintenance has been directed to start immediately. If you request that maintenance begin immediately, this field returns true from the time the request was made until the time the maintenance event completes.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.NetworkContainer(resource_name, opts=None, atlas_cidr_block=None, project_id=None, provider_name=None, region=None, region_name=None, __props__=None, __name__=None, __opts__=None)

.NetworkContainer provides a Network Peering Container resource. The resource lets you create, edit and delete network peering containers. The resource requires your Project ID.

IMPORTANT: This resource creates one Network Peering container into which Atlas can deploy Network Peering connections. An Atlas project can have a maximum of one container for each cloud provider. You must have either the Project Owner or Organization Owner role to successfully call this endpoint.

The following table outlines the maximum number of Network Peering containers per cloud provider:

  • Cloud Provider: GCP - Container Limit: One container per project.

  • Cloud Provider: AWS and Azure - Container Limit: One container per cloud provider region.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.NetworkContainer("test",
    atlas_cidr_block="10.8.0.0/21",
    project_id="<YOUR-PROJECT-ID>",
    provider_name="AWS",
    region_name="US_EAST_1")
import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.NetworkContainer("test",
    atlas_cidr_block="10.8.0.0/21",
    project_id="<YOUR-PROJECT-ID>",
    provider_name="GCP")
import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.NetworkContainer("test",
    atlas_cidr_block="10.8.0.0/21",
    project_id="<YOUR-PROJECT-ID>",
    provider_name="AZURE",
    region="US_EAST_2")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • atlas_cidr_block (pulumi.Input[str]) –

    CIDR block that Atlas uses for your clusters. Atlas uses the specified CIDR block for all other Network Peering connections created in the project. The Atlas CIDR block must be at least a /24 and at most a /21 in one of the following private networks.

  • project_id (pulumi.Input[str]) – The unique ID for the project to create the database user.

  • provider_name (pulumi.Input[str]) – Cloud provider for this Network Peering connection. If omitted, Atlas sets this parameter to AWS.

  • region (pulumi.Input[str]) – The Atlas Azure region name for where this container will exist.

  • region_name (pulumi.Input[str]) – The Atlas AWS region name for where this container will exist.

atlas_cidr_block: pulumi.Output[str] = None

CIDR block that Atlas uses for your clusters. Atlas uses the specified CIDR block for all other Network Peering connections created in the project. The Atlas CIDR block must be at least a /24 and at most a /21 in one of the following private networks.

azure_subscription_id: pulumi.Output[str] = None

Unique identifer of the Azure subscription in which the VNet resides.

container_id: pulumi.Output[str] = None

The Network Peering Container ID.

gcp_project_id: pulumi.Output[str] = None

Unique identifier of the GCP project in which the Network Peering connection resides.

network_name: pulumi.Output[str] = None

Name of the Network Peering connection in the Atlas project.

project_id: pulumi.Output[str] = None

The unique ID for the project to create the database user.

provider_name: pulumi.Output[str] = None

Cloud provider for this Network Peering connection. If omitted, Atlas sets this parameter to AWS.

provisioned: pulumi.Output[bool] = None

Indicates whether the project has Network Peering connections deployed in the container.

region: pulumi.Output[str] = None

The Atlas Azure region name for where this container will exist.

region_name: pulumi.Output[str] = None

The Atlas AWS region name for where this container will exist.

vnet_name: pulumi.Output[str] = None

The name of the Azure VNet. This value is null until you provision an Azure VNet in the container.

vpc_id: pulumi.Output[str] = None

Unique identifier of the project’s VPC.

static get(resource_name, id, opts=None, atlas_cidr_block=None, azure_subscription_id=None, container_id=None, gcp_project_id=None, network_name=None, project_id=None, provider_name=None, provisioned=None, region=None, region_name=None, vnet_name=None, vpc_id=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • atlas_cidr_block (pulumi.Input[str]) –

    CIDR block that Atlas uses for your clusters. Atlas uses the specified CIDR block for all other Network Peering connections created in the project. The Atlas CIDR block must be at least a /24 and at most a /21 in one of the following private networks.

  • azure_subscription_id (pulumi.Input[str]) – Unique identifer of the Azure subscription in which the VNet resides.

  • container_id (pulumi.Input[str]) – The Network Peering Container ID.

  • gcp_project_id (pulumi.Input[str]) – Unique identifier of the GCP project in which the Network Peering connection resides.

  • network_name (pulumi.Input[str]) – Name of the Network Peering connection in the Atlas project.

  • project_id (pulumi.Input[str]) – The unique ID for the project to create the database user.

  • provider_name (pulumi.Input[str]) – Cloud provider for this Network Peering connection. If omitted, Atlas sets this parameter to AWS.

  • provisioned (pulumi.Input[bool]) – Indicates whether the project has Network Peering connections deployed in the container.

  • region (pulumi.Input[str]) – The Atlas Azure region name for where this container will exist.

  • region_name (pulumi.Input[str]) – The Atlas AWS region name for where this container will exist.

  • vnet_name (pulumi.Input[str]) – The name of the Azure VNet. This value is null until you provision an Azure VNet in the container.

  • vpc_id (pulumi.Input[str]) – Unique identifier of the project’s VPC.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.NetworkPeering(resource_name, opts=None, accepter_region_name=None, atlas_cidr_block=None, atlas_gcp_project_id=None, atlas_vpc_name=None, aws_account_id=None, azure_directory_id=None, azure_subscription_id=None, container_id=None, gcp_project_id=None, network_name=None, project_id=None, provider_name=None, resource_group_name=None, route_table_cidr_block=None, vnet_name=None, vpc_id=None, __props__=None, __name__=None, __opts__=None)

Create a NetworkPeering resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] accepter_region_name: Specifies the region where the peer VPC resides. For complete lists of supported regions, see Amazon Web Services. :param pulumi.Input[str] atlas_cidr_block: Unique identifier for an Azure AD directory. :param pulumi.Input[str] atlas_gcp_project_id: The Atlas GCP Project ID for the GCP VPC used by your atlas cluster that it is need to set up the reciprocal connection. :param pulumi.Input[str] atlas_vpc_name: The Atlas VPC Name is used by your atlas clister that it is need to set up the reciprocal connection. :param pulumi.Input[str] aws_account_id: Account ID of the owner of the peer VPC. :param pulumi.Input[str] azure_directory_id: Unique identifier for an Azure AD directory. :param pulumi.Input[str] azure_subscription_id: Unique identifer of the Azure subscription in which the VNet resides. :param pulumi.Input[str] container_id: Unique identifier of the Atlas VPC container for the region. You can create an Atlas VPC container using the Create Container endpoint. You cannot create more than one container per region. To retrieve a list of container IDs, use the Get list of VPC containers endpoint. :param pulumi.Input[str] gcp_project_id: GCP project ID of the owner of the network peer. :param pulumi.Input[str] network_name: Name of the network peer to which Atlas connects. :param pulumi.Input[str] project_id: The unique ID for the project to create the database user. :param pulumi.Input[str] provider_name: Cloud provider for this VPC peering connection. (Possible Values AWS, AZURE, GCP). :param pulumi.Input[str] resource_group_name: Name of your Azure resource group. :param pulumi.Input[str] route_table_cidr_block: Peer VPC CIDR block or subnet. :param pulumi.Input[str] vnet_name: Name of your Azure VNet. :param pulumi.Input[str] vpc_id: Unique identifier of the peer VPC.

accepter_region_name: pulumi.Output[str] = None

Specifies the region where the peer VPC resides. For complete lists of supported regions, see Amazon Web Services.

atlas_cidr_block: pulumi.Output[str] = None

Unique identifier for an Azure AD directory.

atlas_gcp_project_id: pulumi.Output[str] = None

The Atlas GCP Project ID for the GCP VPC used by your atlas cluster that it is need to set up the reciprocal connection.

atlas_vpc_name: pulumi.Output[str] = None

The Atlas VPC Name is used by your atlas clister that it is need to set up the reciprocal connection.

aws_account_id: pulumi.Output[str] = None

Account ID of the owner of the peer VPC.

azure_directory_id: pulumi.Output[str] = None

Unique identifier for an Azure AD directory.

azure_subscription_id: pulumi.Output[str] = None

Unique identifer of the Azure subscription in which the VNet resides.

connection_id: pulumi.Output[str] = None

Unique identifier for the peering connection.

container_id: pulumi.Output[str] = None

Unique identifier of the Atlas VPC container for the region. You can create an Atlas VPC container using the Create Container endpoint. You cannot create more than one container per region. To retrieve a list of container IDs, use the Get list of VPC containers endpoint.

error_message: pulumi.Output[str] = None

When "status" : "FAILED", Atlas provides a description of the error.

error_state: pulumi.Output[str] = None

Description of the Atlas error when status is Failed, Otherwise, Atlas returns null.

error_state_name: pulumi.Output[str] = None

Error state, if any. The VPC peering connection error state value can be one of the following: REJECTED, EXPIRED, INVALID_ARGUMENT.

gcp_project_id: pulumi.Output[str] = None

GCP project ID of the owner of the network peer.

network_name: pulumi.Output[str] = None

Name of the network peer to which Atlas connects.

peer_id: pulumi.Output[str] = None

The Network Peering Container ID.

project_id: pulumi.Output[str] = None

The unique ID for the project to create the database user.

provider_name: pulumi.Output[str] = None

Cloud provider for this VPC peering connection. (Possible Values AWS, AZURE, GCP).

resource_group_name: pulumi.Output[str] = None

Name of your Azure resource group.

route_table_cidr_block: pulumi.Output[str] = None

Peer VPC CIDR block or subnet.

status: pulumi.Output[str] = None

(Azure/GCP Only) Status of the Atlas network peering connection. Azure/GCP: ADDING_PEER, AVAILABLE, FAILED, DELETING GCP Only: WAITING_FOR_USER.

status_name: pulumi.Output[str] = None

(AWS Only) The VPC peering connection status value can be one of the following: INITIATING, PENDING_ACCEPTANCE, FAILED, FINALIZING, AVAILABLE, TERMINATING.

vnet_name: pulumi.Output[str] = None

Name of your Azure VNet.

vpc_id: pulumi.Output[str] = None

Unique identifier of the peer VPC.

static get(resource_name, id, opts=None, accepter_region_name=None, atlas_cidr_block=None, atlas_gcp_project_id=None, atlas_id=None, atlas_vpc_name=None, aws_account_id=None, azure_directory_id=None, azure_subscription_id=None, connection_id=None, container_id=None, error_message=None, error_state=None, error_state_name=None, gcp_project_id=None, network_name=None, peer_id=None, project_id=None, provider_name=None, resource_group_name=None, route_table_cidr_block=None, status=None, status_name=None, vnet_name=None, vpc_id=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • accepter_region_name (pulumi.Input[str]) –

    Specifies the region where the peer VPC resides. For complete lists of supported regions, see Amazon Web Services.

  • atlas_cidr_block (pulumi.Input[str]) – Unique identifier for an Azure AD directory.

  • atlas_gcp_project_id (pulumi.Input[str]) – The Atlas GCP Project ID for the GCP VPC used by your atlas cluster that it is need to set up the reciprocal connection.

  • atlas_vpc_name (pulumi.Input[str]) – The Atlas VPC Name is used by your atlas clister that it is need to set up the reciprocal connection.

  • aws_account_id (pulumi.Input[str]) – Account ID of the owner of the peer VPC.

  • azure_directory_id (pulumi.Input[str]) – Unique identifier for an Azure AD directory.

  • azure_subscription_id (pulumi.Input[str]) – Unique identifer of the Azure subscription in which the VNet resides.

  • connection_id (pulumi.Input[str]) – Unique identifier for the peering connection.

  • container_id (pulumi.Input[str]) – Unique identifier of the Atlas VPC container for the region. You can create an Atlas VPC container using the Create Container endpoint. You cannot create more than one container per region. To retrieve a list of container IDs, use the Get list of VPC containers endpoint.

  • error_message (pulumi.Input[str]) – When "status" : "FAILED", Atlas provides a description of the error.

  • error_state (pulumi.Input[str]) – Description of the Atlas error when status is Failed, Otherwise, Atlas returns null.

  • error_state_name (pulumi.Input[str]) – Error state, if any. The VPC peering connection error state value can be one of the following: REJECTED, EXPIRED, INVALID_ARGUMENT.

  • gcp_project_id (pulumi.Input[str]) – GCP project ID of the owner of the network peer.

  • network_name (pulumi.Input[str]) – Name of the network peer to which Atlas connects.

  • peer_id (pulumi.Input[str]) – The Network Peering Container ID.

  • project_id (pulumi.Input[str]) – The unique ID for the project to create the database user.

  • provider_name (pulumi.Input[str]) – Cloud provider for this VPC peering connection. (Possible Values AWS, AZURE, GCP).

  • resource_group_name (pulumi.Input[str]) – Name of your Azure resource group.

  • route_table_cidr_block (pulumi.Input[str]) – Peer VPC CIDR block or subnet.

  • status (pulumi.Input[str]) – (Azure/GCP Only) Status of the Atlas network peering connection. Azure/GCP: ADDING_PEER, AVAILABLE, FAILED, DELETING GCP Only: WAITING_FOR_USER.

  • status_name (pulumi.Input[str]) – (AWS Only) The VPC peering connection status value can be one of the following: INITIATING, PENDING_ACCEPTANCE, FAILED, FINALIZING, AVAILABLE, TERMINATING.

  • vnet_name (pulumi.Input[str]) – Name of your Azure VNet.

  • vpc_id (pulumi.Input[str]) – Unique identifier of the peer VPC.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.PrivateEndpoint(resource_name, opts=None, project_id=None, provider_name=None, region=None, __props__=None, __name__=None, __opts__=None)

.PrivateEndpoint provides a Private Endpoint resource. This represents a Private Endpoint Connection that can be created in an Atlas project.

IMPORTANT:You must have one of the following roles to successfully handle the resource:

  • Organization Owner

  • Project Owner

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.PrivateEndpoint("test",
    project_id="<PROJECT-ID>",
    provider_name="AWS",
    region="us-east-1")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • project_id (pulumi.Input[str]) – Required Unique identifier for the project.

  • region (pulumi.Input[str]) – Cloud provider region in which you want to create the private endpoint connection. Accepted values are:

* `us-east-1`
* `us-east-2`
* `us-west-1`
* `us-west-2`
* `ca-central-1`
* `sa-east-1`
* `eu-north-1`
* `eu-west-1`
* `eu-west-2`
* `eu-west-3`
* `eu-central-1`
* `me-south-1`
* `ap-northeast-1`
* `ap-northeast-2`
* `ap-south-1`
* `ap-southeast-1`
* `ap-southeast-2`
* `ap-east-1`
endpoint_service_name: pulumi.Output[str] = None

Name of the PrivateLink endpoint service in AWS. Returns null while the endpoint service is being created.

error_message: pulumi.Output[str] = None

Error message pertaining to the AWS PrivateLink connection. Returns null if there are no errors.

interface_endpoints: pulumi.Output[list] = None

Unique identifiers of the interface endpoints in your VPC that you added to the AWS PrivateLink connection.

Unique identifier of the AWS PrivateLink connection.

project_id: pulumi.Output[str] = None

Required Unique identifier for the project.

region: pulumi.Output[str] = None

Cloud provider region in which you want to create the private endpoint connection. Accepted values are:

  • us-east-1

  • us-east-2

  • us-west-1

  • us-west-2

  • ca-central-1

  • sa-east-1

  • eu-north-1

  • eu-west-1

  • eu-west-2

  • eu-west-3

  • eu-central-1

  • me-south-1

  • ap-northeast-1

  • ap-northeast-2

  • ap-south-1

  • ap-southeast-1

  • ap-southeast-2

  • ap-east-1

status: pulumi.Output[str] = None

Status of the AWS PrivateLink connection. Returns one of the following values:

static get(resource_name, id, opts=None, endpoint_service_name=None, error_message=None, interface_endpoints=None, private_link_id=None, project_id=None, provider_name=None, region=None, status=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • endpoint_service_name (pulumi.Input[str]) – Name of the PrivateLink endpoint service in AWS. Returns null while the endpoint service is being created.

  • error_message (pulumi.Input[str]) – Error message pertaining to the AWS PrivateLink connection. Returns null if there are no errors.

  • interface_endpoints (pulumi.Input[list]) – Unique identifiers of the interface endpoints in your VPC that you added to the AWS PrivateLink connection.

  • private_link_id (pulumi.Input[str]) – Unique identifier of the AWS PrivateLink connection.

  • project_id (pulumi.Input[str]) – Required Unique identifier for the project.

  • region (pulumi.Input[str]) – Cloud provider region in which you want to create the private endpoint connection. Accepted values are:

* `us-east-1`
* `us-east-2`
* `us-west-1`
* `us-west-2`
* `ca-central-1`
* `sa-east-1`
* `eu-north-1`
* `eu-west-1`
* `eu-west-2`
* `eu-west-3`
* `eu-central-1`
* `me-south-1`
* `ap-northeast-1`
* `ap-northeast-2`
* `ap-south-1`
* `ap-southeast-1`
* `ap-southeast-2`
* `ap-east-1`
Parameters

status (pulumi.Input[str]) – Status of the AWS PrivateLink connection. Returns one of the following values:

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

.PrivateEndpointInterfaceLink provides a Private Endpoint Interface Link resource. This represents a Private Endpoint Interface Link, which adds one interface endpoint to a private endpoint connection in an Atlas project.

IMPORTANT:You must have one of the following roles to successfully handle the resource:

  • Organization Owner

  • Project Owner

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

import pulumi
import pulumi_aws as aws
import pulumi_mongodbatlas as mongodbatlas

test_private_endpoint = mongodbatlas.PrivateEndpoint("testPrivateEndpoint",
    project_id="<PROJECT_ID>",
    provider_name="AWS",
    region="us-east-1")
ptfe_service = aws.ec2.VpcEndpoint("ptfeService",
    security_group_ids=["sg-3f238186"],
    service_name=test_private_endpoint.endpoint_service_name,
    subnet_ids=["subnet-de0406d2"],
    vpc_endpoint_type="Interface",
    vpc_id="vpc-7fc0a543")
test_private_endpoint_interface_link = mongodbatlas.PrivateEndpointInterfaceLink("testPrivateEndpointInterfaceLink",
    interface_endpoint_id=ptfe_service.id,
    private_link_id=test_private_endpoint.private_link_id,
    project_id=test_private_endpoint.project_id)
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • interface_endpoint_id (pulumi.Input[str]) – Unique identifier of the interface endpoint you created in your VPC with the AWS resource.

  • private_link_id (pulumi.Input[str]) – Unique identifier of the AWS PrivateLink connection which is created by .PrivateEndpoint resource.

  • project_id (pulumi.Input[str]) – Unique identifier for the project.

connection_status: pulumi.Output[str] = None

Status of the interface endpoint. Returns one of the following values:

delete_requested: pulumi.Output[bool] = None

Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.

error_message: pulumi.Output[str] = None

Error message pertaining to the interface endpoint. Returns null if there are no errors.

interface_endpoint_id: pulumi.Output[str] = None

Unique identifier of the interface endpoint you created in your VPC with the AWS resource.

Unique identifier of the AWS PrivateLink connection which is created by .PrivateEndpoint resource.

project_id: pulumi.Output[str] = None

Unique identifier for the project.

static get(resource_name, id, opts=None, connection_status=None, delete_requested=None, error_message=None, interface_endpoint_id=None, private_link_id=None, project_id=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • connection_status (pulumi.Input[str]) – Status of the interface endpoint. Returns one of the following values:

  • delete_requested (pulumi.Input[bool]) – Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.

  • error_message (pulumi.Input[str]) – Error message pertaining to the interface endpoint. Returns null if there are no errors.

  • interface_endpoint_id (pulumi.Input[str]) – Unique identifier of the interface endpoint you created in your VPC with the AWS resource.

  • private_link_id (pulumi.Input[str]) – Unique identifier of the AWS PrivateLink connection which is created by .PrivateEndpoint resource.

  • project_id (pulumi.Input[str]) – Unique identifier for the project.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.PrivateIpMode(resource_name, opts=None, enabled=None, project_id=None, __props__=None, __name__=None, __opts__=None)

.PrivateIpMode provides a Private IP Mode resource. This allows one to disable Connect via Peering Only mode for a MongoDB Atlas Project.

Deprecated Feature:
This feature has been deprecated. Use Split Horizon connection strings to connect to your cluster. These connection strings allow you to connect using both VPC/VNet Peering and whitelisted public IP addresses. To learn more about support for Split Horizon, see this FAQ. You need this endpoint to disable Peering Only.

import pulumi
import pulumi_mongodbatlas as mongodbatlas

my_private_ip_mode = mongodbatlas.PrivateIpMode("myPrivateIpMode",
    enabled=False,
    project_id="<YOUR PROJECT ID>")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • enabled (pulumi.Input[bool]) – Indicates whether Connect via Peering Only mode is enabled or disabled for an Atlas project

  • project_id (pulumi.Input[str]) – The unique ID for the project to enable Only Private IP Mode.

enabled: pulumi.Output[bool] = None

Indicates whether Connect via Peering Only mode is enabled or disabled for an Atlas project

project_id: pulumi.Output[str] = None

The unique ID for the project to enable Only Private IP Mode.

static get(resource_name, id, opts=None, enabled=None, project_id=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • enabled (pulumi.Input[bool]) – Indicates whether Connect via Peering Only mode is enabled or disabled for an Atlas project

  • project_id (pulumi.Input[str]) – The unique ID for the project to enable Only Private IP Mode.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.Project(resource_name, opts=None, name=None, org_id=None, teams=None, __props__=None, __name__=None, __opts__=None)

Create a Project resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] name: The name of the project you want to create. (Cannot be changed via this Provider after creation.) :param pulumi.Input[str] org_id: The ID of the organization you want to create the project within.

The teams object supports the following:

  • roleNames (pulumi.Input[list]) - Each string in the array represents a project role you want to assign to the team. Every user associated with the team inherits these roles. You must specify an array even if you are only associating a single role with the team. The following are valid roles:

    • GROUP_OWNER

    • GROUP_READ_ONLY

    • GROUP_DATA_ACCESS_ADMIN

    • GROUP_DATA_ACCESS_READ_WRITE

    • GROUP_DATA_ACCESS_READ_ONLY

    • GROUP_CLUSTER_MANAGER

  • team_id (pulumi.Input[str]) - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization.

cluster_count: pulumi.Output[float] = None

The number of Atlas clusters deployed in the project..

created: pulumi.Output[str] = None

The ISO-8601-formatted timestamp of when Atlas created the project..

name: pulumi.Output[str] = None

The name of the project you want to create. (Cannot be changed via this Provider after creation.)

org_id: pulumi.Output[str] = None

The ID of the organization you want to create the project within.

static get(resource_name, id, opts=None, cluster_count=None, created=None, name=None, org_id=None, teams=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • cluster_count (pulumi.Input[float]) – The number of Atlas clusters deployed in the project..

  • created (pulumi.Input[str]) – The ISO-8601-formatted timestamp of when Atlas created the project..

  • name (pulumi.Input[str]) – The name of the project you want to create. (Cannot be changed via this Provider after creation.)

  • org_id (pulumi.Input[str]) – The ID of the organization you want to create the project within.

The teams object supports the following:

  • roleNames (pulumi.Input[list]) - Each string in the array represents a project role you want to assign to the team. Every user associated with the team inherits these roles. You must specify an array even if you are only associating a single role with the team. The following are valid roles:

    • GROUP_OWNER

    • GROUP_READ_ONLY

    • GROUP_DATA_ACCESS_ADMIN

    • GROUP_DATA_ACCESS_READ_WRITE

    • GROUP_DATA_ACCESS_READ_ONLY

    • GROUP_CLUSTER_MANAGER

  • team_id (pulumi.Input[str]) - The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.ProjectIpWhitelist(resource_name, opts=None, aws_security_group=None, cidr_block=None, comment=None, ip_address=None, project_id=None, __props__=None, __name__=None, __opts__=None)

.ProjectIpWhitelist provides an IP Whitelist entry resource. The whitelist grants access from IPs, CIDRs or AWS Security Groups (if VPC Peering is enabled) to clusters within the Project.

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

IMPORTANT: When you remove an entry from the whitelist, existing connections from the removed address(es) may remain open for a variable amount of time. How much time passes before Atlas closes the connection depends on several factors, including how the connection was established, the particular behavior of the application or driver using the address, and the connection protocol (e.g., TCP or UDP). This is particularly important to consider when changing an existing IP address or CIDR block as they cannot be updated via the Provider (comments can however), hence a change will force the destruction and recreation of entries.

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.ProjectIpWhitelist("test",
    cidr_block="1.2.3.4/32",
    comment="cidr block for tf acc testing",
    project_id="<PROJECT-ID>")
import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.ProjectIpWhitelist("test",
    comment="ip address for tf acc testing",
    ip_address="2.3.4.5",
    project_id="<PROJECT-ID>")
import pulumi
import pulumi_mongodbatlas as mongodbatlas

test_network_container = mongodbatlas.NetworkContainer("testNetworkContainer",
    project_id="<PROJECT-ID>",
    atlas_cidr_block="192.168.208.0/21",
    provider_name="AWS",
    region_name="US_EAST_1")
test_network_peering = mongodbatlas.NetworkPeering("testNetworkPeering",
    project_id="<PROJECT-ID>",
    container_id=test_network_container.container_id,
    accepter_region_name="us-east-1",
    provider_name="AWS",
    route_table_cidr_block="172.31.0.0/16",
    vpc_id="vpc-0d93d6f69f1578bd8",
    aws_account_id="232589400519")
test_project_ip_whitelist = mongodbatlas.ProjectIpWhitelist("testProjectIpWhitelist",
    project_id="<PROJECT-ID>",
    aws_security_group="sg-0026348ec11780bd1",
    comment="TestAcc for awsSecurityGroup")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • aws_security_group (pulumi.Input[str]) – ID of the whitelisted AWS security group. Mutually exclusive with cidr_block and ip_address.

  • cidr_block (pulumi.Input[str]) – Whitelist entry in Classless Inter-Domain Routing (CIDR) notation. Mutually exclusive with aws_security_group and ip_address.

  • comment (pulumi.Input[str]) – Comment to add to the whitelist entry.

  • ip_address (pulumi.Input[str]) – Whitelisted IP address. Mutually exclusive with aws_security_group and cidr_block.

  • project_id (pulumi.Input[str]) – The ID of the project in which to add the whitelist entry.

aws_security_group: pulumi.Output[str] = None

ID of the whitelisted AWS security group. Mutually exclusive with cidr_block and ip_address.

cidr_block: pulumi.Output[str] = None

Whitelist entry in Classless Inter-Domain Routing (CIDR) notation. Mutually exclusive with aws_security_group and ip_address.

comment: pulumi.Output[str] = None

Comment to add to the whitelist entry.

ip_address: pulumi.Output[str] = None

Whitelisted IP address. Mutually exclusive with aws_security_group and cidr_block.

project_id: pulumi.Output[str] = None

The ID of the project in which to add the whitelist entry.

static get(resource_name, id, opts=None, aws_security_group=None, cidr_block=None, comment=None, ip_address=None, project_id=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • aws_security_group (pulumi.Input[str]) – ID of the whitelisted AWS security group. Mutually exclusive with cidr_block and ip_address.

  • cidr_block (pulumi.Input[str]) – Whitelist entry in Classless Inter-Domain Routing (CIDR) notation. Mutually exclusive with aws_security_group and ip_address.

  • comment (pulumi.Input[str]) – Comment to add to the whitelist entry.

  • ip_address (pulumi.Input[str]) – Whitelisted IP address. Mutually exclusive with aws_security_group and cidr_block.

  • project_id (pulumi.Input[str]) – The ID of the project in which to add the whitelist entry.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.Provider(resource_name, opts=None, private_key=None, public_key=None, __props__=None, __name__=None, __opts__=None)

The provider type for the mongodbatlas package. By default, resources use package-wide configuration settings, however an explicit Provider instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the documentation for more information.

Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • private_key (pulumi.Input[str]) – MongoDB Atlas Programmatic Private Key

  • public_key (pulumi.Input[str]) – MongoDB Atlas Programmatic Public Key

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.Team(resource_name, opts=None, name=None, org_id=None, usernames=None, __props__=None, __name__=None, __opts__=None)

.Teams provides a Team resource. The resource lets you create, edit and delete Teams. Also, Teams can be assigned to multiple projects, and team members’ access to the project is determined by the team’s project role.

IMPORTANT: MongoDB Atlas Team limits: max 250 teams in an organization and max 100 teams per project.

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

MongoDB Atlas Team limits: max 250 teams in an organization and max 100 teams per project.

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.Teams("test",
    org_id="<ORGANIZATION-ID>",
    usernames=[
        "user1",
        "user2",
        "user3",
    ])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – The name of the team you want to create.

  • org_id (pulumi.Input[str]) – The unique identifier for the organization you want to associate the team with.

  • usernames (pulumi.Input[list]) – You can only add Atlas users who are part of the organization. Users who have not accepted an invitation to join the organization cannot be added as team members. There is a maximum of 250 Atlas users per team.

name: pulumi.Output[str] = None

The name of the team you want to create.

org_id: pulumi.Output[str] = None

The unique identifier for the organization you want to associate the team with.

team_id: pulumi.Output[str] = None

The unique identifier for the team.

usernames: pulumi.Output[list] = None

You can only add Atlas users who are part of the organization. Users who have not accepted an invitation to join the organization cannot be added as team members. There is a maximum of 250 Atlas users per team.

static get(resource_name, id, opts=None, name=None, org_id=None, team_id=None, usernames=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – The name of the team you want to create.

  • org_id (pulumi.Input[str]) – The unique identifier for the organization you want to associate the team with.

  • team_id (pulumi.Input[str]) – The unique identifier for the team.

  • usernames (pulumi.Input[list]) – You can only add Atlas users who are part of the organization. Users who have not accepted an invitation to join the organization cannot be added as team members. There is a maximum of 250 Atlas users per team.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.Teams(resource_name, opts=None, name=None, org_id=None, usernames=None, __props__=None, __name__=None, __opts__=None)

Create a Teams resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource.

static get(resource_name, id, opts=None, name=None, org_id=None, team_id=None, usernames=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_mongodbatlas.X509AuthenticationDatabaseUser(resource_name, opts=None, customer_x509_cas=None, months_until_expiration=None, project_id=None, username=None, __props__=None, __name__=None, __opts__=None)

.X509AuthenticationDatabaseUser provides a X509 Authentication Database User resource. The .X509AuthenticationDatabaseUser resource lets you manage MongoDB users who authenticate using X.509 certificates. You can manage these X.509 certificates or let Atlas do it for you.

Management

Description

Atlas

Atlas manages your Certificate Authority and can generate certificates for your MongoDB users. No additional X.509 configuration is required.

Customer

You must provide a Certificate Authority and generate certificates for your MongoDB users.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

user = mongodbatlas.DatabaseUser("user",
    database_name="$$external",
    labels=[{
        "key": "My Key",
        "value": "My Value",
    }],
    project_id="<PROJECT-ID>",
    roles=[{
        "database_name": "admin",
        "role_name": "atlasAdmin",
    }],
    username="myUsername",
    x509_type="MANAGED")
test = mongodbatlas.X509AuthenticationDatabaseUser("test",
    months_until_expiration=2,
    project_id=user.project_id,
    username=user.username)
import pulumi
import pulumi_mongodbatlas as mongodbatlas

test = mongodbatlas.X509AuthenticationDatabaseUser("test",
    customer_x509_cas="""  -----BEGIN CERTIFICATE-----
  MIICmTCCAgICCQDZnHzklxsT9TANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMC
  VVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xETAPBgNVBAoMCHRl
  c3QuY29tMQ0wCwYDVQQLDARUZXN0MREwDwYDVQQDDAh0ZXN0LmNvbTErMCkGCSqG
  SIb3DQEJARYcbWVsaXNzYS5wbHVua2V0dEBtb25nb2RiLmNvbTAeFw0yMDAyMDQy
  MDQ2MDFaFw0yMTAyMDMyMDQ2MDFaMIGQMQswCQYDVQQGEwJVUzEOMAwGA1UECAwF
  VGV4YXMxDzANBgNVBAcMBkF1c3RpbjERMA8GA1UECgwIdGVzdC5jb20xDTALBgNV
  BAsMBFRlc3QxETAPBgNVBAMMCHRlc3QuY29tMSswKQYJKoZIhvcNAQkBFhxtZWxp
  c3NhLnBsdW5rZXR0QG1vbmdvZGIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
  iQKBgQCf1LRqr1zftzdYx2Aj9G76tb0noMPtj6faGLlPji1+m6Rn7RWD9L0ntWAr
  cURxvypa9jZ9MXFzDtLevvd3tHEmfrUT3ukNDX6+Jtc4kWm+Dh2A70Pd+deKZ2/O
  Fh8audEKAESGXnTbeJCeQa1XKlIkjqQHBNwES5h1b9vJtFoLJwIDAQABMA0GCSqG
  SIb3DQEBCwUAA4GBADMUncjEPV/MiZUcVNGmktP6BPmEqMXQWUDpdGW2+Tg2JtUA
  7MMILtepBkFzLO+GlpZxeAlXO0wxiNgEmCRONgh4+t2w3e7a8GFijYQ99FHrAC5A
  iul59bdl18gVqXia1Yeq/iK7Ohfy/Jwd7Hsm530elwkM/ZEkYDjBlZSXYdyz
  -----END CERTIFICATE-----"

""",
    project_id="<PROJECT-ID>")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • customer_x509_cas (pulumi.Input[str]) – PEM string containing one or more customer CAs for database user authentication.

  • months_until_expiration (pulumi.Input[float]) – A number of months that the created certificate is valid for before expiry, up to 24 months. By default is 3.

  • project_id (pulumi.Input[str]) – Identifier for the Atlas project associated with the X.509 configuration.

  • username (pulumi.Input[str]) – Username of the database user to create a certificate for.

certificates: pulumi.Output[list] = None

Array of objects where each details one unexpired database user certificate.

  • created_at (str)

  • groupId (str)

  • id (float)

  • notAfter (str)

  • subject (str)

current_certificate: pulumi.Output[str] = None

Contains the last X.509 certificate and private key created for a database user.

customer_x509_cas: pulumi.Output[str] = None

PEM string containing one or more customer CAs for database user authentication.

months_until_expiration: pulumi.Output[float] = None

A number of months that the created certificate is valid for before expiry, up to 24 months. By default is 3.

project_id: pulumi.Output[str] = None

Identifier for the Atlas project associated with the X.509 configuration.

username: pulumi.Output[str] = None

Username of the database user to create a certificate for.

static get(resource_name, id, opts=None, certificates=None, current_certificate=None, customer_x509_cas=None, months_until_expiration=None, project_id=None, username=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • certificates (pulumi.Input[list]) – Array of objects where each details one unexpired database user certificate.

  • current_certificate (pulumi.Input[str]) – Contains the last X.509 certificate and private key created for a database user.

  • customer_x509_cas (pulumi.Input[str]) – PEM string containing one or more customer CAs for database user authentication.

  • months_until_expiration (pulumi.Input[float]) – A number of months that the created certificate is valid for before expiry, up to 24 months. By default is 3.

  • project_id (pulumi.Input[str]) – Identifier for the Atlas project associated with the X.509 configuration.

  • username (pulumi.Input[str]) – Username of the database user to create a certificate for.

The certificates object supports the following:

  • created_at (pulumi.Input[str])

  • groupId (pulumi.Input[str])

  • id (pulumi.Input[float])

  • notAfter (pulumi.Input[str])

  • subject (pulumi.Input[str])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

pulumi_mongodbatlas.get509_authentication_database_user(project_id=None, username=None, opts=None)

.X509AuthenticationDatabaseUser describe a X509 Authentication Database User. This represents a X509 Authentication Database User.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

user = mongodbatlas.DatabaseUser("user",
    database_name="$$external",
    labels=[{
        "key": "My Key",
        "value": "My Value",
    }],
    project_id="<PROJECT-ID>",
    roles=[{
        "database_name": "admin",
        "role_name": "atlasAdmin",
    }],
    username="myUsername",
    x509_type="MANAGED")
test_x509_authentication_database_user = mongodbatlas.X509AuthenticationDatabaseUser("testX509AuthenticationDatabaseUser",
    months_until_expiration=2,
    project_id=user.project_id,
    username=user.username)
test509_authentication_database_user = pulumi.Output.all(test_x509_authentication_database_user.project_id, test_x509_authentication_database_user.username).apply(lambda project_id, username: mongodbatlas.get509_authentication_database_user(project_id=project_id,
    username=username))
import pulumi
import pulumi_mongodbatlas as mongodbatlas

test_x509_authentication_database_user = mongodbatlas.X509AuthenticationDatabaseUser("testX509AuthenticationDatabaseUser",
    customer_x509_cas="""  -----BEGIN CERTIFICATE-----
  MIICmTCCAgICCQDZnHzklxsT9TANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMC
  VVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xETAPBgNVBAoMCHRl
  c3QuY29tMQ0wCwYDVQQLDARUZXN0MREwDwYDVQQDDAh0ZXN0LmNvbTErMCkGCSqG
  SIb3DQEJARYcbWVsaXNzYS5wbHVua2V0dEBtb25nb2RiLmNvbTAeFw0yMDAyMDQy
  MDQ2MDFaFw0yMTAyMDMyMDQ2MDFaMIGQMQswCQYDVQQGEwJVUzEOMAwGA1UECAwF
  VGV4YXMxDzANBgNVBAcMBkF1c3RpbjERMA8GA1UECgwIdGVzdC5jb20xDTALBgNV
  BAsMBFRlc3QxETAPBgNVBAMMCHRlc3QuY29tMSswKQYJKoZIhvcNAQkBFhxtZWxp
  c3NhLnBsdW5rZXR0QG1vbmdvZGIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
  iQKBgQCf1LRqr1zftzdYx2Aj9G76tb0noMPtj6faGLlPji1+m6Rn7RWD9L0ntWAr
  cURxvypa9jZ9MXFzDtLevvd3tHEmfrUT3ukNDX6+Jtc4kWm+Dh2A70Pd+deKZ2/O
  Fh8audEKAESGXnTbeJCeQa1XKlIkjqQHBNwES5h1b9vJtFoLJwIDAQABMA0GCSqG
  SIb3DQEBCwUAA4GBADMUncjEPV/MiZUcVNGmktP6BPmEqMXQWUDpdGW2+Tg2JtUA
  7MMILtepBkFzLO+GlpZxeAlXO0wxiNgEmCRONgh4+t2w3e7a8GFijYQ99FHrAC5A
  iul59bdl18gVqXia1Yeq/iK7Ohfy/Jwd7Hsm530elwkM/ZEkYDjBlZSXYdyz
  -----END CERTIFICATE-----"

""",
    project_id="<PROJECT-ID>")
test509_authentication_database_user = test_x509_authentication_database_user.project_id.apply(lambda project_id: mongodbatlas.get509_authentication_database_user(project_id=project_id))
Parameters
  • project_id (str) – Identifier for the Atlas project associated with the X.509 configuration.

  • username (str) – Username of the database user to create a certificate for.

pulumi_mongodbatlas.get_alert_configuration(alert_configuration_id=None, project_id=None, opts=None)

.AlertConfiguration describes an Alert Configuration.

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

Parameters
  • alert_configuration_id (str) – Unique identifier for the alert configuration.

  • project_id (str) – The ID of the project where the alert configuration will create.

pulumi_mongodbatlas.get_auditing(project_id=None, opts=None)

.Auditing describes a Auditing.

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

Parameters

project_id (str) – The unique ID for the project to create the database user.

pulumi_mongodbatlas.get_cloud_provider_snapshot(cluster_name=None, project_id=None, snapshot_id=None, opts=None)

.CloudProviderSnapshot provides an Cloud Provider Snapshot entry datasource. Atlas Cloud Provider Snapshots provide localized backup storage using the native snapshot functionality of the cluster’s cloud service provider.

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

Parameters
  • cluster_name (str) – The name of the Atlas cluster that contains the snapshot you want to retrieve.

  • snapshot_id (str) – The unique identifier of the snapshot you want to retrieve.

pulumi_mongodbatlas.get_cloud_provider_snapshot_backup_policy(cluster_name=None, project_id=None, opts=None)

.CloudProviderSnapshotBackupPolicy provides a Cloud Provider Snapshot Backup Policy entry datasource. An Atlas Cloud Provider Snapshot Backup Policy provides the current snapshot schedule and retention settings for the cluster.

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

Parameters
  • cluster_name (str) – The name of the Atlas cluster that contains the snapshots backup policy you want to retrieve.

  • project_id (str) – The unique identifier of the project for the Atlas cluster.

pulumi_mongodbatlas.get_cloud_provider_snapshot_restore_job(cluster_name=None, job_id=None, project_id=None, opts=None)

.CloudProviderSnapshotRestoreJob provides a Cloud Provider Snapshot Restore Job entry datasource. Gets all cloud provider snapshot restore jobs for the specified cluster.

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

Parameters
  • cluster_name (str) – The name of the Atlas cluster for which you want to retrieve the restore job.

  • job_id (str) – The unique identifier of the restore job to retrieve.

  • project_id (str) – The unique identifier of the project for the Atlas cluster.

pulumi_mongodbatlas.get_cloud_provider_snapshot_restore_jobs(cluster_name=None, project_id=None, opts=None)

.getCloudProviderSnapshotRestoreJobs provides a Cloud Provider Snapshot Restore Jobs entry datasource. Gets all cloud provider snapshot restore jobs for the specified cluster.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test_cloud_provider_snapshot = mongodbatlas.CloudProviderSnapshot("testCloudProviderSnapshot",
    cluster_name="MyCluster",
    description="MyDescription",
    project_id="5cf5a45a9ccf6400e60981b6",
    retention_in_days=1)
test_cloud_provider_snapshot_restore_job = mongodbatlas.CloudProviderSnapshotRestoreJob("testCloudProviderSnapshotRestoreJob",
    cluster_name="MyCluster",
    delivery_type={
        "automated": True,
        "target_cluster_name": "MyCluster",
        "target_project_id": "5cf5a45a9ccf6400e60981b6",
    },
    project_id="5cf5a45a9ccf6400e60981b6",
    snapshot_id=test_cloud_provider_snapshot.id)
test_cloud_provider_snapshot_restore_jobs = pulumi.Output.all(test_cloud_provider_snapshot_restore_job.cluster_name, test_cloud_provider_snapshot_restore_job.project_id).apply(lambda cluster_name, project_id: mongodbatlas.get_cloud_provider_snapshot_restore_jobs(cluster_name=cluster_name,
    project_id=project_id))
Parameters
  • cluster_name (str) – The name of the Atlas cluster for which you want to retrieve restore jobs.

  • project_id (str) – The unique identifier of the project for the Atlas cluster.

pulumi_mongodbatlas.get_cloud_provider_snapshots(cluster_name=None, project_id=None, opts=None)

.getCloudProviderSnapshots provides an Cloud Provider Snapshot entry datasource. Atlas Cloud Provider Snapshots provide localized backup storage using the native snapshot functionality of the cluster’s cloud service provider.

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

Parameters

cluster_name (str) – The name of the Atlas cluster that contains the snapshot you want to retrieve.

pulumi_mongodbatlas.get_cluster(name=None, project_id=None, opts=None)

.Cluster describes a Cluster. The. The data source requires your Project ID.

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

IMPORTANT:
&#8226; Changes to cluster configurations can affect costs. Before making changes, please see Billing.
&#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role.

Parameters
  • name (str) – Name of the cluster as it appears in Atlas. Once the cluster is created, its name cannot be changed.

  • project_id (str) – The unique ID for the project to create the database user.

pulumi_mongodbatlas.get_clusters(project_id=None, opts=None)

.Cluster describes all Clusters by the provided project_id. The data source requires your Project ID.

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

IMPORTANT:
&#8226; Changes to cluster configurations can affect costs. Before making changes, please see Billing.
&#8226; If your Atlas project contains a custom role that uses actions introduced in a specific MongoDB version, you cannot create a cluster with a MongoDB version less than that version unless you delete the custom role.

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test_cluster = mongodbatlas.Cluster("testCluster",
    project_id="<YOUR-PROJECT-ID>",
    disk_size_gb=100,
    num_shards=1,
    replication_factor=3,
    provider_backup_enabled=True,
    auto_scaling_disk_gb_enabled=True,
    provider_name="AWS",
    provider_disk_iops=300,
    provider_volume_type="STANDARD",
    provider_encrypt_ebs_volume=True,
    provider_instance_size_name="M40",
    provider_region_name="US_EAST_1")
test_clusters = test_cluster.project_id.apply(lambda project_id: mongodbatlas.get_clusters(project_id=project_id))
Parameters

project_id (str) – The unique ID for the project to get the clusters.

pulumi_mongodbatlas.get_custom_db_role(inherited_roles=None, project_id=None, role_name=None, opts=None)

.CustomDbRole describe a Custom DB Role. This represents a custom db role.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test_role = mongodbatlas.CustomDbRole("testRole",
    actions=[
        {
            "action": "UPDATE",
            "resources": [{
                "collectionName": "",
                "database_name": "anyDatabase",
            }],
        },
        {
            "action": "INSERT",
            "resources": [{
                "collectionName": "",
                "database_name": "anyDatabase",
            }],
        },
    ],
    project_id="<PROJECT-ID>",
    role_name="myCustomRole")
test = pulumi.Output.all(test_role.project_id, test_role.role_name).apply(lambda project_id, role_name: mongodbatlas.get_custom_db_role(project_id=project_id,
    role_name=role_name))
Parameters
  • project_id (str) – The unique ID for the project to create the database user.

  • role_name (str) – Name of the custom role.

The inherited_roles object supports the following:

  • database_name (str)

  • role_name (str) - Name of the custom role.

pulumi_mongodbatlas.get_custom_db_roles(project_id=None, opts=None)

.getCustomDbRoles describe all Custom DB Roles. This represents a custom db roles.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test_database_user = mongodbatlas.DatabaseUser("testDatabaseUser",
    database_name="admin",
    password="test-acc-password",
    project_id="<PROJECT-ID>",
    roles=[
        {
            "database_name": "admin",
            "role_name": "readWrite",
        },
        {
            "database_name": "admin",
            "role_name": "atlasAdmin",
        },
    ],
    username="test-acc-username")
test_custom_db_roles = mongodbatlas.get_custom_db_roles(project_id=mongodbatlas_custom_db_role["test"]["project_id"])
Parameters

project_id (str) – The unique ID for the project to get all custom db roles.

pulumi_mongodbatlas.get_database_user(auth_database_name=None, database_name=None, project_id=None, username=None, opts=None)

.DatabaseUser describe a Database User. This represents a database user which will be applied to all clusters within the project.

Each user has a set of roles that provide access to the project’s databases. User’s roles apply to all the clusters in the project: if two clusters have a products database and a user has a role granting read access on the products database, the user has that access on both clusters.

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

Parameters
  • auth_database_name (str) – The user’s authentication database. A user must provide both a username and authentication database to log into MongoDB. In Atlas deployments of MongoDB, the authentication database is almost always the admin database, for X509 it is $external.

  • database_name (str) – Database on which the user has the specified role. A role on the admin database can include privileges that apply to the other databases.

  • project_id (str) – The unique ID for the project to create the database user.

  • username (str) – Username for authenticating to MongoDB.

pulumi_mongodbatlas.get_database_users(project_id=None, opts=None)

.getDatabaseUsers describe all Database Users. This represents a database user which will be applied to all clusters within the project.

Each user has a set of roles that provide access to the project’s databases. User’s roles apply to all the clusters in the project: if two clusters have a products database and a user has a role granting read access on the products database, the user has that access on both clusters.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test_database_user = mongodbatlas.DatabaseUser("testDatabaseUser",
    username="test-acc-username",
    password="test-acc-password",
    project_id="<PROJECT-ID>",
    auth_database_name="admin",
    roles=[
        {
            "role_name": "readWrite",
            "database_name": "admin",
        },
        {
            "role_name": "atlasAdmin",
            "database_name": "admin",
        },
    ],
    labels=[
        {
            "key": "key 1",
            "value": "value 1",
        },
        {
            "key": "key 2",
            "value": "value 2",
        },
    ])
test_database_users = test_database_user.project_id.apply(lambda project_id: mongodbatlas.get_database_users(project_id=project_id))
Parameters

project_id (str) – The unique ID for the project to get all database users.

pulumi_mongodbatlas.get_global_cluster_config(cluster_name=None, managed_namespaces=None, project_id=None, opts=None)

.GlobalClusterConfig describes all managed namespaces and custom zone mappings associated with the specified Global Cluster.

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

Parameters
  • managed_namespaces (list) –

    Add a managed namespaces to a Global Cluster. For more information about managed namespaces, see Global Clusters. See Managed Namespace below for more details.

  • project_id (str) – The unique ID for the project to create the database user.

* `cluster_name - (Required) The name of the Global Cluster.

The managed_namespaces object supports the following:

  • collection (str) - (Required) The name of the collection associated with the managed namespace.

  • customShardKey (str) - (Required) The custom shard key for the collection. Global Clusters require a compound shard key consisting of a location field and a user-selected second key, the custom shard key.

  • db (str) - (Required) The name of the database containing the collection.

pulumi_mongodbatlas.get_maintenance_window(project_id=None, opts=None)

.MaintenanceWindow provides a Maintenance Window entry datasource. Gets information regarding the configured maintenance window for a MongoDB Atlas project.

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

Parameters

project_id (str) – The unique identifier of the project for the Maintenance Window.

pulumi_mongodbatlas.get_network_container(container_id=None, project_id=None, opts=None)

.NetworkContainer describes a Network Peering Container. The resource requires your Project ID and container ID.

IMPORTANT: This resource creates one Network Peering container into which Atlas can deploy Network Peering connections. An Atlas project can have a maximum of one container for each cloud provider. You must have either the Project Owner or Organization Owner role to successfully call this endpoint.

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

Parameters
  • container_id (str) – The Network Peering Container ID.

  • project_id (str) – The unique ID for the project to create the database user.

pulumi_mongodbatlas.get_network_containers(project_id=None, provider_name=None, opts=None)

.getNetworkContainers describes all Network Peering Containers. The data source requires your Project ID.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test_network_container = mongodbatlas.NetworkContainer("testNetworkContainer",
    project_id="<YOUR-PROJECT-ID>",
    atlas_cidr_block="10.8.0.0/21",
    provider_name="AWS",
    region_name="US_EAST_1")
test_network_containers = pulumi.Output.all(test_network_container.project_id, test_network_container.provider_name).apply(lambda project_id, provider_name: mongodbatlas.get_network_containers(project_id=project_id,
    provider_name=provider_name))
Parameters
  • project_id (str) – The unique ID for the project to create the database user.

  • provider_name (str) – Cloud provider for this Network peering container. Accepted values are AWS, GCP, and Azure.

pulumi_mongodbatlas.get_network_peering(peering_id=None, project_id=None, opts=None)

.NetworkPeering describes a Network Peering Connection.

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

Parameters
  • peering_id (str) – Atlas assigned unique ID for the peering connection.

  • project_id (str) – The unique ID for the project to create the database user.

pulumi_mongodbatlas.get_network_peerings(project_id=None, opts=None)

.getNetworkPeerings describes all Network Peering Connections.

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

import pulumi
import pulumi_mongodbatlas as mongodbatlas

test_network_peering = mongodbatlas.NetworkPeering("testNetworkPeering",
    accepter_region_name="us-east-1",
    project_id="<YOUR-PROJEC-ID>",
    container_id="507f1f77bcf86cd799439011",
    provider_name="AWS",
    route_table_cidr_block="192.168.0.0/24",
    vpc_id="vpc-abc123abc123",
    aws_account_id="abc123abc123")
test_network_peerings = test_network_peering.project_id.apply(lambda project_id: mongodbatlas.get_network_peerings(project_id=project_id))
Parameters

project_id (str) – The unique ID for the project to create the database user.

pulumi_mongodbatlas.get_private_endpoint(private_link_id=None, project_id=None, opts=None)

.PrivateEndpoint describe a Private Endpoint. This represents a Private Endpoint Connection to retrieve details regarding a private endpoint by id in an Atlas project

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

Parameters
  • private_link_id (str) – Unique identifier of the AWS PrivateLink connection.

  • project_id (str) – Unique identifier for the project.

mongodbatlas_private_endpoint_link describe a Private Endpoint Link. This represents a Private Endpoint Link Connection that wants to retrieve details in an Atlas project.

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

Parameters
  • private_link_id (str) – Unique identifier of the AWS PrivateLink connection.

  • project_id (str) – Unique identifier for the project.

pulumi_mongodbatlas.get_project(name=None, project_id=None, opts=None)

.Project describes a MongoDB Atlas Project. This represents a project that has been created.

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

Parameters
  • name (str) – The unique ID for the project.

  • project_id (str) – The unique ID for the project.

pulumi_mongodbatlas.get_projects(opts=None)

.getProjects describe all Projects. This represents projects that have been created.

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

pulumi_mongodbatlas.get_team(org_id=None, team_id=None, opts=None)

.Teams describes a Team. The resource requires your Organization ID, Project ID and Team ID.

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

Parameters
  • org_id (str) – The unique identifier for the organization you want to associate the team with.

  • team_id (str) – The unique identifier for the team.

pulumi_mongodbatlas.get_teams(org_id=None, team_id=None, opts=None)

Use this data source to access information about an existing resource.