Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bicep-Ressourcendefinition
Der MongoClusters-Ressourcentyp kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:
Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.
Ressourcenformat
Um eine Microsoft.DocumentDB/mongoClusters-Ressource zu erstellen, fügen Sie der Vorlage die folgende Bicep hinzu.
resource symbolicname 'Microsoft.DocumentDB/mongoClusters@2025-07-01-preview' = {
scope: resourceSymbolicName or scope
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: {
iops: int
sizeGb: int
throughput: int
type: 'string'
}
}
tags: {
{customized property}: 'string'
}
}
Eigenschaftswerte
Microsoft.DocumentDB/mongoClusters
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Identität | Die verwalteten Dienstidentitäten, die dieser Ressource zugewiesen sind. | ManagedServiceIdentity- |
| Standort | Der geografische Standort, an dem sich die Ressource befindet | Zeichenfolge (erforderlich) |
| Name | Der Ressourcenname | Zeichenfolge Zwänge: Min. Länge = 3 Max. Länge = 40 Pattern = ^[a-z0-9]+(-[a-z0-9]+)* (erforderlich) |
| properties | Die ressourcenspezifischen Eigenschaften für diese Ressource. | MongoCluster-Eigenschaften |
| scope | Verwenden Sie diese Verwendung beim Erstellen einer Ressource in einem Bereich, der sich von dem Bereitstellungsbereich unterscheidet. | Legen Sie diese Eigenschaft auf den symbolischen Namen einer Ressource fest, um die Erweiterungsressourceanzuwenden. |
| Schlagwörter | Ressourcenetiketten | Wörterbuch der Tagnamen und -werte. Siehe Tags in Vorlagen |
AdministratorEigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Kennwort | Das Administratorkennwort. | Zeichenfolge Zwänge: Vertraulicher Wert. Übergeben Als sicherer Parameter. |
| Nutzername | Der Administratorbenutzername. | Schnur |
AuthConfig-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| allowedModes (zulässige Modi) | Zulässige Authentifizierungsmodi für den Datenzugriff auf den Cluster. | Zeichenfolgenarray, das eine der folgenden Elemente enthält: 'MicrosoftEntraID' 'NativeAuth' |
Backup-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|
Compute-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Ebene | Die Computeebene, die dem Cluster zugewiesen werden soll, wobei jede Ebene einer größe des virtuellen Kerns und des Arbeitsspeichers zugeordnet ist. Beispielwerte: 'M30', 'M40'. | Schnur |
CustomerManagedKeyEncryptionProperties
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| keyEncryptionKeyIdentity | Die Identität, die für den Zugriff auf den Schlüsselverschlüsselungsschlüssel verwendet wird. | KeyEncryptionKeyIdentity (erforderlich) |
| keyEncryptionKeyUrl | Der URI des Schlüsseltresorschlüssels, der für die Verschlüsselung verwendet wird. | Zeichenfolge (erforderlich) |
DataApi-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Modus | Der Modus, der angibt, ob die Mongo-Daten-API für einen Cluster aktiviert ist. | 'Disabled' 'Enabled' |
EncryptionProperties
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| customerManagedKeyEncryption | Verschlüsselungseinstellungen für vom Kunden verwaltete Schlüssel. | CustomerManagedKeyEncryptionEigenschaften |
HighAvailability-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| target-Modus | Der für den Cluster angeforderte Zielmodus für hohe Verfügbarkeit. | 'Disabled' 'SameZone' "ZoneRedundantPreferred" |
KeyEncryptionKeyIdentity
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Identitätstyp | Der Identitätstyp. Es wird nur "UserAssignedIdentity" unterstützt. | 'UserAssignedIdentity' (erforderlich) |
| userAssignedIdentityResourceId | Die vom Benutzer zugewiesene Identitätsressourcen-ID. | Zeichenfolge (erforderlich) |
Verwaltete Dienstidentität
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Typ | Typ der verwalteten Dienstidentität (wobei systemAssigned- und UserAssigned-Typen zulässig sind). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (erforderlich) |
| vom Benutzer zugewiesene Identitäten | Die Gruppe der benutzerzuweisungen Identitäten, die der Ressource zugeordnet sind. Die Wörterbuchschlüssel "userAssignedIdentities" sind ARM-Ressourcen-IDs im Formular: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Die Wörterbuchwerte können leere Objekte ({}) in Anforderungen sein. | UserAssignedIdentities |
MongoCluster-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Administrator | Die lokalen Administratoreigenschaften für den Mongo-Cluster. | "AdministratorProperties" |
| authConfig | Die Authentifizierungskonfiguration für den Cluster. | AuthConfig-Eigenschaften |
| Sicherung | Die Sicherungseigenschaften des Mongoclusters. | BackupProperties- |
| berechnen | Die Berechnungseigenschaften des Mongoclusters. | ComputeProperties- |
| createMode | Der Modus zum Erstellen eines Mongoclusters. | 'Standard' "GeoReplica" 'PointInTimeRestore' 'Replikat' |
| dataApi | Die Daten-API-Eigenschaften des Mongo-Clusters. | DataApiProperties- |
| Verschlüsselung | Die Verschlüsselungskonfiguration für den Cluster. Hängt von der Konfiguration der Identität ab. | EncryptionProperties- |
| hohe Verfügbarkeit | Die Eigenschaften der hohen Verfügbarkeit des Mongo-Clusters. | HighAvailability-Eigenschaften |
| VorschauFunktionen | Liste der privaten Endpunktverbindungen. | Zeichenfolgenarray, das eine der folgenden Elemente enthält: "GeoReplicas" |
| Öffentlicher Netzwerkzugang | Gibt an, ob der Zugriff auf öffentliche Endpunkte für diesen Mongo-Cluster zulässig ist. | 'Disabled' 'Enabled' |
| replicaParameters | Die Parameter zum Erstellen eines Replikat-Mongoclusters. | MongoClusterReplicaParameters |
| restore-Parameter | Die Parameter zum Erstellen eines Mongoclusters für die Punkt-in-Zeit-Wiederherstellung. | MongoClusterRestoreParameters |
| serverVersion | Die Mongo DB-Serverversion. Wenn nicht angegeben, wird standardmäßig die neueste verfügbare Version verwendet. | Schnur |
| Sharding | Die Shardingeigenschaften des Mongoclusters. | ShardingProperties- |
| Speicher | Die Speichereigenschaften des Mongoclusters. | StorageProperties- |
MongoClusterReplicaParameters
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Quellstandort | Der Speicherort des Quellclusters | Zeichenfolge (erforderlich) |
| sourceResourceId | Die ID des Replikationsquellclusters. | Zeichenfolge (erforderlich) |
MongoClusterRestoreParameters
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| pointInTimeUTC | UTC-Zeitpunkt zum Wiederherstellen eines Mongoclusters | Schnur |
| sourceResourceId | Ressourcen-ID zum Suchen des Quellclusters zum Wiederherstellen | Schnur |
ShardingEigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| shardAnzahl | Anzahl der Für den Cluster bereitzustellenden Shards. | INT |
Storage-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| IOPS | Die IOPS des Speichers, der jedem Server zugewiesen ist. Gilt nur, wenn der Typ "PremiumSSDv2" ist. | INT |
| GrößeGb | Die Größe des Datenträgers, der jedem Server zugewiesen ist. | INT |
| Durchsatz | Der Durchsatz des Speichers, der jedem Server zugewiesen ist. Gilt nur, wenn der Typ "PremiumSSDv2" ist. | INT |
| Typ | Der Speichertyp, mit dem die Clusterserver bereitgestellt werden sollen. | 'PremiumSSD' 'PremiumSSDv2' |
Verfolgte ResourceTags
| Name | BESCHREIBUNG | Wert |
|---|
UserAssignedIdentities
| Name | BESCHREIBUNG | Wert |
|---|
UserAssignedIdentity
| Name | BESCHREIBUNG | Wert |
|---|
Verwendungsbeispiele
Von Azure verifizierte Module
Die folgenden Azure Verified Modules können verwendet werden, um diesen Ressourcentyp bereitzustellen.
| Modul | BESCHREIBUNG |
|---|---|
| Cosmos DB für MongoDB (vCore) | AVM-Ressourcenmodul für Cosmos DB für MongoDB (vCore) |
ARM-Vorlagenressourcendefinition
Der MongoClusters-Ressourcentyp kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:
Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.
Ressourcenformat
Um eine Microsoft.DocumentDB/mongoClusters-Ressource zu erstellen, fügen Sie der Vorlage den folgenden JSON-Code hinzu.
{
"type": "Microsoft.DocumentDB/mongoClusters",
"apiVersion": "2025-07-01-preview",
"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": {
"iops": "int",
"sizeGb": "int",
"throughput": "int",
"type": "string"
}
},
"tags": {
"{customized property}": "string"
}
}
Eigenschaftswerte
Microsoft.DocumentDB/mongoClusters
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| apiVersion | Die API-Version | '2025-07-01-preview' |
| Identität | Die verwalteten Dienstidentitäten, die dieser Ressource zugewiesen sind. | ManagedServiceIdentity- |
| Standort | Der geografische Standort, an dem sich die Ressource befindet | Zeichenfolge (erforderlich) |
| Name | Der Ressourcenname | Zeichenfolge Zwänge: Min. Länge = 3 Max. Länge = 40 Pattern = ^[a-z0-9]+(-[a-z0-9]+)* (erforderlich) |
| properties | Die ressourcenspezifischen Eigenschaften für diese Ressource. | MongoCluster-Eigenschaften |
| Schlagwörter | Ressourcenetiketten | Wörterbuch der Tagnamen und -werte. Siehe Tags in Vorlagen |
| Typ | Der Ressourcentyp | 'Microsoft.DocumentDB/mongoClusters' |
AdministratorEigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Kennwort | Das Administratorkennwort. | Zeichenfolge Zwänge: Vertraulicher Wert. Übergeben Als sicherer Parameter. |
| Nutzername | Der Administratorbenutzername. | Schnur |
AuthConfig-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| allowedModes (zulässige Modi) | Zulässige Authentifizierungsmodi für den Datenzugriff auf den Cluster. | Zeichenfolgenarray, das eine der folgenden Elemente enthält: 'MicrosoftEntraID' 'NativeAuth' |
Backup-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|
Compute-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Ebene | Die Computeebene, die dem Cluster zugewiesen werden soll, wobei jede Ebene einer größe des virtuellen Kerns und des Arbeitsspeichers zugeordnet ist. Beispielwerte: 'M30', 'M40'. | Schnur |
CustomerManagedKeyEncryptionProperties
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| keyEncryptionKeyIdentity | Die Identität, die für den Zugriff auf den Schlüsselverschlüsselungsschlüssel verwendet wird. | KeyEncryptionKeyIdentity (erforderlich) |
| keyEncryptionKeyUrl | Der URI des Schlüsseltresorschlüssels, der für die Verschlüsselung verwendet wird. | Zeichenfolge (erforderlich) |
DataApi-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Modus | Der Modus, der angibt, ob die Mongo-Daten-API für einen Cluster aktiviert ist. | 'Disabled' 'Enabled' |
EncryptionProperties
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| customerManagedKeyEncryption | Verschlüsselungseinstellungen für vom Kunden verwaltete Schlüssel. | CustomerManagedKeyEncryptionEigenschaften |
HighAvailability-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| target-Modus | Der für den Cluster angeforderte Zielmodus für hohe Verfügbarkeit. | 'Disabled' 'SameZone' "ZoneRedundantPreferred" |
KeyEncryptionKeyIdentity
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Identitätstyp | Der Identitätstyp. Es wird nur "UserAssignedIdentity" unterstützt. | 'UserAssignedIdentity' (erforderlich) |
| userAssignedIdentityResourceId | Die vom Benutzer zugewiesene Identitätsressourcen-ID. | Zeichenfolge (erforderlich) |
Verwaltete Dienstidentität
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Typ | Typ der verwalteten Dienstidentität (wobei systemAssigned- und UserAssigned-Typen zulässig sind). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (erforderlich) |
| vom Benutzer zugewiesene Identitäten | Die Gruppe der benutzerzuweisungen Identitäten, die der Ressource zugeordnet sind. Die Wörterbuchschlüssel "userAssignedIdentities" sind ARM-Ressourcen-IDs im Formular: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Die Wörterbuchwerte können leere Objekte ({}) in Anforderungen sein. | UserAssignedIdentities |
MongoCluster-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Administrator | Die lokalen Administratoreigenschaften für den Mongo-Cluster. | "AdministratorProperties" |
| authConfig | Die Authentifizierungskonfiguration für den Cluster. | AuthConfig-Eigenschaften |
| Sicherung | Die Sicherungseigenschaften des Mongoclusters. | BackupProperties- |
| berechnen | Die Berechnungseigenschaften des Mongoclusters. | ComputeProperties- |
| createMode | Der Modus zum Erstellen eines Mongoclusters. | 'Standard' "GeoReplica" 'PointInTimeRestore' 'Replikat' |
| dataApi | Die Daten-API-Eigenschaften des Mongo-Clusters. | DataApiProperties- |
| Verschlüsselung | Die Verschlüsselungskonfiguration für den Cluster. Hängt von der Konfiguration der Identität ab. | EncryptionProperties- |
| hohe Verfügbarkeit | Die Eigenschaften der hohen Verfügbarkeit des Mongo-Clusters. | HighAvailability-Eigenschaften |
| VorschauFunktionen | Liste der privaten Endpunktverbindungen. | Zeichenfolgenarray, das eine der folgenden Elemente enthält: "GeoReplicas" |
| Öffentlicher Netzwerkzugang | Gibt an, ob der Zugriff auf öffentliche Endpunkte für diesen Mongo-Cluster zulässig ist. | 'Disabled' 'Enabled' |
| replicaParameters | Die Parameter zum Erstellen eines Replikat-Mongoclusters. | MongoClusterReplicaParameters |
| restore-Parameter | Die Parameter zum Erstellen eines Mongoclusters für die Punkt-in-Zeit-Wiederherstellung. | MongoClusterRestoreParameters |
| serverVersion | Die Mongo DB-Serverversion. Wenn nicht angegeben, wird standardmäßig die neueste verfügbare Version verwendet. | Schnur |
| Sharding | Die Shardingeigenschaften des Mongoclusters. | ShardingProperties- |
| Speicher | Die Speichereigenschaften des Mongoclusters. | StorageProperties- |
MongoClusterReplicaParameters
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Quellstandort | Der Speicherort des Quellclusters | Zeichenfolge (erforderlich) |
| sourceResourceId | Die ID des Replikationsquellclusters. | Zeichenfolge (erforderlich) |
MongoClusterRestoreParameters
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| pointInTimeUTC | UTC-Zeitpunkt zum Wiederherstellen eines Mongoclusters | Schnur |
| sourceResourceId | Ressourcen-ID zum Suchen des Quellclusters zum Wiederherstellen | Schnur |
ShardingEigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| shardAnzahl | Anzahl der Für den Cluster bereitzustellenden Shards. | INT |
Storage-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| IOPS | Die IOPS des Speichers, der jedem Server zugewiesen ist. Gilt nur, wenn der Typ "PremiumSSDv2" ist. | INT |
| GrößeGb | Die Größe des Datenträgers, der jedem Server zugewiesen ist. | INT |
| Durchsatz | Der Durchsatz des Speichers, der jedem Server zugewiesen ist. Gilt nur, wenn der Typ "PremiumSSDv2" ist. | INT |
| Typ | Der Speichertyp, mit dem die Clusterserver bereitgestellt werden sollen. | 'PremiumSSD' 'PremiumSSDv2' |
Verfolgte ResourceTags
| Name | BESCHREIBUNG | Wert |
|---|
UserAssignedIdentities
| Name | BESCHREIBUNG | Wert |
|---|
UserAssignedIdentity
| Name | BESCHREIBUNG | Wert |
|---|
Verwendungsbeispiele
Terraform -Ressourcendefinition (AzAPI-Anbieter)
Der MongoClusters-Ressourcentyp kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:
Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.
Ressourcenformat
Um eine Microsoft.DocumentDB/mongoClusters-Ressource zu erstellen, fügen Sie Ihrer Vorlage die folgende Terraform hinzu.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DocumentDB/mongoClusters@2025-07-01-preview"
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 = {
iops = int
sizeGb = int
throughput = int
type = "string"
}
}
}
}
Eigenschaftswerte
Microsoft.DocumentDB/mongoClusters
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Identität | Die verwalteten Dienstidentitäten, die dieser Ressource zugewiesen sind. | ManagedServiceIdentity- |
| Standort | Der geografische Standort, an dem sich die Ressource befindet | Zeichenfolge (erforderlich) |
| Name | Der Ressourcenname | Zeichenfolge Zwänge: Min. Länge = 3 Max. Länge = 40 Pattern = ^[a-z0-9]+(-[a-z0-9]+)* (erforderlich) |
| parent_id | Die ID der Ressource, auf die diese Erweiterungsressource angewendet werden soll. | Zeichenfolge (erforderlich) |
| properties | Die ressourcenspezifischen Eigenschaften für diese Ressource. | MongoCluster-Eigenschaften |
| Schlagwörter | Ressourcenetiketten | Wörterbuch der Tagnamen und -werte. |
| Typ | Der Ressourcentyp | "Microsoft.DocumentDB/mongoClusters@2025-07-01-preview" |
AdministratorEigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Kennwort | Das Administratorkennwort. | Zeichenfolge Zwänge: Vertraulicher Wert. Übergeben Als sicherer Parameter. |
| Nutzername | Der Administratorbenutzername. | Schnur |
AuthConfig-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| allowedModes (zulässige Modi) | Zulässige Authentifizierungsmodi für den Datenzugriff auf den Cluster. | Zeichenfolgenarray, das eine der folgenden Elemente enthält: 'MicrosoftEntraID' 'NativeAuth' |
Backup-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|
Compute-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Ebene | Die Computeebene, die dem Cluster zugewiesen werden soll, wobei jede Ebene einer größe des virtuellen Kerns und des Arbeitsspeichers zugeordnet ist. Beispielwerte: 'M30', 'M40'. | Schnur |
CustomerManagedKeyEncryptionProperties
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| keyEncryptionKeyIdentity | Die Identität, die für den Zugriff auf den Schlüsselverschlüsselungsschlüssel verwendet wird. | KeyEncryptionKeyIdentity (erforderlich) |
| keyEncryptionKeyUrl | Der URI des Schlüsseltresorschlüssels, der für die Verschlüsselung verwendet wird. | Zeichenfolge (erforderlich) |
DataApi-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Modus | Der Modus, der angibt, ob die Mongo-Daten-API für einen Cluster aktiviert ist. | 'Disabled' 'Enabled' |
EncryptionProperties
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| customerManagedKeyEncryption | Verschlüsselungseinstellungen für vom Kunden verwaltete Schlüssel. | CustomerManagedKeyEncryptionEigenschaften |
HighAvailability-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| target-Modus | Der für den Cluster angeforderte Zielmodus für hohe Verfügbarkeit. | 'Disabled' 'SameZone' "ZoneRedundantPreferred" |
KeyEncryptionKeyIdentity
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Identitätstyp | Der Identitätstyp. Es wird nur "UserAssignedIdentity" unterstützt. | 'UserAssignedIdentity' (erforderlich) |
| userAssignedIdentityResourceId | Die vom Benutzer zugewiesene Identitätsressourcen-ID. | Zeichenfolge (erforderlich) |
Verwaltete Dienstidentität
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Typ | Typ der verwalteten Dienstidentität (wobei systemAssigned- und UserAssigned-Typen zulässig sind). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (erforderlich) |
| vom Benutzer zugewiesene Identitäten | Die Gruppe der benutzerzuweisungen Identitäten, die der Ressource zugeordnet sind. Die Wörterbuchschlüssel "userAssignedIdentities" sind ARM-Ressourcen-IDs im Formular: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Die Wörterbuchwerte können leere Objekte ({}) in Anforderungen sein. | UserAssignedIdentities |
MongoCluster-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Administrator | Die lokalen Administratoreigenschaften für den Mongo-Cluster. | "AdministratorProperties" |
| authConfig | Die Authentifizierungskonfiguration für den Cluster. | AuthConfig-Eigenschaften |
| Sicherung | Die Sicherungseigenschaften des Mongoclusters. | BackupProperties- |
| berechnen | Die Berechnungseigenschaften des Mongoclusters. | ComputeProperties- |
| createMode | Der Modus zum Erstellen eines Mongoclusters. | 'Standard' "GeoReplica" 'PointInTimeRestore' 'Replikat' |
| dataApi | Die Daten-API-Eigenschaften des Mongo-Clusters. | DataApiProperties- |
| Verschlüsselung | Die Verschlüsselungskonfiguration für den Cluster. Hängt von der Konfiguration der Identität ab. | EncryptionProperties- |
| hohe Verfügbarkeit | Die Eigenschaften der hohen Verfügbarkeit des Mongo-Clusters. | HighAvailability-Eigenschaften |
| VorschauFunktionen | Liste der privaten Endpunktverbindungen. | Zeichenfolgenarray, das eine der folgenden Elemente enthält: "GeoReplicas" |
| Öffentlicher Netzwerkzugang | Gibt an, ob der Zugriff auf öffentliche Endpunkte für diesen Mongo-Cluster zulässig ist. | 'Disabled' 'Enabled' |
| replicaParameters | Die Parameter zum Erstellen eines Replikat-Mongoclusters. | MongoClusterReplicaParameters |
| restore-Parameter | Die Parameter zum Erstellen eines Mongoclusters für die Punkt-in-Zeit-Wiederherstellung. | MongoClusterRestoreParameters |
| serverVersion | Die Mongo DB-Serverversion. Wenn nicht angegeben, wird standardmäßig die neueste verfügbare Version verwendet. | Schnur |
| Sharding | Die Shardingeigenschaften des Mongoclusters. | ShardingProperties- |
| Speicher | Die Speichereigenschaften des Mongoclusters. | StorageProperties- |
MongoClusterReplicaParameters
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| Quellstandort | Der Speicherort des Quellclusters | Zeichenfolge (erforderlich) |
| sourceResourceId | Die ID des Replikationsquellclusters. | Zeichenfolge (erforderlich) |
MongoClusterRestoreParameters
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| pointInTimeUTC | UTC-Zeitpunkt zum Wiederherstellen eines Mongoclusters | Schnur |
| sourceResourceId | Ressourcen-ID zum Suchen des Quellclusters zum Wiederherstellen | Schnur |
ShardingEigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| shardAnzahl | Anzahl der Für den Cluster bereitzustellenden Shards. | INT |
Storage-Eigenschaften
| Name | BESCHREIBUNG | Wert |
|---|---|---|
| IOPS | Die IOPS des Speichers, der jedem Server zugewiesen ist. Gilt nur, wenn der Typ "PremiumSSDv2" ist. | INT |
| GrößeGb | Die Größe des Datenträgers, der jedem Server zugewiesen ist. | INT |
| Durchsatz | Der Durchsatz des Speichers, der jedem Server zugewiesen ist. Gilt nur, wenn der Typ "PremiumSSDv2" ist. | INT |
| Typ | Der Speichertyp, mit dem die Clusterserver bereitgestellt werden sollen. | 'PremiumSSD' 'PremiumSSDv2' |
Verfolgte ResourceTags
| Name | BESCHREIBUNG | Wert |
|---|
UserAssignedIdentities
| Name | BESCHREIBUNG | Wert |
|---|
UserAssignedIdentity
| Name | BESCHREIBUNG | Wert |
|---|
Verwendungsbeispiele
Terraform-Beispiele
Ein grundlegendes Beispiel für die Bereitstellung von Azure Cosmos DB für 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 = ["*"]
}