{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/mongodb/main/json-schema/mongodb-legacy-atlas-tenant-cluster-upgrade-request-schema.json", "title": "Tenant Cluster Upgrade Request", "description": "Request containing target state of tenant cluster to be upgraded.", "x-generated": "2026-10-03", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/mongodb-clusters-api-openapi.yml#/components/schemas/LegacyAtlasTenantClusterUpgradeRequest", "properties": { "acceptDataRisksAndForceReplicaSetReconfig": { "description": "If reconfiguration is necessary to regain a primary due to a regional outage, submit this field alongside your topology reconfiguration to request a new regional outage resistant topology. Forced reconfigurations during an outage of the majority of electable nodes carry a risk of data loss if replicated writes (even majority committed writes) have not been replicated to the new primary node. MongoDB Atlas docs contain more information. To proceed with an operation which carries that risk, set `acceptDataRisksAndForceReplicaSetReconfig` to the current date. This parameter expresses its value in the ISO 8601 timestamp format in UTC.", "format": "date-time", "type": "string" }, "advancedConfiguration": { "$ref": "#/$defs/ApiAtlasClusterAdvancedConfigurationView" }, "autoScaling": { "$ref": "#/$defs/ClusterAutoScalingSettings" }, "backupEnabled": { "description": "Flag that indicates whether the cluster can perform backups. If set to `true`, the cluster can perform backups. You must set this value to `true` for NVMe clusters. Backup uses Cloud Backups for dedicated clusters and Shared Cluster Backups for tenant clusters. If set to `false`, the cluster doesn't use MongoDB Cloud backups.", "type": "boolean" }, "biConnector": { "$ref": "#/$defs/BiConnector" }, "clusterType": { "description": "Configuration of nodes that comprise the cluster.", "enum": [ "REPLICASET", "SHARDED", "GEOSHARDED" ], "type": "string" }, "configServerManagementMode": { "default": "ATLAS_MANAGED", "description": "Config Server Management Mode for creating or updating a sharded cluster. When configured as `ATLAS_MANAGED`, Atlas may automatically switch the cluster's config server type for optimal performance and savings. When configured as `FIXED_TO_DEDICATED`, the cluster will always use a dedicated config server.", "enum": [ "ATLAS_MANAGED", "FIXED_TO_DEDICATED" ], "type": "string" }, "configServerType": { "description": "Describes a sharded cluster's config server type.", "enum": [ "DEDICATED", "EMBEDDED" ], "readOnly": true, "type": "string" }, "connectionStrings": { "$ref": "#/$defs/ClusterConnectionStrings" }, "createDate": { "description": "Date and time when MongoDB Cloud created this serverless instance. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC.", "format": "date-time", "readOnly": true, "type": "string" }, "deleteAfterCreationHours": { "description": "Number of hours after cluster creation that this cluster will be automatically deleted.\n\nThis field is used to derive `deleteAfterDate` relative to `createDate`.\n\nWhen set to null or zero on cluster creation, the cluster will not be automatically deleted.\n\nWhen set to a positive value on cluster creation, the cluster will be automatically deleted after the specified number of hours.\n\nWhen updating this field on an existing (non-deleted) cluster, and this is set to null, then existing values are preserved for this & `deleteAfterDate`.\n\nWhen updating this field on an existing (non-deleted) cluster, and this is set to zero, then `deleteAfterDate` is reset to null (disable auto deletion) regardless of previous configurations.\n\nWhen updating this field on an existing (non-deleted) cluster, and this is set to a positive value, then `createDate` + `deleteAfterCreationHours` must be later than now else the field update is ignored and existing values are preserved for this & `deleteAfterDate`.", "format": "int32", "type": "integer" }, "deleteAfterDate": { "description": "The date at which this cluster will be automatically deleted.\n\nThis parameter expresses its value in the ISO 8601 timestamp format in UTC and is derived based on the `createDate` + `deleteAfterCreationHours`.", "format": "date-time", "readOnly": true, "type": "string" }, "diskSizeGB": { "description": "Storage capacity of instance data volumes expressed in gigabytes. Increase this number to add capacity.\n\n This value is not configurable on M0/M2/M5 clusters.\n\n MongoDB Cloud requires this parameter if you set `replicationSpecs`.\n\n If you specify a disk size below the minimum (10 GB), this parameter defaults to the minimum disk size value. \n\n Storage charge calculations depend on whether you choose the default value or a custom value.\n\n The maximum value for disk storage cannot exceed 50 times the maximum RAM for the selected cluster. If you require more storage space, consider upgrading your cluster to a higher tier.", "format": "double", "maximum": 4096, "minimum": 10, "type": "number" }, "diskWarmingMode": { "default": "FULLY_WARMED", "description": "Disk warming mode selection.", "enum": [ "FULLY_WARMED", "VISIBLE_EARLIER" ], "type": "string" }, "encryptionAtRestProvider": { "description": "Cloud service provider that manages your customer keys to provide an additional layer of encryption at rest for the cluster. To enable customer key management for encryption at rest, the cluster `replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize` setting must be `M10` or higher and `\"backupEnabled\" : false` or omitted entirely.", "enum": [ "NONE", "AWS", "AZURE", "GCP" ], "type": "string" }, "featureCompatibilityVersion": { "description": "Feature compatibility version of the cluster.", "readOnly": true, "type": "string" }, "featureCompatibilityVersionExpirationDate": { "description": "Feature compatibility version expiration date. This parameter expresses its value in the ISO 8601 timestamp format in UTC.", "format": "date-time", "readOnly": true, "type": "string" }, "globalClusterSelfManagedSharding": { "description": "Set this field to configure the Sharding Management Mode when creating a new Global Cluster.\n\nWhen set to false, the management mode is set to Atlas-Managed Sharding. This mode fully manages the sharding of your Global Cluster and is built to provide a seamless deployment experience.\n\nWhen set to true, the management mode is set to Self-Managed Sharding. This mode leaves the management of shards in your hands and is built to provide an advanced and flexible deployment experience.\n\nThis setting cannot be changed once the cluster is deployed.", "type": "boolean" }, "groupId": { "description": "Unique 24-hexadecimal character string that identifies the project.", "pattern": "^([a-f0-9]{24})$", "readOnly": true, "type": "string" }, "id": { "description": "Unique 24-hexadecimal digit string that identifies the cluster.", "pattern": "^([a-f0-9]{24})$", "readOnly": true, "type": "string" }, "labels": { "deprecated": true, "description": "Collection of key-value pairs between 1 to 255 characters in length that tag and categorize the cluster. The MongoDB Cloud console doesn't display your labels.\n\nCluster labels are deprecated and will be removed in a future release. We strongly recommend that you use Resource Tags instead.", "items": { "$ref": "#/$defs/ComponentLabel" }, "type": "array" }, "links": { "description": "List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships.", "items": { "$ref": "#/$defs/Link" }, "readOnly": true, "type": "array" }, "mongoDBEmployeeAccessGrant": { "$ref": "#/$defs/EmployeeAccessGrantView" }, "mongoDBMajorVersion": { "description": "MongoDB major version of the cluster.\n\nOn creation: Choose from the available versions of MongoDB, or leave unspecified for the current recommended default in the MongoDB Cloud platform. The recommended version is a recent Long Term Support version. The default is not guaranteed to be the most recently released version throughout the entire release cycle. For versions available in a specific project, see the linked documentation or use the API endpoint for [project LTS versions endpoint](#tag/Projects/operation/getProjectLTSVersions).\n\n On update: Increase version only by 1 major version at a time. If the cluster is pinned to a MongoDB feature compatibility version exactly one major version below the current MongoDB version, the MongoDB version can be downgraded to the previous major version.", "type": "string" }, "mongoDBVersion": { "description": "Version of MongoDB that the cluster runs.", "pattern": "([\\d]+\\.[\\d]+\\.[\\d]+)", "type": "string" }, "mongoURI": { "description": "Base connection string that you can use to connect to the cluster. MongoDB Cloud displays the string only after the cluster starts, not while it builds the cluster.", "readOnly": true, "type": "string" }, "mongoURIUpdated": { "description": "Date and time when someone last updated the connection string. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC.", "format": "date-time", "readOnly": true, "type": "string" }, "mongoURIWithOptions": { "description": "Connection string that you can use to connect to the cluster including the `replicaSet`, `ssl`, and `authSource` query parameters with values appropriate for the cluster. You may need to add MongoDB database users. The response returns this parameter once the cluster can receive requests, not while it builds the cluster.", "readOnly": true, "type": "string" }, "name": { "description": "Human-readable label that identifies the cluster.", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]*$", "type": "string" }, "numShards": { "default": 1, "description": "Number of shards up to 50 to deploy for a sharded cluster. The resource returns `1` to indicate a replica set and values of `2` and higher to indicate a sharded cluster. The returned value equals the number of shards in the cluster.", "format": "int32", "maximum": 50, "minimum": 1, "type": "integer" }, "paused": { "description": "Flag that indicates whether the cluster is paused.", "type": "boolean" }, "pitEnabled": { "description": "Flag that indicates whether the cluster uses continuous cloud backups.", "type": "boolean" }, "providerBackupEnabled": { "description": "Flag that indicates whether the M10 or higher cluster can perform Cloud Backups. If set to `true`, the cluster can perform backups. If this and `backupEnabled` are set to `false`, the cluster doesn't use MongoDB Cloud backups.", "type": "boolean" }, "providerSettings": { "$ref": "#/$defs/ClusterProviderSettings" }, "replicaSetScalingStrategy": { "default": "WORKLOAD_TYPE", "description": "Set this field to configure the replica set scaling mode for your cluster.\n\nBy default, Atlas scales under `WORKLOAD_TYPE`. This mode allows Atlas to scale your analytics nodes in parallel to your operational nodes.\n\nWhen configured as `SEQUENTIAL`, Atlas scales all nodes sequentially. This mode is intended for steady-state workloads and applications performing latency-sensitive secondary reads.\n\nWhen configured as `NODE_TYPE`, Atlas scales your electable nodes in parallel with your read-only and analytics nodes. This mode is intended for large, dynamic workloads requiring frequent and timely cluster tier scaling. This is the fastest scaling strategy, but it might impact latency of workloads when performing extensive secondary reads.", "enum": [ "SEQUENTIAL", "WORKLOAD_TYPE", "NODE_TYPE" ], "type": "string" }, "replicationFactor": { "default": 3, "deprecated": true, "description": "Number of members that belong to the replica set. Each member retains a copy of your databases, providing high availability and data redundancy. Use `replicationSpecs` instead.", "enum": [ 3, 5, 7 ], "format": "int32", "type": "integer" }, "replicationSpec": { "additionalProperties": { "$ref": "#/$defs/RegionSpec" }, "description": "Physical location where MongoDB Cloud provisions cluster nodes.", "title": "Region Configuration", "type": "object" }, "replicationSpecs": { "description": "List of settings that configure your cluster regions.\n\n- For Global Clusters, each object in the array represents one zone where MongoDB Cloud deploys your clusters nodes.\n- For non-Global sharded clusters and replica sets, the single object represents where MongoDB Cloud deploys your clusters nodes.", "items": { "$ref": "#/$defs/LegacyReplicationSpec" }, "type": "array" }, "rootCertType": { "default": "ISRGROOTX1", "description": "Root Certificate Authority that MongoDB Atlas cluster uses. MongoDB Cloud supports Internet Security Research Group.", "enum": [ "ISRGROOTX1" ], "type": "string" }, "srvAddress": { "description": "Connection string that you can use to connect to the cluster. The `+srv` modifier forces the connection to use Transport Layer Security (TLS). The `mongoURI` parameter lists additional options.", "readOnly": true, "type": "string" }, "stateName": { "description": "Human-readable label that indicates any current activity being taken on this cluster by the Atlas control plane. With the exception of CREATING and DELETING states, clusters should always be available and have a Primary node even when in states indicating ongoing activity.\n\n - `IDLE`: Atlas is making no changes to this cluster and all changes requested via the UI or API can be assumed to have been applied.\n - `CREATING`: A cluster being provisioned for the very first time returns state CREATING until it is ready for connections. Ensure IP Access List and DB Users are configured before attempting to connect.\n - `UPDATING`: A change requested via the UI, API, AutoScaling, or other scheduled activity is taking place.\n - `DELETING`: The cluster is in the process of deletion and will soon be deleted.\n - `REPAIRING`: One or more nodes in the cluster are being returned to service by the Atlas control plane. Other nodes should continue to provide service as normal.", "enum": [ "IDLE", "CREATING", "UPDATING", "DELETING", "REPAIRING" ], "readOnly": true, "type": "string" }, "tags": { "description": "List that contains key-value pairs between 1 to 255 characters in length for tagging and categorizing the cluster.", "items": { "$ref": "#/$defs/ResourceTag" }, "type": "array" }, "terminationProtectionEnabled": { "default": false, "description": "Flag that indicates whether termination protection is enabled on the cluster. If set to `true`, MongoDB Cloud won't delete the cluster. If set to `false`, MongoDB Cloud will delete the cluster.", "type": "boolean" }, "versionReleaseSystem": { "default": "LTS", "description": "Method by which the cluster maintains the MongoDB versions. If value is `CONTINUOUS`, you must not specify `mongoDBMajorVersion`.", "enum": [ "LTS", "CONTINUOUS" ], "type": "string" } }, "required": [ "name" ], "type": "object", "$defs": { "AWSCloudProviderSettings": { "allOf": [ { "$ref": "#/$defs/ClusterProviderSettings" }, { "properties": { "autoScaling": { "$ref": "#/$defs/CloudProviderAWSAutoScaling" }, "diskIOPS": { "description": "Maximum Disk Input/Output Operations per Second (IOPS) that the database host can perform.", "format": "int32", "type": "integer" }, "encryptEBSVolume": { "default": true, "deprecated": true, "description": "Flag that indicates whether the Amazon Elastic Block Store (EBS) encryption feature encrypts the host's root volume for both data at rest within the volume and for data moving between the volume and the cluster. Clusters always have this setting enabled.", "type": "boolean" }, "instanceSizeName": { "description": "Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster.", "enum": [ "M10", "M20", "M30", "M40", "M50", "M60", "M80", "M100", "M140", "M200", "M300", "R40", "R50", "R60", "R80", "R200", "R300", "R400", "R700", "M40_NVME", "M50_NVME", "M60_NVME", "M80_NVME", "M200_NVME", "M400_NVME" ], "title": "AWS Instance Sizes", "type": "string" }, "regionName": { "description": "Physical location where MongoDB Cloud deploys your AWS-hosted MongoDB cluster nodes. The region you choose can affect network latency for clients accessing your databases. When MongoDB Cloud deploys a dedicated cluster, it checks if a VPC or VPC connection exists for that provider and region. If not, MongoDB Cloud creates them as part of the deployment. MongoDB Cloud assigns the VPC a CIDR block. To limit a new VPC peering connection to one CIDR block and region, create the connection first. Deploy the cluster after the connection starts.", "enum": [ "US_GOV_WEST_1", "US_GOV_EAST_1", "US_EAST_1", "US_EAST_2", "US_WEST_1", "US_WEST_2", "CA_CENTRAL_1", "EU_NORTH_1", "EU_WEST_1", "EU_WEST_2", "EU_WEST_3", "EU_CENTRAL_1", "EU_CENTRAL_2", "AP_EAST_1", "AP_EAST_2", "AP_NORTHEAST_1", "AP_NORTHEAST_2", "AP_NORTHEAST_3", "AP_SOUTHEAST_1", "AP_SOUTHEAST_2", "AP_SOUTHEAST_3", "AP_SOUTHEAST_4", "AP_SOUTHEAST_5", "AP_SOUTHEAST_6", "AP_SOUTHEAST_7", "AP_SOUTH_1", "AP_SOUTH_2", "SA_EAST_1", "CN_NORTH_1", "CN_NORTHWEST_1", "ME_SOUTH_1", "ME_CENTRAL_1", "AF_SOUTH_1", "EU_SOUTH_1", "EU_SOUTH_2", "IL_CENTRAL_1", "CA_WEST_1", "MX_CENTRAL_1", "GLOBAL" ], "title": "AWS Regions", "type": "string" }, "volumeType": { "description": "Disk Input/Output Operations per Second (IOPS) setting for Amazon Web Services (AWS) storage that you configure only for AWS. Specify whether Disk Input/Output Operations per Second (IOPS) must not exceed the default Input/Output Operations per Second (IOPS) rate for the selected volume size (`STANDARD`), or must fall within the allowable Input/Output Operations per Second (IOPS) range for the selected volume size (`PROVISIONED`). You must set this value to (`PROVISIONED`) for NVMe clusters.", "enum": [ "STANDARD", "PROVISIONED" ], "type": "string" } }, "type": "object" } ], "type": "object" }, "AWSComputeAutoScaling": { "description": "Collection of settings that configures how a cluster might scale its cluster tier and whether the cluster can scale down. Cluster tier auto-scaling is unavailable for clusters using Low CPU or NVME storage classes.", "properties": { "maxInstanceSize": { "description": "Maximum instance size to which your cluster can automatically scale.", "enum": [ "M10", "M20", "M30", "M40", "M50", "M60", "M80", "M100", "M140", "M200", "M300", "R40", "R50", "R60", "R80", "R200", "R300", "R400", "R700", "M40_NVME", "M50_NVME", "M60_NVME", "M80_NVME", "M200_NVME", "M400_NVME" ], "title": "AWS Instance Sizes", "type": "string" }, "minInstanceSize": { "description": "Minimum instance size to which your cluster can automatically scale.", "enum": [ "M10", "M20", "M30", "M40", "M50", "M60", "M80", "M100", "M140", "M200", "M300", "R40", "R50", "R60", "R80", "R200", "R300", "R400", "R700", "M40_NVME", "M50_NVME", "M60_NVME", "M80_NVME", "M200_NVME", "M400_NVME" ], "title": "AWS Instance Sizes", "type": "string" } }, "title": "AWS", "type": "object" }, "ApiAtlasClusterAdvancedConfigurationView": { "description": "Group of settings that configures a subset of the advanced configuration details.", "properties": { "customOpensslCipherConfigTls12": { "description": "The custom OpenSSL cipher suite list for TLS 1.2. This field is only valid when `tlsCipherConfigMode` is set to `CUSTOM`.", "items": { "enum": [ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" ], "type": "string" }, "type": "array" }, "customOpensslCipherConfigTls13": { "description": "The custom OpenSSL cipher suite list for TLS 1.3. This field is only valid when `tlsCipherConfigMode` is set to `CUSTOM`.", "items": { "enum": [ "TLS_AES_256_GCM_SHA384", "TLS_CHACHA20_POLY1305_SHA256", "TLS_AES_128_GCM_SHA256", "TLS_AES_128_CCM_SHA256" ], "type": "string" }, "maxItems": 4, "type": "array" }, "minimumEnabledTlsProtocol": { "description": "Minimum Transport Layer Security (TLS) version that the cluster accepts for incoming connections. Clusters using TLS 1.0 or 1.1 should consider setting TLS 1.2 as the minimum TLS protocol version.", "enum": [ "TLS1_0", "TLS1_1", "TLS1_2", "TLS1_3" ], "type": "string" }, "tlsCipherConfigMode": { "description": "The TLS cipher suite configuration mode. The default mode uses the default cipher suites. The custom mode allows you to specify custom cipher suites for both TLS 1.2 and TLS 1.3.", "enum": [ "CUSTOM", "DEFAULT" ], "type": "string" } }, "type": "object" }, "AzureCloudProviderSettings": { "allOf": [ { "$ref": "#/$defs/ClusterProviderSettings" }, { "properties": { "autoScaling": { "$ref": "#/$defs/CloudProviderAzureAutoScaling" }, "diskTypeName": { "description": "Disk type that corresponds to the host's root volume for Azure instances. If omitted, the default disk type for the selected `providerSettings.instanceSizeName` applies.", "enum": [ "P2", "P3", "P4", "P6", "P10", "P15", "P20", "P30", "P40", "P50" ], "type": "string" }, "instanceSizeName": { "description": "Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster.", "enum": [ "M10", "M20", "M30", "M40", "M50", "M60", "M80", "M90", "M200", "R40", "R50", "R60", "R80", "R200", "R300", "R400", "M60_NVME", "M80_NVME", "M200_NVME", "M300_NVME", "M400_NVME", "M600_NVME" ], "title": "Azure Instance Sizes", "type": "string" }, "regionName": { "description": "Microsoft Azure Regions.", "enum": [ "US_CENTRAL", "US_EAST", "US_EAST_2", "US_NORTH_CENTRAL", "US_WEST", "US_SOUTH_CENTRAL", "EUROPE_NORTH", "EUROPE_WEST", "US_WEST_CENTRAL", "US_WEST_2", "US_WEST_3", "CANADA_EAST", "CANADA_CENTRAL", "BRAZIL_SOUTH", "BRAZIL_SOUTHEAST", "AUSTRALIA_CENTRAL", "AUSTRALIA_CENTRAL_2", "AUSTRALIA_EAST", "AUSTRALIA_SOUTH_EAST", "GERMANY_WEST_CENTRAL", "GERMANY_NORTH", "SWEDEN_CENTRAL", "SWEDEN_SOUTH", "SWITZERLAND_NORTH", "SWITZERLAND_WEST", "UK_SOUTH", "UK_WEST", "NORWAY_EAST", "NORWAY_WEST", "INDIA_CENTRAL", "INDIA_SOUTH", "INDIA_WEST", "CHINA_EAST", "CHINA_NORTH", "ASIA_EAST", "JAPAN_EAST", "JAPAN_WEST", "ASIA_SOUTH_EAST", "KOREA_CENTRAL", "KOREA_SOUTH", "FRANCE_CENTRAL", "FRANCE_SOUTH", "SOUTH_AFRICA_NORTH", "SOUTH_AFRICA_WEST", "UAE_CENTRAL", "UAE_NORTH", "QATAR_CENTRAL", "POLAND_CENTRAL", "ISRAEL_CENTRAL", "ITALY_NORTH", "SPAIN_CENTRAL", "MEXICO_CENTRAL", "NEW_ZEALAND_NORTH", "US_GOV_VIRGINIA", "US_GOV_ARIZONA", "US_GOV_TEXAS" ], "title": "Azure Regions", "type": "string" } }, "type": "object" } ], "type": "object" }, "AzureComputeAutoScalingRules": { "description": "Collection of settings that configures how a cluster might scale its cluster tier and whether the cluster can scale down. Cluster tier auto-scaling is unavailable for clusters using Low CPU or NVME storage classes.", "properties": { "maxInstanceSize": { "description": "Maximum instance size to which your cluster can automatically scale.", "enum": [ "M10", "M20", "M30", "M40", "M50", "M60", "M80", "M90", "M200", "R40", "R50", "R60", "R80", "R200", "R300", "R400", "M60_NVME", "M80_NVME", "M200_NVME", "M300_NVME", "M400_NVME", "M600_NVME" ], "title": "Azure Instance Sizes", "type": "string" }, "minInstanceSize": { "description": "Minimum instance size to which your cluster can automatically scale.", "enum": [ "M10", "M20", "M30", "M40", "M50", "M60", "M80", "M90", "M200", "R40", "R50", "R60", "R80", "R200", "R300", "R400", "M60_NVME", "M80_NVME", "M200_NVME", "M300_NVME", "M400_NVME", "M600_NVME" ], "title": "Azure Instance Sizes", "type": "string" } }, "title": "Azure", "type": "object" }, "BiConnector": { "description": "Settings needed to configure the MongoDB Connector for Business Intelligence for this cluster.", "properties": { "enabled": { "description": "Flag that indicates whether MongoDB Connector for Business Intelligence is enabled on the specified cluster.", "type": "boolean" }, "readPreference": { "description": "Data source node designated for the MongoDB Connector for Business Intelligence on MongoDB Cloud. The MongoDB Connector for Business Intelligence on MongoDB Cloud reads data from the primary, secondary, or analytics node based on your read preferences. Defaults to `ANALYTICS` node, or `SECONDARY` if there are no `ANALYTICS` nodes.", "enum": [ "PRIMARY", "SECONDARY", "ANALYTICS" ], "type": "string" } }, "title": "MongoDB Connector for Business Intelligence Settings", "type": "object" }, "CloudGCPProviderSettings": { "allOf": [ { "$ref": "#/$defs/ClusterProviderSettings" }, { "properties": { "autoScaling": { "$ref": "#/$defs/CloudProviderGCPAutoScaling" }, "instanceSizeName": { "description": "Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster.", "enum": [ "M10", "M20", "M30", "M40", "M50", "M60", "M80", "M140", "M200", "M250", "M300", "M400", "R40", "R50", "R60", "R80", "R200", "R300", "R400", "R600" ], "title": "GCP Instance Sizes", "type": "string" }, "regionName": { "description": "Google Compute Regions.", "enum": [ "EASTERN_US", "EASTERN_US_AW", "US_EAST_4", "US_EAST_4_AW", "US_EAST_5", "US_EAST_5_AW", "US_WEST_2", "US_WEST_2_AW", "US_WEST_3", "US_WEST_3_AW", "US_WEST_4", "US_WEST_4_AW", "US_SOUTH_1", "US_SOUTH_1_AW", "CENTRAL_US", "CENTRAL_US_AW", "WESTERN_US", "WESTERN_US_AW", "NORTH_AMERICA_NORTHEAST_1", "NORTH_AMERICA_NORTHEAST_2", "NORTH_AMERICA_SOUTH_1", "SOUTH_AMERICA_EAST_1", "SOUTH_AMERICA_WEST_1", "WESTERN_EUROPE", "EUROPE_NORTH_1", "EUROPE_WEST_2", "EUROPE_WEST_3", "EUROPE_WEST_4", "EUROPE_WEST_6", "EUROPE_WEST_8", "EUROPE_WEST_9", "EUROPE_WEST_10", "EUROPE_WEST_12", "EUROPE_SOUTHWEST_1", "EUROPE_CENTRAL_2", "MIDDLE_EAST_CENTRAL_1", "MIDDLE_EAST_CENTRAL_2", "MIDDLE_EAST_WEST_1", "AUSTRALIA_SOUTHEAST_1", "AUSTRALIA_SOUTHEAST_2", "AFRICA_SOUTH_1", "EASTERN_ASIA_PACIFIC", "NORTHEASTERN_ASIA_PACIFIC", "SOUTHEASTERN_ASIA_PACIFIC", "ASIA_EAST_2", "ASIA_NORTHEAST_2", "ASIA_NORTHEAST_3", "ASIA_SOUTH_1", "ASIA_SOUTH_2", "ASIA_SOUTHEAST_2" ], "title": "GCP Regions", "type": "string" } }, "type": "object" } ], "type": "object" }, "CloudProviderAWSAutoScaling": { "description": "Range of instance sizes to which your cluster can scale.", "properties": { "compute": { "$ref": "#/$defs/AWSComputeAutoScaling" } }, "type": "object" }, "CloudProviderAzureAutoScaling": { "description": "Range of instance sizes to which your cluster can scale.", "properties": { "compute": { "$ref": "#/$defs/AzureComputeAutoScalingRules" } }, "type": "object" }, "CloudProviderGCPAutoScaling": { "description": "Range of instance sizes to which your cluster can scale.", "properties": { "compute": { "$ref": "#/$defs/GCPComputeAutoScaling" } }, "type": "object" }, "ClusterAutoScalingSettings": { "description": "Range of instance sizes to which your cluster can scale.", "properties": { "compute": { "$ref": "#/$defs/ClusterComputeAutoScaling" }, "diskGBEnabled": { "default": false, "description": "Flag that indicates whether someone enabled disk auto-scaling for this cluster.", "type": "boolean" } }, "title": "Automatic Cluster Scaling Settings", "type": "object" }, "ClusterComputeAutoScaling": { "description": "Collection of settings that configures how a cluster might scale its cluster tier and whether the cluster can scale down. Cluster tier auto-scaling is unavailable for clusters using Low CPU or NVME storage classes.", "properties": { "enabled": { "default": false, "description": "Flag that indicates whether instance size reactive auto-scaling is enabled.\n\n- Set to `true` to enable instance size reactive auto-scaling. If enabled, you must specify a value for `providerSettings.autoScaling.compute.maxInstanceSize`.\n- Set to `false` to disable instance size reactive auto-scaling.", "type": "boolean" }, "scaleDownEnabled": { "default": false, "description": "Flag that indicates whether the cluster tier can scale down via reactive auto-scaling. This is required if `autoScaling.compute.enabled` is `true`. If you enable this option, specify a value for `providerSettings.autoScaling.compute.minInstanceSize`.", "type": "boolean" } }, "type": "object" }, "ClusterConnectionStrings": { "description": "Collection of Uniform Resource Locators that point to the MongoDB database.", "properties": { "awsPrivateLink": { "additionalProperties": { "description": "Private endpoint-aware connection strings that use AWS-hosted clusters with Amazon Web Services (AWS) PrivateLink. Each key identifies an Amazon Web Services (AWS) interface endpoint. Each value identifies the related `mongodb://` connection string that you use to connect to MongoDB Cloud through the interface endpoint that the key names.", "readOnly": true, "type": "string" }, "description": "Private endpoint-aware connection strings that use AWS-hosted clusters with Amazon Web Services (AWS) PrivateLink. Each key identifies an Amazon Web Services (AWS) interface endpoint. Each value identifies the related `mongodb://` connection string that you use to connect to MongoDB Cloud through the interface endpoint that the key names.", "readOnly": true, "type": "object" }, "awsPrivateLinkSrv": { "additionalProperties": { "description": "Private endpoint-aware connection strings that use AWS-hosted clusters with Amazon Web Services (AWS) PrivateLink. Each key identifies an Amazon Web Services (AWS) interface endpoint. Each value identifies the related `mongodb://` connection string that you use to connect to Atlas through the interface endpoint that the key names. If the cluster uses an optimized connection string, `awsPrivateLinkSrv` contains the optimized connection string. If the cluster has the non-optimized (legacy) connection string, `awsPrivateLinkSrv` contains the non-optimized connection string even if an optimized connection string is also present.", "readOnly": true, "type": "string" }, "description": "Private endpoint-aware connection strings that use AWS-hosted clusters with Amazon Web Services (AWS) PrivateLink. Each key identifies an Amazon Web Services (AWS) interface endpoint. Each value identifies the related `mongodb://` connection string that you use to connect to Atlas through the interface endpoint that the key names. If the cluster uses an optimized connection string, `awsPrivateLinkSrv` contains the optimized connection string. If the cluster has the non-optimized (legacy) connection string, `awsPrivateLinkSrv` contains the non-optimized connection string even if an optimized connection string is also present.", "readOnly": true, "type": "object" }, "private": { "description": "Network peering connection strings for each interface Virtual Private Cloud (VPC) endpoint that you configured to connect to this cluster. This connection string uses the `mongodb+srv://` protocol. The resource returns this parameter once someone creates a network peering connection to this cluster. This protocol tells the application to look up the host seed list in the Domain Name System (DNS). This list synchronizes with the nodes in a cluster. If the connection string uses this Uniform Resource Identifier (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.private`. For Amazon Web Services (AWS) clusters, this resource returns this parameter only if you enable custom DNS.", "readOnly": true, "type": "string" }, "privateEndpoint": { "description": "List of private endpoint-aware connection strings that you can use to connect to this cluster through a private endpoint. This parameter returns only if you deployed a private endpoint to all regions to which you deployed this clusters' nodes.", "items": { "$ref": "#/$defs/ClusterDescriptionConnectionStringsPrivateEndpoint" }, "readOnly": true, "type": "array" }, "privateSrv": { "description": "Network peering connection strings for each interface Virtual Private Cloud (VPC) endpoint that you configured to connect to this cluster. This connection string uses the `mongodb+srv://` protocol. The resource returns this parameter when someone creates a network peering connection to this cluster. This protocol tells the application to look up the host seed list in the Domain Name System (DNS). This list synchronizes with the nodes in a cluster. If the connection string uses this Uniform Resource Identifier (URI) format, you don't need to append the seed list or change the Uniform Resource Identifier (URI) if the nodes change. Use this Uniform Resource Identifier (URI) format if your driver supports it. If it doesn't, use `connectionStrings.private`. For Amazon Web Services (AWS) clusters, this parameter returns only if you [enable custom DNS](https://docs.atlas.mongodb.com/reference/api/aws-custom-dns-update/).", "readOnly": true, "type": "string" }, "standard": { "description": "Public connection string that you can use to connect to this cluster. This connection string uses the `mongodb://` protocol.", "readOnly": true, "type": "string" }, "standardSrv": { "description": "Public connection string that you can use to connect to this cluster. This connection string uses the `mongodb+srv://` protocol.", "readOnly": true, "type": "string" } }, "readOnly": true, "title": "Cluster Connection Strings", "type": "object" }, "ClusterDescriptionConnectionStringsPrivateEndpoint": { "description": "Private endpoint-aware connection string that you can use to connect to this cluster through a private endpoint.", "properties": { "connectionString": { "description": "Private endpoint-aware connection string that uses the `mongodb://` protocol to connect to MongoDB Cloud through a private endpoint.", "readOnly": true, "type": "string" }, "endpoints": { "description": "List that contains the private endpoints through which you connect to MongoDB Cloud when you use `connectionStrings.privateEndpoint[n].connectionString` or `connectionStrings.privateEndpoint[n].srvConnectionString`.", "items": { "$ref": "#/$defs/ClusterDescriptionConnectionStringsPrivateEndpointEndpoint" }, "readOnly": true, "type": "array" }, "srvConnectionString": { "description": "Private endpoint-aware connection string that uses the `mongodb+srv://` protocol to connect to MongoDB Cloud through a private endpoint. The `mongodb+srv` protocol tells the driver to look up the seed list of hosts in the Domain Name System (DNS). This list synchronizes with the nodes in a cluster. If the connection string uses this Uniform Resource Identifier (URI) format, you don't need to append the seed list or change the Uniform Resource Identifier (URI) if the nodes change. Use this Uniform Resource Identifier (URI) format if your application supports it. If it doesn't, use `connectionStrings.privateEndpoint[n].connectionString`.", "readOnly": true, "type": "string" }, "srvShardOptimizedConnectionString": { "description": "Private endpoint-aware connection string optimized for sharded clusters that uses the `mongodb+srv://` protocol to connect to MongoDB Cloud through a private endpoint. If the connection string uses this Uniform Resource Identifier (URI) format, you don't need to change the Uniform Resource Identifier (URI) if the nodes change. Use this Uniform Resource Identifier (URI) format if your application and Atlas cluster supports it. If it doesn't, use and consult the documentation for `connectionStrings.privateEndpoint[n].srvConnectionString`.", "readOnly": true, "type": "string" }, "type": { "description": "MongoDB process type to which your application connects. Use `MONGOD` for replica sets and `MONGOS` for sharded clusters.", "enum": [ "MONGOD", "MONGOS" ], "readOnly": true, "type": "string" } }, "title": "Cluster Private Endpoint Connection String", "type": "object" }, "ClusterDescriptionConnectionStringsPrivateEndpointEndpoint": { "description": "Details of a private endpoint deployed for this cluster.", "properties": { "endpointId": { "description": "Unique string that the cloud provider uses to identify the private endpoint.", "readOnly": true, "type": "string" }, "providerName": { "description": "Cloud provider in which MongoDB Cloud deploys the private endpoint.", "enum": [ "AWS", "AZURE", "GCP" ], "readOnly": true, "type": "string" }, "region": { "description": "Region where the private endpoint is deployed.", "readOnly": true, "type": "string" } }, "title": "Cluster Private Endpoint Connection Strings Endpoint", "type": "object" }, "ClusterFlexProviderSettings": { "allOf": [ { "$ref": "#/$defs/ClusterProviderSettings" }, { "properties": { "backingProviderName": { "description": "Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `FLEX` and `providerSetting.instanceSizeName` is `FLEX`.", "enum": [ "AWS", "GCP", "AZURE" ], "type": "string" }, "instanceSizeName": { "description": "Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. You must set `providerSettings.providerName` to `FLEX` and specify the cloud service provider in `providerSettings.backingProviderName`.", "enum": [ "FLEX" ], "title": "Flex Instance Sizes", "type": "string" }, "regionName": { "description": "Human-readable label that identifies the geographic location of your MongoDB cluster. The region you choose can affect network latency for clients accessing your databases. For a complete list of region names, see [AWS](https://docs.atlas.mongodb.com/reference/amazon-aws/#std-label-amazon-aws), [GCP](https://docs.atlas.mongodb.com/reference/google-gcp/), and [Azure](https://docs.atlas.mongodb.com/reference/microsoft-azure/).", "type": "string" } }, "type": "object" } ], "type": "object" }, "ClusterFreeAutoScaling": { "description": "Range of instance sizes to which your cluster can scale.", "properties": { "compute": { "$ref": "#/$defs/FreeComputeAutoScalingRules" } }, "type": "object" }, "ClusterFreeProviderSettings": { "allOf": [ { "$ref": "#/$defs/ClusterProviderSettings" }, { "properties": { "autoScaling": { "$ref": "#/$defs/ClusterFreeAutoScaling" }, "backingProviderName": { "description": "Cloud service provider on which MongoDB Cloud provisioned the multi-tenant host. The resource returns this parameter when `providerSettings.providerName` is `TENANT` and `providerSetting.instanceSizeName` is `M0`, `M2` or `M5`. \n\nPlease note that using an `instanceSize` of M2 or M5 will create a Flex cluster instead. Support for the `instanceSize` of M2 or M5 will be discontinued in January 2026. We recommend using the Create Flex Cluster API for such configurations moving forward.", "enum": [ "AWS", "GCP", "AZURE" ], "type": "string" }, "effectiveInstanceSizeName": { "description": "The true tenant instance size. This is present to support backwards compatibility for deprecated provider types and/or instance sizes.", "enum": [ "FLEX", "M2", "M5", "M0" ], "readOnly": true, "type": "string" }, "instanceSizeName": { "description": "Cluster tier, with a default storage and memory capacity, that applies to all the data-bearing hosts in your cluster. You must set `providerSettings.providerName` to `TENANT` and specify the cloud service provider in `providerSettings.backingProviderName`.", "enum": [ "M0", "M2", "M5" ], "title": "Tenant Instance Sizes", "type": "string" }, "regionName": { "description": "Human-readable label that identifies the geographic location of your MongoDB cluster. The region you choose can affect network latency for clients accessing your databases. For a complete list of region names, see [AWS](https://docs.atlas.mongodb.com/reference/amazon-aws/#std-label-amazon-aws), [GCP](https://docs.atlas.mongodb.com/reference/google-gcp/), and [Azure](https://docs.atlas.mongodb.com/reference/microsoft-azure/). For multi-region clusters, see `replicationSpec.{region}`.", "type": "string" } }, "type": "object" } ], "type": "object" }, "ClusterProviderSettings": { "description": "Group of cloud provider settings that configure the provisioned MongoDB hosts.", "oneOf": [ { "$ref": "#/$defs/AWSCloudProviderSettings" }, { "$ref": "#/$defs/AzureCloudProviderSettings" }, { "$ref": "#/$defs/CloudGCPProviderSettings" }, { "$ref": "#/$defs/ClusterFreeProviderSettings" }, { "$ref": "#/$defs/ClusterFlexProviderSettings" } ], "properties": { "providerName": { "type": "string" } }, "required": [ "providerName" ], "title": "Cloud Service Provider Settings for a Cluster", "type": "object" }, "ComponentLabel": { "description": "Human-readable labels applied to this MongoDB Cloud component.", "properties": { "key": { "description": "Key applied to tag and categorize this component.", "maxLength": 255, "minLength": 1, "type": "string" }, "value": { "description": "Value set to the Key applied to tag and categorize this component.", "maxLength": 255, "minLength": 1, "type": "string" } }, "title": "Component Label", "type": "object" }, "EmployeeAccessGrantView": { "description": "MongoDB employee granted access level and expiration for a cluster.", "properties": { "expirationTime": { "description": "Expiration date for the employee access grant. This parameter expresses its value in the ISO 8601 timestamp format in UTC.", "format": "date-time", "type": "string" }, "grantType": { "description": "Level of access to grant to MongoDB Employees.", "enum": [ "CLUSTER_DATABASE_LOGS", "CLUSTER_INFRASTRUCTURE", "CLUSTER_INFRASTRUCTURE_AND_APP_SERVICES_SYNC_DATA" ], "type": "string" }, "links": { "description": "List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships.", "items": { "$ref": "#/$defs/Link" }, "readOnly": true, "type": "array" } }, "required": [ "expirationTime", "grantType" ], "type": "object" }, "FreeComputeAutoScalingRules": { "description": "Collection of settings that configures how a cluster might scale its cluster tier and whether the cluster can scale down.", "properties": { "maxInstanceSize": { "description": "Maximum instance size to which your cluster can automatically scale.", "enum": [ "M0", "M2", "M5" ], "title": "Tenant Instance Sizes", "type": "string" }, "minInstanceSize": { "description": "Minimum instance size to which your cluster can automatically scale.", "enum": [ "M0", "M2", "M5" ], "title": "Tenant Instance Sizes", "type": "string" } }, "title": "Tenant", "type": "object" }, "GCPComputeAutoScaling": { "description": "Collection of settings that configures how a cluster might scale its cluster tier and whether the cluster can scale down. Cluster tier auto-scaling is unavailable for clusters using Low CPU or NVME storage classes.", "properties": { "maxInstanceSize": { "description": "Maximum instance size to which your cluster can automatically scale.", "enum": [ "M10", "M20", "M30", "M40", "M50", "M60", "M80", "M140", "M200", "M250", "M300", "M400", "R40", "R50", "R60", "R80", "R200", "R300", "R400", "R600" ], "title": "GCP Instance Sizes", "type": "string" }, "minInstanceSize": { "description": "Minimum instance size to which your cluster can automatically scale.", "enum": [ "M10", "M20", "M30", "M40", "M50", "M60", "M80", "M140", "M200", "M250", "M300", "M400", "R40", "R50", "R60", "R80", "R200", "R300", "R400", "R600" ], "title": "GCP Instance Sizes", "type": "string" } }, "title": "GCP", "type": "object" }, "LegacyReplicationSpec": { "properties": { "id": { "description": "Unique 24-hexadecimal digit string that identifies the replication object for a zone in a Global Cluster.\n\n- If you include existing zones in the request, you must specify this parameter.\n\n- If you add a new zone to an existing Global Cluster, you may specify this parameter. The request deletes any existing zones in a Global Cluster that you exclude from the request.", "pattern": "^([a-f0-9]{24})$", "type": "string" }, "numShards": { "default": 1, "description": "Positive integer that specifies the number of shards to deploy in each specified zone If you set this value to `1` and `clusterType` is `SHARDED`, MongoDB Cloud deploys a single-shard sharded cluster. Don't create a sharded cluster with a single shard for production environments. Single-shard sharded clusters don't provide the same benefits as multi-shard configurations.\n\n If you are upgrading a replica set to a sharded cluster, you cannot increase the number of shards in the same update request. You should wait until after the cluster has completed upgrading to sharded and you have reconnected all application clients to the MongoDB router before adding additional shards. Otherwise, your data might become inconsistent once MongoDB Cloud begins distributing data across shards.", "format": "int32", "type": "integer" }, "regionsConfig": { "additionalProperties": { "$ref": "#/$defs/RegionSpec" }, "description": "Physical location where MongoDB Cloud provisions cluster nodes.", "title": "Region Configuration", "type": "object" }, "zoneName": { "description": "Human-readable label that identifies the zone in a Global Cluster. Provide this value only if `clusterType` is `GEOSHARDED`.", "type": "string" } }, "type": "object" }, "Link": { "properties": { "href": { "description": "Uniform Resource Locator (URL) that points another API resource to which this response has some relationship. This URL often begins with `https://cloud.mongodb.com/api/atlas`.", "type": "string" }, "rel": { "description": "Uniform Resource Locator (URL) that defines the semantic relationship between this resource and another API resource. This URL often begins with `https://cloud.mongodb.com/api/atlas`.", "type": "string" } }, "type": "object" }, "RegionSpec": { "description": "Physical location where MongoDB Cloud provisions cluster nodes.", "properties": { "analyticsNodes": { "description": "Number of analytics nodes in the region. Analytics nodes handle analytic data such as reporting queries from MongoDB Connector for Business Intelligence on MongoDB Cloud. Analytics nodes are read-only, and can never become the primary. Use `replicationSpecs[n].{region}.analyticsNodes` instead.", "format": "int32", "type": "integer" }, "electableNodes": { "description": "Number of electable nodes to deploy in the specified region. Electable nodes can become the primary and can facilitate local reads. Use `replicationSpecs[n].{region}.electableNodes` instead.", "enum": [ 0, 3, 5, 7 ], "format": "int32", "type": "integer" }, "priority": { "description": "Number that indicates the election priority of the region. To identify the Preferred Region of the cluster, set this parameter to `7`. The primary node runs in the **Preferred Region**. To identify a read-only region, set this parameter to `0`.", "format": "int32", "maximum": 7, "minimum": 0, "type": "integer" }, "readOnlyNodes": { "description": "Number of read-only nodes in the region. Read-only nodes can never become the primary member, but can facilitate local reads. Use `replicationSpecs[n].{region}.readOnlyNodes` instead.", "format": "int32", "type": "integer" } }, "title": "Region Configuration", "type": "object" }, "ResourceTag": { "description": "Key-value pair that tags and categorizes a MongoDB Cloud organization, project, or cluster. For example, `environment : production`.", "properties": { "key": { "description": "Constant that defines the set of the tag. For example, `environment` in the `environment : production` tag.", "maxLength": 255, "minLength": 1, "type": "string" }, "value": { "description": "Variable that belongs to the set of the tag. For example, `production` in the `environment : production` tag.", "maxLength": 255, "minLength": 1, "type": "string" } }, "required": [ "key", "value" ], "title": "Resource Tag", "type": "object" } } }