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
- AlertConfigurationMatcher
- AlertConfigurationMetricThreshold
- AlertConfigurationNotification
- AlertConfigurationThreshold
- CloudProviderAccessFeatureUsage
- CloudProviderSnapshotBackupPolicyPolicy
- CloudProviderSnapshotBackupPolicyPolicyPolicyItem
- CloudProviderSnapshotRestoreJobDeliveryType
- ClusterAdvancedConfiguration
- ClusterBiConnector
- ClusterConnectionStrings
- ClusterLabel
- ClusterReplicationSpec
- ClusterReplicationSpecRegionsConfig
- ClusterSnapshotBackupPolicy
- ClusterSnapshotBackupPolicyPolicy
- ClusterSnapshotBackupPolicyPolicyPolicyItem
- CustomDbRoleAction
- CustomDbRoleActionResource
- CustomDbRoleInheritedRole
- DatabaseUserLabel
- DatabaseUserRole
- DatabaseUserScope
- EncryptionAtRestAwsKms
- EncryptionAtRestAzureKeyVault
- EncryptionAtRestGoogleCloudKms
- GetCustomDbRoleInheritedRole
- GetGlobalClusterConfigManagedNamespace
- GlobalClusterConfigCustomZoneMapping
- GlobalClusterConfigManagedNamespace
- ProjectTeam
- X509AuthenticationDatabaseUserCertificate
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
property awsPrivateLink
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>;