Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Bicep-resourcedefinitie
Het resourcetype mongoClusters kan worden geïmplementeerd met bewerkingen die zijn gericht op:
- Resourcegroepen - Zie opdrachten voor de implementatie van resourcegroepen
Zie logboek wijzigenvoor een lijst met gewijzigde eigenschappen in elke API-versie.
Resource-indeling
Als u een Resource Microsoft.DocumentDB/mongoClusters wilt maken, voegt u de volgende Bicep toe aan uw sjabloon.
resource symbolicname 'Microsoft.DocumentDB/mongoClusters@2025-09-01' = {
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
location: 'string'
name: 'string'
properties: {
administrator: {
password: 'string'
userName: 'string'
}
authConfig: {
allowedModes: [
'string'
]
}
backup: {}
compute: {
tier: 'string'
}
createMode: 'string'
dataApi: {
mode: 'string'
}
encryption: {
customerManagedKeyEncryption: {
keyEncryptionKeyIdentity: {
identityType: 'string'
userAssignedIdentityResourceId: 'string'
}
keyEncryptionKeyUrl: 'string'
}
}
highAvailability: {
targetMode: 'string'
}
previewFeatures: [
'string'
]
publicNetworkAccess: 'string'
replicaParameters: {
sourceLocation: 'string'
sourceResourceId: 'string'
}
restoreParameters: {
pointInTimeUTC: 'string'
sourceResourceId: 'string'
}
serverVersion: 'string'
sharding: {
shardCount: int
}
storage: {
sizeGb: int
type: 'string'
}
}
tags: {
{customized property}: 'string'
}
}
Eigenschapswaarden
Microsoft.DocumentDB/mongoClusters
| Naam | Beschrijving | Waarde |
|---|---|---|
| identiteit | De beheerde service-identiteiten die zijn toegewezen aan deze resource. | ManagedServiceIdentity |
| plaats | De geografische locatie waar de resource zich bevindt | tekenreeks (vereist) |
| naam | De resourcenaam | snaar Beperkingen: Minimale lengte = 3 Maximale lengte = 40 Patroon = ^[a-z0-9]+(-[a-z0-9]+)* (vereist) |
| Eigenschappen | De resourcespecifieke eigenschappen voor deze resource. | MongoClusterProperties- |
| Tags | Resourcetags | Woordenlijst met tagnamen en -waarden. Zie Tags in sjablonen |
AdministratorEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| wachtwoord | Het beheerderswachtwoord. | snaar Beperkingen: Gevoelige waarde. Doorgeven als een beveiligde parameter. |
| gebruikersnaam | De gebruikersnaam van de beheerder. | snaar |
AuthConfigEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| toegestane modi | Toegestane verificatiemodi voor gegevenstoegang op het cluster. | Tekenreeksmatrix met een van de volgende waarden: 'MicrosoftEntraID' 'InheemseAuth' |
Eigenschappen voor back-up
| Naam | Beschrijving | Waarde |
|---|
ComputeProperties
| Naam | Beschrijving | Waarde |
|---|---|---|
| rang | De rekenlaag die moet worden toegewezen aan het cluster, waarbij elke laag wordt toegewezen aan een virtuele kern en geheugengrootte. Voorbeeldwaarden: 'M30', 'M40'. | snaar |
CustomerManagedKeyEncryptionProperties
| Naam | Beschrijving | Waarde |
|---|---|---|
| keyEncryptionKeyIdentity | De identiteit die wordt gebruikt om toegang te krijgen tot de sleutelcoderingssleutel. | KeyEncryptionKeyIdentity |
| keyEncryptionKeyUrl | De URI van de sleutelkluissleutel die wordt gebruikt voor de versleuteling. | snaar |
DataApiEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| wijze | De modus om aan te geven of de Mongo Data-API is ingeschakeld voor een cluster. | 'Uitgeschakeld' 'Ingeschakeld' |
Encryptie-eigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| customerManagedKeyEncryption | Door de klant beheerde sleutelversleutelingsinstellingen. | CustomerManagedKeyEncryptionProperties |
HogeBeschikbaarheidEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| doelmodus | De doelmodus voor hoge beschikbaarheid die is aangevraagd voor het cluster. | 'Uitgeschakeld' 'Zelfde zone' 'ZoneRedundantPreferred' |
KeyEncryptionKeyIdentity
| Naam | Beschrijving | Waarde |
|---|---|---|
| identiteitstype | Het type identiteit. Alleen 'UserAssignedIdentity' wordt ondersteund. | UserAssignedIdentity |
| userAssignedIdentityResourceId | De resource-id van de gebruiker waaraan de identiteit is toegewezen. | snaar |
ManagedServiceIdentity
| Naam | Beschrijving | Waarde |
|---|---|---|
| soort | Type beheerde service-identiteit (waarbij zowel SystemAssigned- als UserAssigned-typen zijn toegestaan). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (verplicht) |
| gebruikers-toegewezen identiteiten | De set door de gebruiker toegewezen identiteiten die aan de resource zijn gekoppeld. De woordenlijstsleutels userAssignedIdentities zijn ARM-resource-id's in de vorm: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. De waarden van de woordenlijst kunnen lege objecten ({}) zijn in aanvragen. | UserAssignedIdentities |
MongoClusterEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| administrateur | De lokale beheerderseigenschappen voor het Mongo-cluster. | AdministratorProperties- |
| Verificatieconfiguratie | De verificatieconfiguratie voor het cluster. | AuthConfigProperties- |
| reservekopie | De back-upeigenschappen van het Mongo-cluster. | BackupProperties- |
| berekenen | De rekeneigenschappen van het Mongo-cluster. | ComputeProperties- |
| createMode | De modus voor het maken van een Mongo-cluster. | 'Standaard' 'GeoReplica' 'PointInTimeRestore' 'Replica' |
| data-API | De gegevens-API-eigenschappen van het Mongo-cluster. | DataApiProperties- |
| versleuteling | De versleutelingsconfiguratie voor het cluster. Afhankelijk van de identiteit die wordt geconfigureerd. | EncryptionProperties- |
| hoge beschikbaarheid | De eigenschappen voor hoge beschikbaarheid van het Mongo-cluster. | HighAvailabilityProperties- |
| previewFuncties | Lijst met privé-eindpuntverbindingen. | Tekenreeksmatrix met een van de volgende waarden: 'GeoReplica's' |
| toegang tot het openbare netwerk | Of openbare eindpunttoegang wel of niet is toegestaan voor dit Mongo-cluster. | 'Uitgeschakeld' 'Ingeschakeld' |
| replicaParameters | De parameters voor het maken van een replica mongo-cluster. | MongoClusterReplicaParameters |
| Parameters herstellen | De parameters voor het maken van een mongo-cluster voor herstel naar een bepaald tijdstip. | MongoClusterRestoreParameters |
| serverVersie | De Mongo DB-serverversie. Standaard ingesteld op de meest recente beschikbare versie als deze niet is opgegeven. | snaar |
| splitsen | De sharding-eigenschappen van het Mongo-cluster. | ShardingProperties- |
| opslag | De opslageigenschappen van het Mongo-cluster. | StorageProperties- |
MongoClusterReplicaParameters
| Naam | Beschrijving | Waarde |
|---|---|---|
| bronLocatie | De locatie van het broncluster | tekenreeks (vereist) |
| bronBronId | De id van het replicatiebroncluster. | tekenreeks (vereist) |
MongoClusterRestoreParameters
| Naam | Beschrijving | Waarde |
|---|---|---|
| puntInTimeUTC | UTC-tijdstip om een Mongo-cluster te herstellen | snaar |
| bronBronId | Resource-id om het broncluster te vinden dat moet worden hersteld | snaar |
ShardingEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| shardCount | Aantal shards dat moet worden ingericht op het cluster. | Int |
StorageEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| grootteGb | De grootte van de gegevensschijf die aan elke server is toegewezen. | Int |
| soort | Het type opslag waarmee de clusterservers moeten worden ingericht. | 'PremiumSSD' 'PremiumSSDv2' |
Gevolgde brontags
| Naam | Beschrijving | Waarde |
|---|
UserAssignedIdentities
| Naam | Beschrijving | Waarde |
|---|
GebruikerstoewijzendeIdentiteit
| Naam | Beschrijving | Waarde |
|---|
Gebruiksvoorbeelden
Geverifieerde Azure-modules
De volgende azure-geverifieerde modules kunnen worden gebruikt om dit resourcetype te implementeren.
| Moduul | Beschrijving |
|---|---|
| Cosmos DB voor MongoDB (vCore) | AVM-resourcemodule voor Cosmos DB voor MongoDB (vCore) |
Resourcedefinitie van ARM-sjabloon
Het resourcetype mongoClusters kan worden geïmplementeerd met bewerkingen die zijn gericht op:
- Resourcegroepen - Zie opdrachten voor de implementatie van resourcegroepen
Zie logboek wijzigenvoor een lijst met gewijzigde eigenschappen in elke API-versie.
Resource-indeling
Als u een Microsoft.DocumentDB/mongoClusters-resource wilt maken, voegt u de volgende JSON toe aan uw sjabloon.
{
"type": "Microsoft.DocumentDB/mongoClusters",
"apiVersion": "2025-09-01",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"location": "string",
"properties": {
"administrator": {
"password": "string",
"userName": "string"
},
"authConfig": {
"allowedModes": [ "string" ]
},
"backup": {
},
"compute": {
"tier": "string"
},
"createMode": "string",
"dataApi": {
"mode": "string"
},
"encryption": {
"customerManagedKeyEncryption": {
"keyEncryptionKeyIdentity": {
"identityType": "string",
"userAssignedIdentityResourceId": "string"
},
"keyEncryptionKeyUrl": "string"
}
},
"highAvailability": {
"targetMode": "string"
},
"previewFeatures": [ "string" ],
"publicNetworkAccess": "string",
"replicaParameters": {
"sourceLocation": "string",
"sourceResourceId": "string"
},
"restoreParameters": {
"pointInTimeUTC": "string",
"sourceResourceId": "string"
},
"serverVersion": "string",
"sharding": {
"shardCount": "int"
},
"storage": {
"sizeGb": "int",
"type": "string"
}
},
"tags": {
"{customized property}": "string"
}
}
Eigenschapswaarden
Microsoft.DocumentDB/mongoClusters
| Naam | Beschrijving | Waarde |
|---|---|---|
| apiVersion | De API-versie | '2025-09-01' |
| identiteit | De beheerde service-identiteiten die zijn toegewezen aan deze resource. | ManagedServiceIdentity |
| plaats | De geografische locatie waar de resource zich bevindt | tekenreeks (vereist) |
| naam | De resourcenaam | snaar Beperkingen: Minimale lengte = 3 Maximale lengte = 40 Patroon = ^[a-z0-9]+(-[a-z0-9]+)* (vereist) |
| Eigenschappen | De resourcespecifieke eigenschappen voor deze resource. | MongoClusterProperties- |
| Tags | Resourcetags | Woordenlijst met tagnamen en -waarden. Zie Tags in sjablonen |
| soort | Het resourcetype | 'Microsoft.DocumentDB/mongoClusters' |
AdministratorEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| wachtwoord | Het beheerderswachtwoord. | snaar Beperkingen: Gevoelige waarde. Doorgeven als een beveiligde parameter. |
| gebruikersnaam | De gebruikersnaam van de beheerder. | snaar |
AuthConfigEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| toegestane modi | Toegestane verificatiemodi voor gegevenstoegang op het cluster. | Tekenreeksmatrix met een van de volgende waarden: 'MicrosoftEntraID' 'InheemseAuth' |
Eigenschappen voor back-up
| Naam | Beschrijving | Waarde |
|---|
ComputeProperties
| Naam | Beschrijving | Waarde |
|---|---|---|
| rang | De rekenlaag die moet worden toegewezen aan het cluster, waarbij elke laag wordt toegewezen aan een virtuele kern en geheugengrootte. Voorbeeldwaarden: 'M30', 'M40'. | snaar |
CustomerManagedKeyEncryptionProperties
| Naam | Beschrijving | Waarde |
|---|---|---|
| keyEncryptionKeyIdentity | De identiteit die wordt gebruikt om toegang te krijgen tot de sleutelcoderingssleutel. | KeyEncryptionKeyIdentity |
| keyEncryptionKeyUrl | De URI van de sleutelkluissleutel die wordt gebruikt voor de versleuteling. | snaar |
DataApiEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| wijze | De modus om aan te geven of de Mongo Data-API is ingeschakeld voor een cluster. | 'Uitgeschakeld' 'Ingeschakeld' |
Encryptie-eigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| customerManagedKeyEncryption | Door de klant beheerde sleutelversleutelingsinstellingen. | CustomerManagedKeyEncryptionProperties |
HogeBeschikbaarheidEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| doelmodus | De doelmodus voor hoge beschikbaarheid die is aangevraagd voor het cluster. | 'Uitgeschakeld' 'Zelfde zone' 'ZoneRedundantPreferred' |
KeyEncryptionKeyIdentity
| Naam | Beschrijving | Waarde |
|---|---|---|
| identiteitstype | Het type identiteit. Alleen 'UserAssignedIdentity' wordt ondersteund. | UserAssignedIdentity |
| userAssignedIdentityResourceId | De resource-id van de gebruiker waaraan de identiteit is toegewezen. | snaar |
ManagedServiceIdentity
| Naam | Beschrijving | Waarde |
|---|---|---|
| soort | Type beheerde service-identiteit (waarbij zowel SystemAssigned- als UserAssigned-typen zijn toegestaan). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (verplicht) |
| gebruikers-toegewezen identiteiten | De set door de gebruiker toegewezen identiteiten die aan de resource zijn gekoppeld. De woordenlijstsleutels userAssignedIdentities zijn ARM-resource-id's in de vorm: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. De waarden van de woordenlijst kunnen lege objecten ({}) zijn in aanvragen. | UserAssignedIdentities |
MongoClusterEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| administrateur | De lokale beheerderseigenschappen voor het Mongo-cluster. | AdministratorProperties- |
| Verificatieconfiguratie | De verificatieconfiguratie voor het cluster. | AuthConfigProperties- |
| reservekopie | De back-upeigenschappen van het Mongo-cluster. | BackupProperties- |
| berekenen | De rekeneigenschappen van het Mongo-cluster. | ComputeProperties- |
| createMode | De modus voor het maken van een Mongo-cluster. | 'Standaard' 'GeoReplica' 'PointInTimeRestore' 'Replica' |
| data-API | De gegevens-API-eigenschappen van het Mongo-cluster. | DataApiProperties- |
| versleuteling | De versleutelingsconfiguratie voor het cluster. Afhankelijk van de identiteit die wordt geconfigureerd. | EncryptionProperties- |
| hoge beschikbaarheid | De eigenschappen voor hoge beschikbaarheid van het Mongo-cluster. | HighAvailabilityProperties- |
| previewFuncties | Lijst met privé-eindpuntverbindingen. | Tekenreeksmatrix met een van de volgende waarden: 'GeoReplica's' |
| toegang tot het openbare netwerk | Of openbare eindpunttoegang wel of niet is toegestaan voor dit Mongo-cluster. | 'Uitgeschakeld' 'Ingeschakeld' |
| replicaParameters | De parameters voor het maken van een replica mongo-cluster. | MongoClusterReplicaParameters |
| Parameters herstellen | De parameters voor het maken van een mongo-cluster voor herstel naar een bepaald tijdstip. | MongoClusterRestoreParameters |
| serverVersie | De Mongo DB-serverversie. Standaard ingesteld op de meest recente beschikbare versie als deze niet is opgegeven. | snaar |
| splitsen | De sharding-eigenschappen van het Mongo-cluster. | ShardingProperties- |
| opslag | De opslageigenschappen van het Mongo-cluster. | StorageProperties- |
MongoClusterReplicaParameters
| Naam | Beschrijving | Waarde |
|---|---|---|
| bronLocatie | De locatie van het broncluster | tekenreeks (vereist) |
| bronBronId | De id van het replicatiebroncluster. | tekenreeks (vereist) |
MongoClusterRestoreParameters
| Naam | Beschrijving | Waarde |
|---|---|---|
| puntInTimeUTC | UTC-tijdstip om een Mongo-cluster te herstellen | snaar |
| bronBronId | Resource-id om het broncluster te vinden dat moet worden hersteld | snaar |
ShardingEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| shardCount | Aantal shards dat moet worden ingericht op het cluster. | Int |
StorageEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| grootteGb | De grootte van de gegevensschijf die aan elke server is toegewezen. | Int |
| soort | Het type opslag waarmee de clusterservers moeten worden ingericht. | 'PremiumSSD' 'PremiumSSDv2' |
Gevolgde brontags
| Naam | Beschrijving | Waarde |
|---|
UserAssignedIdentities
| Naam | Beschrijving | Waarde |
|---|
GebruikerstoewijzendeIdentiteit
| Naam | Beschrijving | Waarde |
|---|
Gebruiksvoorbeelden
Resourcedefinitie van Terraform (AzAPI-provider)
Het resourcetype mongoClusters kan worden geïmplementeerd met bewerkingen die zijn gericht op:
- Resourcegroepen
Zie logboek wijzigenvoor een lijst met gewijzigde eigenschappen in elke API-versie.
Resource-indeling
Als u een Microsoft.DocumentDB/mongoClusters-resource wilt maken, voegt u de volgende Terraform toe aan uw sjabloon.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DocumentDB/mongoClusters@2025-09-01"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
administrator = {
password = "string"
userName = "string"
}
authConfig = {
allowedModes = [
"string"
]
}
backup = {
}
compute = {
tier = "string"
}
createMode = "string"
dataApi = {
mode = "string"
}
encryption = {
customerManagedKeyEncryption = {
keyEncryptionKeyIdentity = {
identityType = "string"
userAssignedIdentityResourceId = "string"
}
keyEncryptionKeyUrl = "string"
}
}
highAvailability = {
targetMode = "string"
}
previewFeatures = [
"string"
]
publicNetworkAccess = "string"
replicaParameters = {
sourceLocation = "string"
sourceResourceId = "string"
}
restoreParameters = {
pointInTimeUTC = "string"
sourceResourceId = "string"
}
serverVersion = "string"
sharding = {
shardCount = int
}
storage = {
sizeGb = int
type = "string"
}
}
}
}
Eigenschapswaarden
Microsoft.DocumentDB/mongoClusters
| Naam | Beschrijving | Waarde |
|---|---|---|
| identiteit | De beheerde service-identiteiten die zijn toegewezen aan deze resource. | ManagedServiceIdentity |
| plaats | De geografische locatie waar de resource zich bevindt | tekenreeks (vereist) |
| naam | De resourcenaam | snaar Beperkingen: Minimale lengte = 3 Maximale lengte = 40 Patroon = ^[a-z0-9]+(-[a-z0-9]+)* (vereist) |
| Eigenschappen | De resourcespecifieke eigenschappen voor deze resource. | MongoClusterProperties- |
| Tags | Resourcetags | Woordenlijst met tagnamen en -waarden. |
| soort | Het resourcetype | "Microsoft.DocumentDB/mongoClusters@2025-09-01" |
AdministratorEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| wachtwoord | Het beheerderswachtwoord. | snaar Beperkingen: Gevoelige waarde. Doorgeven als een beveiligde parameter. |
| gebruikersnaam | De gebruikersnaam van de beheerder. | snaar |
AuthConfigEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| toegestane modi | Toegestane verificatiemodi voor gegevenstoegang op het cluster. | Tekenreeksmatrix met een van de volgende waarden: 'MicrosoftEntraID' 'InheemseAuth' |
Eigenschappen voor back-up
| Naam | Beschrijving | Waarde |
|---|
ComputeProperties
| Naam | Beschrijving | Waarde |
|---|---|---|
| rang | De rekenlaag die moet worden toegewezen aan het cluster, waarbij elke laag wordt toegewezen aan een virtuele kern en geheugengrootte. Voorbeeldwaarden: 'M30', 'M40'. | snaar |
CustomerManagedKeyEncryptionProperties
| Naam | Beschrijving | Waarde |
|---|---|---|
| keyEncryptionKeyIdentity | De identiteit die wordt gebruikt om toegang te krijgen tot de sleutelcoderingssleutel. | KeyEncryptionKeyIdentity |
| keyEncryptionKeyUrl | De URI van de sleutelkluissleutel die wordt gebruikt voor de versleuteling. | snaar |
DataApiEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| wijze | De modus om aan te geven of de Mongo Data-API is ingeschakeld voor een cluster. | 'Uitgeschakeld' 'Ingeschakeld' |
Encryptie-eigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| customerManagedKeyEncryption | Door de klant beheerde sleutelversleutelingsinstellingen. | CustomerManagedKeyEncryptionProperties |
HogeBeschikbaarheidEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| doelmodus | De doelmodus voor hoge beschikbaarheid die is aangevraagd voor het cluster. | 'Uitgeschakeld' 'Zelfde zone' 'ZoneRedundantPreferred' |
KeyEncryptionKeyIdentity
| Naam | Beschrijving | Waarde |
|---|---|---|
| identiteitstype | Het type identiteit. Alleen 'UserAssignedIdentity' wordt ondersteund. | UserAssignedIdentity |
| userAssignedIdentityResourceId | De resource-id van de gebruiker waaraan de identiteit is toegewezen. | snaar |
ManagedServiceIdentity
| Naam | Beschrijving | Waarde |
|---|---|---|
| soort | Type beheerde service-identiteit (waarbij zowel SystemAssigned- als UserAssigned-typen zijn toegestaan). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (verplicht) |
| gebruikers-toegewezen identiteiten | De set door de gebruiker toegewezen identiteiten die aan de resource zijn gekoppeld. De woordenlijstsleutels userAssignedIdentities zijn ARM-resource-id's in de vorm: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. De waarden van de woordenlijst kunnen lege objecten ({}) zijn in aanvragen. | UserAssignedIdentities |
MongoClusterEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| administrateur | De lokale beheerderseigenschappen voor het Mongo-cluster. | AdministratorProperties- |
| Verificatieconfiguratie | De verificatieconfiguratie voor het cluster. | AuthConfigProperties- |
| reservekopie | De back-upeigenschappen van het Mongo-cluster. | BackupProperties- |
| berekenen | De rekeneigenschappen van het Mongo-cluster. | ComputeProperties- |
| createMode | De modus voor het maken van een Mongo-cluster. | 'Standaard' 'GeoReplica' 'PointInTimeRestore' 'Replica' |
| data-API | De gegevens-API-eigenschappen van het Mongo-cluster. | DataApiProperties- |
| versleuteling | De versleutelingsconfiguratie voor het cluster. Afhankelijk van de identiteit die wordt geconfigureerd. | EncryptionProperties- |
| hoge beschikbaarheid | De eigenschappen voor hoge beschikbaarheid van het Mongo-cluster. | HighAvailabilityProperties- |
| previewFuncties | Lijst met privé-eindpuntverbindingen. | Tekenreeksmatrix met een van de volgende waarden: 'GeoReplica's' |
| toegang tot het openbare netwerk | Of openbare eindpunttoegang wel of niet is toegestaan voor dit Mongo-cluster. | 'Uitgeschakeld' 'Ingeschakeld' |
| replicaParameters | De parameters voor het maken van een replica mongo-cluster. | MongoClusterReplicaParameters |
| Parameters herstellen | De parameters voor het maken van een mongo-cluster voor herstel naar een bepaald tijdstip. | MongoClusterRestoreParameters |
| serverVersie | De Mongo DB-serverversie. Standaard ingesteld op de meest recente beschikbare versie als deze niet is opgegeven. | snaar |
| splitsen | De sharding-eigenschappen van het Mongo-cluster. | ShardingProperties- |
| opslag | De opslageigenschappen van het Mongo-cluster. | StorageProperties- |
MongoClusterReplicaParameters
| Naam | Beschrijving | Waarde |
|---|---|---|
| bronLocatie | De locatie van het broncluster | tekenreeks (vereist) |
| bronBronId | De id van het replicatiebroncluster. | tekenreeks (vereist) |
MongoClusterRestoreParameters
| Naam | Beschrijving | Waarde |
|---|---|---|
| puntInTimeUTC | UTC-tijdstip om een Mongo-cluster te herstellen | snaar |
| bronBronId | Resource-id om het broncluster te vinden dat moet worden hersteld | snaar |
ShardingEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| shardCount | Aantal shards dat moet worden ingericht op het cluster. | Int |
StorageEigenschappen
| Naam | Beschrijving | Waarde |
|---|---|---|
| grootteGb | De grootte van de gegevensschijf die aan elke server is toegewezen. | Int |
| soort | Het type opslag waarmee de clusterservers moeten worden ingericht. | 'PremiumSSD' 'PremiumSSDv2' |
Gevolgde brontags
| Naam | Beschrijving | Waarde |
|---|
UserAssignedIdentities
| Naam | Beschrijving | Waarde |
|---|
GebruikerstoewijzendeIdentiteit
| Naam | Beschrijving | Waarde |
|---|
Gebruiksvoorbeelden
Terraform-monsters
Een basisvoorbeeld van het implementeren van Azure Cosmos DB voor MongoDB (vCore).
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
time = {
source = "hashicorp/time"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westus3"
}
variable "replica_location" {
type = string
default = "centralus"
}
variable "mongo_admin_username" {
type = string
default = "mongoAdmin"
}
variable "mongo_admin_password" {
type = string
description = "The administrator password for the MongoDB cluster"
sensitive = true
}
variable "mongo_restore_admin_password" {
type = string
description = "The administrator password for the restored MongoDB cluster"
sensitive = true
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "userAssignedIdentity" {
type = "Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
schema_validation_enabled = false
response_export_values = ["*"]
}
data "azapi_client_config" "current" {}
resource "azapi_resource" "vault" {
type = "Microsoft.KeyVault/vaults@2023-02-01"
parent_id = azapi_resource.resourceGroup.id
name = "${var.resource_name}-kv"
location = var.location
body = {
properties = {
createMode = "default"
enablePurgeProtection = true
enableSoftDelete = true
enableRbacAuthorization = true
enabledForDeployment = true
enabledForDiskEncryption = true
enabledForTemplateDeployment = true
publicNetworkAccess = "Enabled"
accessPolicies = []
sku = {
family = "A"
name = "standard"
}
tenantId = data.azapi_client_config.current.tenant_id
}
}
}
data "azapi_resource_list" "kvCertificatesOfficerRoleDefinition" {
type = "Microsoft.Authorization/roleDefinitions@2022-04-01"
parent_id = azapi_resource.vault.id
response_export_values = {
definition_id = "value[?properties.roleName == 'Key Vault Crypto Officer'].id | [0]"
}
}
resource "azapi_resource" "kvRoleAssignmentTf" {
type = "Microsoft.Authorization/roleAssignments@2022-04-01"
parent_id = azapi_resource.vault.id
name = uuid()
body = {
properties = {
principalId = data.azapi_client_config.current.object_id
roleDefinitionId = data.azapi_resource_list.kvCertificatesOfficerRoleDefinition.output.definition_id
}
}
lifecycle {
ignore_changes = [name]
}
}
data "azapi_resource_list" "kvCertificatesUserRoleDefinition" {
type = "Microsoft.Authorization/roleDefinitions@2022-04-01"
parent_id = azapi_resource.vault.id
response_export_values = {
definition_id = "value[?properties.roleName == 'Key Vault Crypto Service Encryption User'].id | [0]"
}
}
resource "azapi_resource" "kvRoleAssignmentIdentity" {
type = "Microsoft.Authorization/roleAssignments@2022-04-01"
parent_id = azapi_resource.vault.id
name = uuid()
body = {
properties = {
principalId = azapi_resource.userAssignedIdentity.output.properties.principalId
roleDefinitionId = data.azapi_resource_list.kvCertificatesUserRoleDefinition.output.definition_id
}
}
lifecycle {
ignore_changes = [name]
}
}
data "azapi_resource_id" "key" {
type = "Microsoft.KeyVault/vaults/keys@2023-02-01"
parent_id = azapi_resource.vault.id
name = var.resource_name
}
resource "azapi_resource_action" "key" {
type = "Microsoft.KeyVault/vaults/keys@2023-02-01"
resource_id = data.azapi_resource_id.key.id
method = "PUT"
body = {
properties = {
keySize = 2048
kty = "RSA"
keyOps = ["encrypt", "decrypt", "sign", "verify", "wrapKey", "unwrapKey"]
}
}
response_export_values = ["*"]
depends_on = [
azapi_resource.kvRoleAssignmentTf,
azapi_resource.kvRoleAssignmentIdentity,
]
}
# replica key vault
resource "azapi_resource" "vault_replica" {
type = "Microsoft.KeyVault/vaults@2023-02-01"
parent_id = azapi_resource.resourceGroup.id
name = "${var.resource_name}-kv-replica"
location = var.replica_location
body = {
properties = {
createMode = "default"
enablePurgeProtection = true
enableSoftDelete = true
enableRbacAuthorization = true
enabledForDeployment = true
enabledForDiskEncryption = true
enabledForTemplateDeployment = true
publicNetworkAccess = "Enabled"
accessPolicies = []
sku = {
family = "A"
name = "standard"
}
tenantId = data.azapi_client_config.current.tenant_id
}
}
}
data "azapi_resource_list" "kvCertificatesOfficerRoleDefinition_replica" {
type = "Microsoft.Authorization/roleDefinitions@2022-04-01"
parent_id = azapi_resource.vault_replica.id
response_export_values = {
definition_id = "value[?properties.roleName == 'Key Vault Crypto Officer'].id | [0]"
}
}
resource "azapi_resource" "kvRoleAssignmentTf_replica" {
type = "Microsoft.Authorization/roleAssignments@2022-04-01"
parent_id = azapi_resource.vault_replica.id
name = uuid()
body = {
properties = {
principalId = data.azapi_client_config.current.object_id
roleDefinitionId = data.azapi_resource_list.kvCertificatesOfficerRoleDefinition.output.definition_id
}
}
lifecycle {
ignore_changes = [name]
}
}
data "azapi_resource_list" "kvCertificatesUserRoleDefinition_replica" {
type = "Microsoft.Authorization/roleDefinitions@2022-04-01"
parent_id = azapi_resource.vault_replica.id
response_export_values = {
definition_id = "value[?properties.roleName == 'Key Vault Crypto Service Encryption User'].id | [0]"
}
}
resource "azapi_resource" "kvRoleAssignmentIdentity_replica" {
type = "Microsoft.Authorization/roleAssignments@2022-04-01"
parent_id = azapi_resource.vault_replica.id
name = uuid()
body = {
properties = {
principalId = azapi_resource.userAssignedIdentity.output.properties.principalId
roleDefinitionId = data.azapi_resource_list.kvCertificatesUserRoleDefinition.output.definition_id
}
}
lifecycle {
ignore_changes = [name]
}
}
data "azapi_resource_id" "key_replica" {
type = "Microsoft.KeyVault/vaults/keys@2023-02-01"
parent_id = azapi_resource.vault_replica.id
name = var.resource_name
}
resource "azapi_resource_action" "key_replica" {
type = "Microsoft.KeyVault/vaults/keys@2023-02-01"
resource_id = data.azapi_resource_id.key_replica.id
method = "PUT"
body = {
properties = {
keySize = 2048
kty = "RSA"
keyOps = ["encrypt", "decrypt", "sign", "verify", "wrapKey", "unwrapKey"]
}
}
response_export_values = ["*"]
depends_on = [
azapi_resource.kvRoleAssignmentTf_replica,
azapi_resource.kvRoleAssignmentIdentity_replica,
]
}
resource "azapi_resource" "mongoCluster" {
type = "Microsoft.DocumentDB/mongoClusters@2025-09-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
identity {
type = "UserAssigned"
identity_ids = [azapi_resource.userAssignedIdentity.id]
}
body = {
properties = {
administrator = {
userName = var.mongo_admin_username
}
authConfig = {
allowedModes = ["MicrosoftEntraID", "NativeAuth"]
}
compute = {
tier = "M30"
}
encryption = {
customerManagedKeyEncryption = {
keyEncryptionKeyIdentity = {
identityType = "UserAssignedIdentity"
userAssignedIdentityResourceId = azapi_resource.userAssignedIdentity.id
}
keyEncryptionKeyUrl = azapi_resource_action.key.output.properties.keyUri
}
}
highAvailability = {
targetMode = "Disabled"
}
previewFeatures = [
"ShardRebalancer"
]
publicNetworkAccess = "Enabled"
serverVersion = "5.0"
sharding = {
shardCount = 1
}
storage = {
sizeGb = 32
}
}
}
sensitive_body = {
properties = {
administrator = {
password = var.mongo_admin_password
}
}
}
tags = {
Environment = "Test"
}
schema_validation_enabled = false
response_export_values = ["*"]
}
# Wait for the MongoDB cluster to have backup capability available
resource "time_sleep" "wait_for_backup_ready" {
depends_on = [azapi_resource.mongoCluster]
# Wait 5 minutes for backup to be available - MongoDB clusters typically need time to enable backup
create_duration = "300s"
}
# Data source to get the updated cluster info with backup details
data "azapi_resource" "mongoCluster_backup_check" {
type = "Microsoft.DocumentDB/mongoClusters@2025-09-01"
resource_id = azapi_resource.mongoCluster.id
response_export_values = ["properties.backup.earliestRestoreTime"]
depends_on = [time_sleep.wait_for_backup_ready]
}
resource "azapi_resource" "mongoCluster_PointInTimeRestore" {
type = "Microsoft.DocumentDB/mongoClusters@2025-09-01"
parent_id = azapi_resource.resourceGroup.id
name = "${var.resource_name}-restore"
location = var.location
identity {
type = "UserAssigned"
identity_ids = [azapi_resource.userAssignedIdentity.id]
}
body = {
properties = {
createMode = "PointInTimeRestore"
administrator = {
userName = var.mongo_admin_username
}
encryption = {
customerManagedKeyEncryption = {
keyEncryptionKeyIdentity = {
identityType = "UserAssignedIdentity"
userAssignedIdentityResourceId = azapi_resource.userAssignedIdentity.id
}
keyEncryptionKeyUrl = azapi_resource_action.key.output.properties.keyUri
}
}
restoreParameters = {
pointInTimeUTC = data.azapi_resource.mongoCluster_backup_check.output.properties.backup.earliestRestoreTime
sourceResourceId = azapi_resource.mongoCluster.id
}
}
}
sensitive_body = {
properties = {
administrator = {
password = var.mongo_restore_admin_password
}
}
}
schema_validation_enabled = false
ignore_casing = false
ignore_missing_property = false
depends_on = [
data.azapi_resource.mongoCluster_backup_check
]
}
resource "azapi_resource" "mongoCluster_GeoReplica" {
type = "Microsoft.DocumentDB/mongoClusters@2025-09-01"
parent_id = azapi_resource.resourceGroup.id
name = "${var.resource_name}-repl"
location = var.replica_location
identity {
type = "UserAssigned"
identity_ids = [azapi_resource.userAssignedIdentity.id]
}
body = {
properties = {
createMode = "GeoReplica"
encryption = {
customerManagedKeyEncryption = {
keyEncryptionKeyIdentity = {
identityType = "UserAssignedIdentity"
userAssignedIdentityResourceId = azapi_resource.userAssignedIdentity.id
}
keyEncryptionKeyUrl = azapi_resource_action.key_replica.output.properties.keyUri
}
}
replicaParameters = {
sourceLocation = var.location # Source location matches the primary cluster
sourceResourceId = azapi_resource.mongoCluster.id
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}