Ready to level-up your engineering skills? Join a Pulumi Workshop. Register Now

Module types/input

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.

APIs

APIs

interface AlertConfigurationMatcher

interface AlertConfigurationMatcher

property fieldName

fieldName?: pulumi.Input<string>;

Name of the field in the target object to match on.

property operator

operator?: pulumi.Input<string>;

Operator to apply when checking the current metric value against the threshold value. Accepted values are: - GREATER_THAN - LESS_THAN

property value

value?: pulumi.Input<string>;

Value to test with the specified operator. If fieldName is set to TYPE_NAME, you can match on the following values: - PRIMARY - SECONDARY - STANDALONE - CONFIG - MONGOS

interface AlertConfigurationMetricThreshold

interface AlertConfigurationMetricThreshold

property metricName

metricName?: pulumi.Input<string>;

Name of the metric to check. The full list of current options is available here

property mode

mode?: pulumi.Input<string>;

This must be set to AVERAGE. Atlas computes the current metric value as an average.

property operator

operator?: pulumi.Input<string>;

Operator to apply when checking the current metric value against the threshold value. Accepted values are: - GREATER_THAN - LESS_THAN

property threshold

threshold?: pulumi.Input<number>;

Threshold value outside of which an alert will be triggered.

property units

units?: pulumi.Input<string>;

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

interface AlertConfigurationNotification

interface AlertConfigurationNotification

property apiToken

apiToken?: pulumi.Input<string>;

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.

property channelName

channelName?: pulumi.Input<string>;

Slack channel name. Required for the SLACK notifications type.

property datadogApiKey

datadogApiKey?: pulumi.Input<string>;

Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type.

property datadogRegion

datadogRegion?: pulumi.Input<string>;

Region that indicates which API URL to use. Accepted regions are: US, EU. The default Datadog region is US.

property delayMin

delayMin?: pulumi.Input<number>;

Number of minutes to wait after an alert condition is detected before sending out the first notification.

property emailAddress

emailAddress?: pulumi.Input<string>;

Email address to which alert notifications are sent. Required for the EMAIL notifications type.

property emailEnabled

emailEnabled?: pulumi.Input<boolean>;

Flag indicating if email notifications should be sent. Configurable for ORG, GROUP, and USER notifications types.

property flowName

flowName?: pulumi.Input<string>;

Flowdock flow name in lower-case letters. Required for the FLOWDOCK notifications type

property flowdockApiToken

flowdockApiToken?: pulumi.Input<string>;

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.

property intervalMin

intervalMin?: pulumi.Input<number>;

Number of minutes to wait between successive notifications for unacknowledged alerts that are not resolved. The minimum value is 5.

property mobileNumber

mobileNumber?: pulumi.Input<string>;

Mobile number to which alert notifications are sent. Required for the SMS notifications type.

property opsGenieApiKey

opsGenieApiKey?: pulumi.Input<string>;

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.

property opsGenieRegion

opsGenieRegion?: pulumi.Input<string>;

Region that indicates which API URL to use. Accepted regions are: US ,EU. The default Opsgenie region is US.

property orgName

orgName?: pulumi.Input<string>;

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.

property roles

roles?: pulumi.Input<pulumi.Input<string>[]>;

property serviceKey

serviceKey?: pulumi.Input<string>;

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.

property smsEnabled

smsEnabled?: pulumi.Input<boolean>;

Flag indicating if text message notifications should be sent. Configurable for ORG, GROUP, and USER notifications types.

property teamId

teamId?: pulumi.Input<string>;

Unique identifier of a team.

property typeName

typeName?: pulumi.Input<string>;

Type of alert notification. Accepted values are: - DATADOG - EMAIL - FLOWDOCK

property username

username?: pulumi.Input<string>;

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.

property victorOpsApiKey

victorOpsApiKey?: pulumi.Input<string>;

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.

property victorOpsRoutingKey

victorOpsRoutingKey?: pulumi.Input<string>;

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.

interface AlertConfigurationThreshold

interface AlertConfigurationThreshold

property operator

operator?: pulumi.Input<string>;

Operator to apply when checking the current metric value against the threshold value. Accepted values are: - GREATER_THAN - LESS_THAN

property threshold

threshold?: pulumi.Input<number>;

Threshold value outside of which an alert will be triggered.

property units

units?: pulumi.Input<string>;

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

interface CloudProviderAccessFeatureUsage

interface CloudProviderAccessFeatureUsage

property featureId

featureId?: pulumi.Input<string>;

property featureType

featureType?: pulumi.Input<string>;

interface CloudProviderSnapshotBackupPolicyPolicy

interface CloudProviderSnapshotBackupPolicyPolicy

property id

id: pulumi.Input<string>;

property policyItems

policyItems: pulumi.Input<pulumi.Input<CloudProviderSnapshotBackupPolicyPolicyPolicyItem>[]>;

interface CloudProviderSnapshotBackupPolicyPolicyPolicyItem

interface CloudProviderSnapshotBackupPolicyPolicyPolicyItem

property frequencyInterval

frequencyInterval: pulumi.Input<number>;

property frequencyType

frequencyType: pulumi.Input<string>;

property id

id: pulumi.Input<string>;

property retentionUnit

retentionUnit: pulumi.Input<string>;

property retentionValue

retentionValue: pulumi.Input<number>;

interface CloudProviderSnapshotRestoreJobDeliveryType

interface CloudProviderSnapshotRestoreJobDeliveryType

property automated

automated?: pulumi.Input<boolean>;

property download

download?: pulumi.Input<boolean>;

property oplogInc

oplogInc?: pulumi.Input<number>;

property oplogTs

oplogTs?: pulumi.Input<number>;

property pointInTime

pointInTime?: pulumi.Input<boolean>;

property pointInTimeUtcSeconds

pointInTimeUtcSeconds?: pulumi.Input<number>;

property targetClusterName

targetClusterName?: pulumi.Input<string>;

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

property targetProjectId

targetProjectId?: pulumi.Input<string>;

interface ClusterAdvancedConfiguration

interface ClusterAdvancedConfiguration

property failIndexKeyTooLong

failIndexKeyTooLong?: pulumi.Input<boolean>;

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.

property javascriptEnabled

javascriptEnabled?: pulumi.Input<boolean>;

When true, the cluster allows execution of operations that perform server-side executions of JavaScript. When false, the cluster disables execution of those operations.

property minimumEnabledTlsProtocol

minimumEnabledTlsProtocol?: pulumi.Input<string>;

Sets the minimum Transport Layer Security (TLS) version the cluster accepts for incoming connections.Valid values are:

property noTableScan

noTableScan?: pulumi.Input<boolean>;

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.

property oplogSizeMb

oplogSizeMb?: pulumi.Input<number>;

The custom oplog size of the cluster. Without a value that indicates that the cluster uses the default oplog size calculated by Atlas.

property sampleRefreshIntervalBiConnector

sampleRefreshIntervalBiConnector?: pulumi.Input<number>;

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.

property sampleSizeBiConnector

sampleSizeBiConnector?: pulumi.Input<number>;

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.

interface ClusterBiConnector

interface ClusterBiConnector

property enabled

enabled?: pulumi.Input<string>;

Specifies whether or not BI Connector for Atlas is enabled on the cluster.l * - Set to true to enable BI Connector for Atlas. - Set to false to disable BI Connector for Atlas.

property readPreference

readPreference?: pulumi.Input<string>;

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.

interface ClusterConnectionStrings

interface ClusterConnectionStrings
awsPrivateLink?: pulumi.Input<{[key: string]: any}>;

property awsPrivateLinkSrv

awsPrivateLinkSrv?: pulumi.Input<{[key: string]: any}>;

property private

private?: pulumi.Input<string>;

property privateSrv

privateSrv?: pulumi.Input<string>;

property standard

standard?: pulumi.Input<string>;

property standardSrv

standardSrv?: pulumi.Input<string>;

interface ClusterLabel

interface ClusterLabel

property key

key?: pulumi.Input<string>;

The key that you want to write.

property value

value?: pulumi.Input<string>;

The value that you want to write.

interface ClusterReplicationSpec

interface ClusterReplicationSpec

property id

id?: pulumi.Input<string>;

Unique identifer of the replication document for a zone in a Global Cluster.

property numShards

numShards: pulumi.Input<number>;

Number of shards to deploy in the specified zone, minimum 1.

property regionsConfigs

regionsConfigs?: pulumi.Input<pulumi.Input<ClusterReplicationSpecRegionsConfig>[]>;

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.

property zoneName

zoneName?: pulumi.Input<string>;

Name for the zone in a Global Cluster.

interface ClusterReplicationSpecRegionsConfig

interface ClusterReplicationSpecRegionsConfig

property analyticsNodes

analyticsNodes?: pulumi.Input<number>;

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. If you do not specify this option, no analytics nodes are deployed to the region.

property electableNodes

electableNodes?: pulumi.Input<number>;

Number of electable nodes for Atlas to deploy to the region. Electable nodes can become the primary and can facilitate local reads. * The total number of electableNodes across all replication spec regions must total 3, 5, or 7. * Specify 0 if you do not want any electable nodes in the region. * You cannot create electable nodes in a region if priority is 0.

property priority

priority?: pulumi.Input<number>;

Election priority of the region. For regions with only read-only nodes, set this value to 0. * For regions where electableNodes is at least 1, each region must have a priority of exactly one (1) less than the previous region. The first region must have a priority of 7. The lowest possible priority is 1. * The priority 7 region identifies the Preferred Region of the cluster. Atlas places the primary node in the Preferred Region. Priorities 1 through 7 are exclusive - no more than one region per cluster can be assigned a given priority. * Example: If you have three regions, their priorities would be 7, 6, and 5 respectively. If you added two more regions for supporting electable nodes, the priorities of those regions would be 4 and 3 respectively.

property readOnlyNodes

readOnlyNodes?: pulumi.Input<number>;

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.

property regionName

regionName?: pulumi.Input<string>;

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.

interface ClusterSnapshotBackupPolicy

interface ClusterSnapshotBackupPolicy

property clusterId

clusterId?: pulumi.Input<string>;

The cluster ID.

property clusterName

clusterName?: pulumi.Input<string>;

property nextSnapshot

nextSnapshot?: pulumi.Input<string>;

property policies

policies?: pulumi.Input<pulumi.Input<ClusterSnapshotBackupPolicyPolicy>[]>;

property referenceHourOfDay

referenceHourOfDay?: pulumi.Input<number>;

property referenceMinuteOfHour

referenceMinuteOfHour?: pulumi.Input<number>;

property restoreWindowDays

restoreWindowDays?: pulumi.Input<number>;

property updateSnapshots

updateSnapshots?: pulumi.Input<boolean>;

interface ClusterSnapshotBackupPolicyPolicy

interface ClusterSnapshotBackupPolicyPolicy

property id

id?: pulumi.Input<string>;

Unique identifer of the replication document for a zone in a Global Cluster.

property policyItems

policyItems?: pulumi.Input<pulumi.Input<ClusterSnapshotBackupPolicyPolicyPolicyItem>[]>;

interface ClusterSnapshotBackupPolicyPolicyPolicyItem

interface ClusterSnapshotBackupPolicyPolicyPolicyItem

property frequencyInterval

frequencyInterval?: pulumi.Input<number>;

property frequencyType

frequencyType?: pulumi.Input<string>;

property id

id?: pulumi.Input<string>;

Unique identifer of the replication document for a zone in a Global Cluster.

property retentionUnit

retentionUnit?: pulumi.Input<string>;

property retentionValue

retentionValue?: pulumi.Input<number>;

interface CustomDbRoleAction

interface CustomDbRoleAction

property action

action: pulumi.Input<string>;

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.

property resources

resources: pulumi.Input<pulumi.Input<CustomDbRoleActionResource>[]>;

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.

interface CustomDbRoleActionResource

interface CustomDbRoleActionResource

property cluster

cluster?: pulumi.Input<boolean>;

property collectionName

collectionName?: pulumi.Input<string>;

property databaseName

databaseName?: pulumi.Input<string>;

Database on which the inherited role is granted.

interface CustomDbRoleInheritedRole

interface CustomDbRoleInheritedRole

property databaseName

databaseName: pulumi.Input<string>;

Database on which the inherited role is granted.

property roleName

roleName: pulumi.Input<string>;

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

interface DatabaseUserLabel

interface DatabaseUserLabel

property key

key?: pulumi.Input<string>;

The key that you want to write.

property value

value?: pulumi.Input<string>;

The value that you want to write.

interface DatabaseUserRole

interface DatabaseUserRole

property collectionName

collectionName?: pulumi.Input<string>;

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).

property databaseName

databaseName?: pulumi.Input<string>;

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

property roleName

roleName?: pulumi.Input<string>;

Name of the role to grant. See Create a Database User roles.roleName for valid values and restrictions.

interface DatabaseUserScope

interface DatabaseUserScope

property name

name?: pulumi.Input<string>;

Name of the cluster or Atlas Data Lake that the user has access to.

property type

type?: pulumi.Input<string>;

Type of resource that the user has access to. Valid values are: CLUSTER and DATA_LAKE

interface EncryptionAtRestAwsKms

interface EncryptionAtRestAwsKms

property accessKeyId

accessKeyId: pulumi.Input<string>;

The IAM access key ID with permissions to access the customer master key specified by customerMasterKeyID.

property customerMasterKeyId

customerMasterKeyId: pulumi.Input<string>;

The AWS customer master key used to encrypt and decrypt the MongoDB master keys.

property enabled

enabled: pulumi.Input<boolean>;

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.

property region

region: pulumi.Input<string>;

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

property roleId

roleId?: pulumi.Input<string>;

ID of an AWS IAM role authorized to manage an AWS customer master key. To find the ID for an existing IAM role check the roleId attribute of the mongodbatlas.CloudProviderAccess resource.

property secretAccessKey

secretAccessKey: pulumi.Input<string>;

The IAM secret access key with permissions to access the customer master key specified by customerMasterKeyID.

interface EncryptionAtRestAzureKeyVault

interface EncryptionAtRestAzureKeyVault

property azureEnvironment

azureEnvironment: pulumi.Input<string>;

The Azure environment where the Azure account credentials reside. Valid values are the following: AZURE, AZURE_CHINA, AZURE_GERMANY

property clientId

clientId: pulumi.Input<string>;

The client ID, also known as the application ID, for an Azure application associated with the Azure AD tenant.

property enabled

enabled: pulumi.Input<boolean>;

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.

property keyIdentifier

keyIdentifier: pulumi.Input<string>;

The unique identifier of a key in an Azure Key Vault.

property keyVaultName

keyVaultName: pulumi.Input<string>;

The name of an Azure Key Vault containing your key.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the Azure Resource group that contains an Azure Key Vault.

property secret

secret: pulumi.Input<string>;

The secret associated with the Azure Key Vault specified by azureKeyVault.tenantID.

property subscriptionId

subscriptionId: pulumi.Input<string>;

The unique identifier associated with an Azure subscription.

property tenantId

tenantId: pulumi.Input<string>;

The unique identifier for an Azure AD tenant within an Azure subscription.

interface EncryptionAtRestGoogleCloudKms

interface EncryptionAtRestGoogleCloudKms

property enabled

enabled: pulumi.Input<boolean>;

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.

property keyVersionResourceId

keyVersionResourceId: pulumi.Input<string>;

The Key Version Resource ID from your GCP account.

property serviceAccountKey

serviceAccountKey: pulumi.Input<string>;

String-formatted JSON object containing GCP KMS credentials from your GCP account.

interface GetCustomDbRoleInheritedRole

interface GetCustomDbRoleInheritedRole

property databaseName

databaseName?: undefined | string;

property roleName

roleName?: undefined | string;

Name of the custom role.

interface GetGlobalClusterConfigManagedNamespace

interface GetGlobalClusterConfigManagedNamespace

property collection

collection: string;

(Required) The name of the collection associated with the managed namespace.

property customShardKey

customShardKey: string;

(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.

property db

db: string;

(Required) The name of the database containing the collection.

interface GlobalClusterConfigCustomZoneMapping

interface GlobalClusterConfigCustomZoneMapping

property location

location?: pulumi.Input<string>;

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.

property zone

zone?: pulumi.Input<string>;

The name of the zone in your Global Cluster that you want to map to location.

interface GlobalClusterConfigManagedNamespace

interface GlobalClusterConfigManagedNamespace

property collection

collection: pulumi.Input<string>;

The name of the collection associated with the managed namespace.

property customShardKey

customShardKey: pulumi.Input<string>;

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.

property db

db: pulumi.Input<string>;

The name of the database containing the collection.

interface ProjectTeam

interface ProjectTeam

property roleNames

roleNames: pulumi.Input<pulumi.Input<string>[]>;

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

property teamId

teamId: pulumi.Input<string>;

The unique identifier of the team you want to associate with the project. The team and project must share the same parent organization.

interface X509AuthenticationDatabaseUserCertificate

interface X509AuthenticationDatabaseUserCertificate

property createdAt

createdAt?: pulumi.Input<string>;

property groupId

groupId?: pulumi.Input<string>;

property id

id?: pulumi.Input<number>;

property notAfter

notAfter?: pulumi.Input<string>;

property subject

subject?: pulumi.Input<string>;