Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Definicja zasobu Bicep
Typ zasobu mongoClusters można wdrożyć przy użyciu operacji docelowych:
Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.
Format zasobu
Aby utworzyć zasób Microsoft.DocumentDB/mongoClusters, dodaj następujący kod Bicep do szablonu.
resource symbolicname 'Microsoft.DocumentDB/mongoClusters@2025-09-01' = {
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: {
sizeGb: int
type: 'string'
}
}
tags: {
{customized property}: 'string'
}
}
Wartości właściwości
Microsoft.DocumentDB/mongoClusters
| Nazwa | Opis | Wartość |
|---|---|---|
| tożsamość | Tożsamości usługi zarządzanej przypisane do tego zasobu. | ManagedServiceIdentity |
| lokalizacja | Lokalizacja geograficzna, w której znajduje się zasób | ciąg (wymagany) |
| nazwa | Nazwa zasobu | struna Ograniczenia: Minimalna długość = 3 Maksymalna długość = 40 Wzorzec = ^[a-z0-9]+(-[a-z0-9]+)* (wymagane) |
| Właściwości | Właściwości specyficzne dla zasobu dla tego zasobu. | MongoClusterProperties |
| zakres | Użyj polecenia podczas tworzenia zasobu w zakresie innym niż zakres wdrożenia. | Ustaw tę właściwość na symboliczną nazwę zasobu, aby zastosować zasób rozszerzenia. |
| Tagi | Tagi zasobów | Słownik nazw tagów i wartości. Zobacz tagi w szablonach |
Właściwości administratora
| Nazwa | Opis | Wartość |
|---|---|---|
| hasło | Hasło administratora. | struna Ograniczenia: Wartość wrażliwa. Przekaż jako bezpieczny parametr. |
| userName (nazwa użytkownika) | Nazwa użytkownika administratora. | ciąg |
AuthConfigProperties (właściwości uwierzytelniania)
| Nazwa | Opis | Wartość |
|---|---|---|
| allowedModes (dozwolone tryby) | Dozwolone tryby uwierzytelniania dla dostępu do danych w klastrze. | Tablica ciągów zawierająca dowolną z: "MicrosoftEntraID" "Uwierzytelnianie natywne" |
Właściwości kopii zapasowej
| Nazwa | Opis | Wartość |
|---|
Właściwości obliczeniowe
| Nazwa | Opis | Wartość |
|---|---|---|
| warstwa | Warstwa obliczeniowa do przypisania do klastra, w której każda warstwa jest mapowana na rozmiar rdzenia wirtualnego i pamięci. Przykładowe wartości: "M30", "M40". | ciąg |
CustomerManagedKeyEncryptionProperties
| Nazwa | Opis | Wartość |
|---|---|---|
| keyEncryptionKeyIdentity | Tożsamość używana do uzyskiwania dostępu do klucza szyfrowania klucza. | KeyEncryptionKeyIdentity (Tożsamość klucza) |
| keyEncryptionKeyUrl | Identyfikator URI klucza magazynu kluczy używanego do szyfrowania. | ciąg |
Właściwości DataApiProperties
| Nazwa | Opis | Wartość |
|---|---|---|
| tryb | Tryb wskazujący, czy interfejs API danych Mongo jest włączony dla klastra. | "Wyłączone" "Włączone" |
EncryptionProperties
| Nazwa | Opis | Wartość |
|---|---|---|
| customerManagedKeyEncryption | Ustawienia szyfrowania kluczy zarządzane przez klienta. | CustomerManagedKeyEncryptionProperties |
HighAvailabilityProperties (Właściwości wysokiej dostępności)
| Nazwa | Opis | Wartość |
|---|---|---|
| targetMode (tryb docelowy) | Docelowy tryb wysokiej dostępności żądany dla klastra. | "Wyłączone" "Ta sama strefa" "ZoneRedundantPreferred" |
KeyEncryptionKeyIdentity
| Nazwa | Opis | Wartość |
|---|---|---|
| typ tożsamości | Typ tożsamości. Obsługiwana jest tylko wartość "UserAssignedIdentity". | "UserAssignedIdentity" |
| userAssignedIdentityResourceId | Identyfikator zasobu tożsamości przypisanego przez użytkownika. | ciąg |
ManagedServiceIdentity
| Nazwa | Opis | Wartość |
|---|---|---|
| typ | Typ tożsamości usługi zarządzanej (gdzie dozwolone są typy SystemAssigned i UserAssigned). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' "UserAssigned" (wymagane) |
| tożsamości przypisane użytkownikom | Zestaw tożsamości przypisanych przez użytkownika skojarzonych z zasobem. Klucze słownika userAssignedIdentities będą identyfikatorami zasobów usługi ARM w postaci: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Wartości słownika mogą być pustymi obiektami ({}) w żądaniach. | UserAssignedIdentities |
MongoClusterProperties
| Nazwa | Opis | Wartość |
|---|---|---|
| administrator | Właściwości administratora lokalnego dla klastra mongo. | administrator |
| authConfig (konfiguracja systemu) | Konfiguracja uwierzytelniania dla klastra. | AuthConfigProperties (właściwości uwierzytelniania) |
| kopia zapasowa | Właściwości kopii zapasowej klastra mongo. | Właściwości kopii zapasowej |
| obliczanie | Właściwości obliczeniowe klastra mongo. | Właściwości obliczeniowe |
| createMode (tryb tworzenia) | Tryb tworzenia klastra mongo. | "Wartość domyślna" "GeoReplica" "PointInTimeRestore" "Replika" |
| dataApi (interfejs danych) | Właściwości interfejsu API danych klastra mongo. | Właściwości DataApiProperties |
| szyfrowanie | Konfiguracja szyfrowania dla klastra. Zależy od konfigurowanej tożsamości. | Właściwości szyfrowania |
| wysoka dostępność | Właściwości wysokiej dostępności klastra mongo. | HighAvailabilityProperties (Właściwości wysokiej dostępności) |
| Funkcje w wersji zapoznawczej | Lista połączeń prywatnych punktów końcowych. | Tablica ciągów zawierająca dowolną z: "GeoReplicas" |
| dostęp do sieci publicznej | Określa, czy dostęp do publicznego punktu końcowego jest dozwolony dla tego klastra mongo. | "Wyłączone" "Włączone" |
| replicaParameters (parametry repliki) | Parametry do utworzenia repliki klastra mongo. | MongoClusterReplicaParameters (Parametry repliki) |
| restoreParameters (parametry przywracania) | Parametry do utworzenia klastra mongo przywracania do punktu w czasie. | MongoClusterRestoreParameters |
| wersja serwera | Wersja serwera Mongo DB. Wartość domyślna to najnowsza dostępna wersja, jeśli nie zostanie określona. | ciąg |
| fragmentowanie | Właściwości fragmentowania klastra mongo. | Właściwości fragmentowania |
| magazyn | Właściwości magazynu klastra mongo. | StorageWłaściwości |
MongoClusterReplicaParameters (Parametry repliki)
| Nazwa | Opis | Wartość |
|---|---|---|
| lokalizacja źródłowa | Lokalizacja klastra źródłowego | ciąg (wymagany) |
| sourceResourceId (identyfikator źródłowy) | Identyfikator klastra źródłowego replikacji. | ciąg (wymagany) |
MongoClusterRestoreParameters
| Nazwa | Opis | Wartość |
|---|---|---|
| pointInTimeUTC (punkt w czasie) | Punkt CZASU UTC w celu przywrócenia klastra mongo | ciąg |
| sourceResourceId (identyfikator źródłowy) | Identyfikator zasobu do zlokalizowania klastra źródłowego do przywrócenia | ciąg |
Właściwości fragmentowania
| Nazwa | Opis | Wartość |
|---|---|---|
| shardCount (liczba odłamków) | Liczba fragmentów do aprowizacji w klastrze. | Int |
Właściwości magazynu
| Nazwa | Opis | Wartość |
|---|---|---|
| rozmiarGb | Rozmiar dysku danych przypisany do każdego serwera. | Int |
| typ | Typ magazynu, który ma być obsługiwany przez serwery klastra. | "PremiumSSD" (Dysk SSD w warstwie Premium) "PremiumSSDv2" |
Śledzone tagi zasobów
| Nazwa | Opis | Wartość |
|---|
UserAssignedIdentities
| Nazwa | Opis | Wartość |
|---|
Tożsamość przypisana przez użytkownika
| Nazwa | Opis | Wartość |
|---|
Przykłady użycia
Moduły zweryfikowane na platformie Azure
Następujące moduły zweryfikowane platformy Azure mogą służyć do wdrażania tego typu zasobu.
| Moduł | Opis |
|---|---|
| Cosmos DB for MongoDB (rdzeń wirtualny) | Moduł zasobów AVM dla usługi Cosmos DB dla bazy danych MongoDB (rdzeń wirtualny) |
Definicja zasobu szablonu usługi ARM
Typ zasobu mongoClusters można wdrożyć przy użyciu operacji docelowych:
Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.
Format zasobu
Aby utworzyć zasób Microsoft.DocumentDB/mongoClusters, dodaj następujący kod JSON do szablonu.
{
"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"
}
}
Wartości właściwości
Microsoft.DocumentDB/mongoClusters
| Nazwa | Opis | Wartość |
|---|---|---|
| apiVersion (wersja interfejsu api) | Wersja interfejsu API | '2025-09-01' |
| tożsamość | Tożsamości usługi zarządzanej przypisane do tego zasobu. | ManagedServiceIdentity |
| lokalizacja | Lokalizacja geograficzna, w której znajduje się zasób | ciąg (wymagany) |
| nazwa | Nazwa zasobu | struna Ograniczenia: Minimalna długość = 3 Maksymalna długość = 40 Wzorzec = ^[a-z0-9]+(-[a-z0-9]+)* (wymagane) |
| Właściwości | Właściwości specyficzne dla zasobu dla tego zasobu. | MongoClusterProperties |
| Tagi | Tagi zasobów | Słownik nazw tagów i wartości. Zobacz tagi w szablonach |
| typ | Typ zasobu | "Microsoft.DocumentDB/mongoClusters" |
Właściwości administratora
| Nazwa | Opis | Wartość |
|---|---|---|
| hasło | Hasło administratora. | struna Ograniczenia: Wartość wrażliwa. Przekaż jako bezpieczny parametr. |
| userName (nazwa użytkownika) | Nazwa użytkownika administratora. | ciąg |
AuthConfigProperties (właściwości uwierzytelniania)
| Nazwa | Opis | Wartość |
|---|---|---|
| allowedModes (dozwolone tryby) | Dozwolone tryby uwierzytelniania dla dostępu do danych w klastrze. | Tablica ciągów zawierająca dowolną z: "MicrosoftEntraID" "Uwierzytelnianie natywne" |
Właściwości kopii zapasowej
| Nazwa | Opis | Wartość |
|---|
Właściwości obliczeniowe
| Nazwa | Opis | Wartość |
|---|---|---|
| warstwa | Warstwa obliczeniowa do przypisania do klastra, w której każda warstwa jest mapowana na rozmiar rdzenia wirtualnego i pamięci. Przykładowe wartości: "M30", "M40". | ciąg |
CustomerManagedKeyEncryptionProperties
| Nazwa | Opis | Wartość |
|---|---|---|
| keyEncryptionKeyIdentity | Tożsamość używana do uzyskiwania dostępu do klucza szyfrowania klucza. | KeyEncryptionKeyIdentity (Tożsamość klucza) |
| keyEncryptionKeyUrl | Identyfikator URI klucza magazynu kluczy używanego do szyfrowania. | ciąg |
Właściwości DataApiProperties
| Nazwa | Opis | Wartość |
|---|---|---|
| tryb | Tryb wskazujący, czy interfejs API danych Mongo jest włączony dla klastra. | "Wyłączone" "Włączone" |
EncryptionProperties
| Nazwa | Opis | Wartość |
|---|---|---|
| customerManagedKeyEncryption | Ustawienia szyfrowania kluczy zarządzane przez klienta. | CustomerManagedKeyEncryptionProperties |
HighAvailabilityProperties (Właściwości wysokiej dostępności)
| Nazwa | Opis | Wartość |
|---|---|---|
| targetMode (tryb docelowy) | Docelowy tryb wysokiej dostępności żądany dla klastra. | "Wyłączone" "Ta sama strefa" "ZoneRedundantPreferred" |
KeyEncryptionKeyIdentity
| Nazwa | Opis | Wartość |
|---|---|---|
| typ tożsamości | Typ tożsamości. Obsługiwana jest tylko wartość "UserAssignedIdentity". | "UserAssignedIdentity" |
| userAssignedIdentityResourceId | Identyfikator zasobu tożsamości przypisanego przez użytkownika. | ciąg |
ManagedServiceIdentity
| Nazwa | Opis | Wartość |
|---|---|---|
| typ | Typ tożsamości usługi zarządzanej (gdzie dozwolone są typy SystemAssigned i UserAssigned). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' "UserAssigned" (wymagane) |
| tożsamości przypisane użytkownikom | Zestaw tożsamości przypisanych przez użytkownika skojarzonych z zasobem. Klucze słownika userAssignedIdentities będą identyfikatorami zasobów usługi ARM w postaci: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Wartości słownika mogą być pustymi obiektami ({}) w żądaniach. | UserAssignedIdentities |
MongoClusterProperties
| Nazwa | Opis | Wartość |
|---|---|---|
| administrator | Właściwości administratora lokalnego dla klastra mongo. | administrator |
| authConfig (konfiguracja systemu) | Konfiguracja uwierzytelniania dla klastra. | AuthConfigProperties (właściwości uwierzytelniania) |
| kopia zapasowa | Właściwości kopii zapasowej klastra mongo. | Właściwości kopii zapasowej |
| obliczanie | Właściwości obliczeniowe klastra mongo. | Właściwości obliczeniowe |
| createMode (tryb tworzenia) | Tryb tworzenia klastra mongo. | "Wartość domyślna" "GeoReplica" "PointInTimeRestore" "Replika" |
| dataApi (interfejs danych) | Właściwości interfejsu API danych klastra mongo. | Właściwości DataApiProperties |
| szyfrowanie | Konfiguracja szyfrowania dla klastra. Zależy od konfigurowanej tożsamości. | Właściwości szyfrowania |
| wysoka dostępność | Właściwości wysokiej dostępności klastra mongo. | HighAvailabilityProperties (Właściwości wysokiej dostępności) |
| Funkcje w wersji zapoznawczej | Lista połączeń prywatnych punktów końcowych. | Tablica ciągów zawierająca dowolną z: "GeoReplicas" |
| dostęp do sieci publicznej | Określa, czy dostęp do publicznego punktu końcowego jest dozwolony dla tego klastra mongo. | "Wyłączone" "Włączone" |
| replicaParameters (parametry repliki) | Parametry do utworzenia repliki klastra mongo. | MongoClusterReplicaParameters (Parametry repliki) |
| restoreParameters (parametry przywracania) | Parametry do utworzenia klastra mongo przywracania do punktu w czasie. | MongoClusterRestoreParameters |
| wersja serwera | Wersja serwera Mongo DB. Wartość domyślna to najnowsza dostępna wersja, jeśli nie zostanie określona. | ciąg |
| fragmentowanie | Właściwości fragmentowania klastra mongo. | Właściwości fragmentowania |
| magazyn | Właściwości magazynu klastra mongo. | StorageWłaściwości |
MongoClusterReplicaParameters (Parametry repliki)
| Nazwa | Opis | Wartość |
|---|---|---|
| lokalizacja źródłowa | Lokalizacja klastra źródłowego | ciąg (wymagany) |
| sourceResourceId (identyfikator źródłowy) | Identyfikator klastra źródłowego replikacji. | ciąg (wymagany) |
MongoClusterRestoreParameters
| Nazwa | Opis | Wartość |
|---|---|---|
| pointInTimeUTC (punkt w czasie) | Punkt CZASU UTC w celu przywrócenia klastra mongo | ciąg |
| sourceResourceId (identyfikator źródłowy) | Identyfikator zasobu do zlokalizowania klastra źródłowego do przywrócenia | ciąg |
Właściwości fragmentowania
| Nazwa | Opis | Wartość |
|---|---|---|
| shardCount (liczba odłamków) | Liczba fragmentów do aprowizacji w klastrze. | Int |
Właściwości magazynu
| Nazwa | Opis | Wartość |
|---|---|---|
| rozmiarGb | Rozmiar dysku danych przypisany do każdego serwera. | Int |
| typ | Typ magazynu, który ma być obsługiwany przez serwery klastra. | "PremiumSSD" (Dysk SSD w warstwie Premium) "PremiumSSDv2" |
Śledzone tagi zasobów
| Nazwa | Opis | Wartość |
|---|
UserAssignedIdentities
| Nazwa | Opis | Wartość |
|---|
Tożsamość przypisana przez użytkownika
| Nazwa | Opis | Wartość |
|---|
Przykłady użycia
Definicja zasobu narzędzia Terraform (dostawcy AzAPI)
Typ zasobu mongoClusters można wdrożyć przy użyciu operacji docelowych:
Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.
Format zasobu
Aby utworzyć zasób Microsoft.DocumentDB/mongoClusters, dodaj następujący program Terraform do szablonu.
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"
}
}
}
}
Wartości właściwości
Microsoft.DocumentDB/mongoClusters
| Nazwa | Opis | Wartość |
|---|---|---|
| tożsamość | Tożsamości usługi zarządzanej przypisane do tego zasobu. | ManagedServiceIdentity |
| lokalizacja | Lokalizacja geograficzna, w której znajduje się zasób | ciąg (wymagany) |
| nazwa | Nazwa zasobu | struna Ograniczenia: Minimalna długość = 3 Maksymalna długość = 40 Wzorzec = ^[a-z0-9]+(-[a-z0-9]+)* (wymagane) |
| parent_id | Identyfikator zasobu, do który ma być stosowany ten zasób rozszerzenia. | ciąg (wymagany) |
| Właściwości | Właściwości specyficzne dla zasobu dla tego zasobu. | MongoClusterProperties |
| Tagi | Tagi zasobów | Słownik nazw tagów i wartości. |
| typ | Typ zasobu | "Microsoft.DocumentDB/mongoClusters@2025-09-01" |
Właściwości administratora
| Nazwa | Opis | Wartość |
|---|---|---|
| hasło | Hasło administratora. | struna Ograniczenia: Wartość wrażliwa. Przekaż jako bezpieczny parametr. |
| userName (nazwa użytkownika) | Nazwa użytkownika administratora. | ciąg |
AuthConfigProperties (właściwości uwierzytelniania)
| Nazwa | Opis | Wartość |
|---|---|---|
| allowedModes (dozwolone tryby) | Dozwolone tryby uwierzytelniania dla dostępu do danych w klastrze. | Tablica ciągów zawierająca dowolną z: "MicrosoftEntraID" "Uwierzytelnianie natywne" |
Właściwości kopii zapasowej
| Nazwa | Opis | Wartość |
|---|
Właściwości obliczeniowe
| Nazwa | Opis | Wartość |
|---|---|---|
| warstwa | Warstwa obliczeniowa do przypisania do klastra, w której każda warstwa jest mapowana na rozmiar rdzenia wirtualnego i pamięci. Przykładowe wartości: "M30", "M40". | ciąg |
CustomerManagedKeyEncryptionProperties
| Nazwa | Opis | Wartość |
|---|---|---|
| keyEncryptionKeyIdentity | Tożsamość używana do uzyskiwania dostępu do klucza szyfrowania klucza. | KeyEncryptionKeyIdentity (Tożsamość klucza) |
| keyEncryptionKeyUrl | Identyfikator URI klucza magazynu kluczy używanego do szyfrowania. | ciąg |
Właściwości DataApiProperties
| Nazwa | Opis | Wartość |
|---|---|---|
| tryb | Tryb wskazujący, czy interfejs API danych Mongo jest włączony dla klastra. | "Wyłączone" "Włączone" |
EncryptionProperties
| Nazwa | Opis | Wartość |
|---|---|---|
| customerManagedKeyEncryption | Ustawienia szyfrowania kluczy zarządzane przez klienta. | CustomerManagedKeyEncryptionProperties |
HighAvailabilityProperties (Właściwości wysokiej dostępności)
| Nazwa | Opis | Wartość |
|---|---|---|
| targetMode (tryb docelowy) | Docelowy tryb wysokiej dostępności żądany dla klastra. | "Wyłączone" "Ta sama strefa" "ZoneRedundantPreferred" |
KeyEncryptionKeyIdentity
| Nazwa | Opis | Wartość |
|---|---|---|
| typ tożsamości | Typ tożsamości. Obsługiwana jest tylko wartość "UserAssignedIdentity". | "UserAssignedIdentity" |
| userAssignedIdentityResourceId | Identyfikator zasobu tożsamości przypisanego przez użytkownika. | ciąg |
ManagedServiceIdentity
| Nazwa | Opis | Wartość |
|---|---|---|
| typ | Typ tożsamości usługi zarządzanej (gdzie dozwolone są typy SystemAssigned i UserAssigned). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' "UserAssigned" (wymagane) |
| tożsamości przypisane użytkownikom | Zestaw tożsamości przypisanych przez użytkownika skojarzonych z zasobem. Klucze słownika userAssignedIdentities będą identyfikatorami zasobów usługi ARM w postaci: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Wartości słownika mogą być pustymi obiektami ({}) w żądaniach. | UserAssignedIdentities |
MongoClusterProperties
| Nazwa | Opis | Wartość |
|---|---|---|
| administrator | Właściwości administratora lokalnego dla klastra mongo. | administrator |
| authConfig (konfiguracja systemu) | Konfiguracja uwierzytelniania dla klastra. | AuthConfigProperties (właściwości uwierzytelniania) |
| kopia zapasowa | Właściwości kopii zapasowej klastra mongo. | Właściwości kopii zapasowej |
| obliczanie | Właściwości obliczeniowe klastra mongo. | Właściwości obliczeniowe |
| createMode (tryb tworzenia) | Tryb tworzenia klastra mongo. | "Wartość domyślna" "GeoReplica" "PointInTimeRestore" "Replika" |
| dataApi (interfejs danych) | Właściwości interfejsu API danych klastra mongo. | Właściwości DataApiProperties |
| szyfrowanie | Konfiguracja szyfrowania dla klastra. Zależy od konfigurowanej tożsamości. | Właściwości szyfrowania |
| wysoka dostępność | Właściwości wysokiej dostępności klastra mongo. | HighAvailabilityProperties (Właściwości wysokiej dostępności) |
| Funkcje w wersji zapoznawczej | Lista połączeń prywatnych punktów końcowych. | Tablica ciągów zawierająca dowolną z: "GeoReplicas" |
| dostęp do sieci publicznej | Określa, czy dostęp do publicznego punktu końcowego jest dozwolony dla tego klastra mongo. | "Wyłączone" "Włączone" |
| replicaParameters (parametry repliki) | Parametry do utworzenia repliki klastra mongo. | MongoClusterReplicaParameters (Parametry repliki) |
| restoreParameters (parametry przywracania) | Parametry do utworzenia klastra mongo przywracania do punktu w czasie. | MongoClusterRestoreParameters |
| wersja serwera | Wersja serwera Mongo DB. Wartość domyślna to najnowsza dostępna wersja, jeśli nie zostanie określona. | ciąg |
| fragmentowanie | Właściwości fragmentowania klastra mongo. | Właściwości fragmentowania |
| magazyn | Właściwości magazynu klastra mongo. | StorageWłaściwości |
MongoClusterReplicaParameters (Parametry repliki)
| Nazwa | Opis | Wartość |
|---|---|---|
| lokalizacja źródłowa | Lokalizacja klastra źródłowego | ciąg (wymagany) |
| sourceResourceId (identyfikator źródłowy) | Identyfikator klastra źródłowego replikacji. | ciąg (wymagany) |
MongoClusterRestoreParameters
| Nazwa | Opis | Wartość |
|---|---|---|
| pointInTimeUTC (punkt w czasie) | Punkt CZASU UTC w celu przywrócenia klastra mongo | ciąg |
| sourceResourceId (identyfikator źródłowy) | Identyfikator zasobu do zlokalizowania klastra źródłowego do przywrócenia | ciąg |
Właściwości fragmentowania
| Nazwa | Opis | Wartość |
|---|---|---|
| shardCount (liczba odłamków) | Liczba fragmentów do aprowizacji w klastrze. | Int |
Właściwości magazynu
| Nazwa | Opis | Wartość |
|---|---|---|
| rozmiarGb | Rozmiar dysku danych przypisany do każdego serwera. | Int |
| typ | Typ magazynu, który ma być obsługiwany przez serwery klastra. | "PremiumSSD" (Dysk SSD w warstwie Premium) "PremiumSSDv2" |
Śledzone tagi zasobów
| Nazwa | Opis | Wartość |
|---|
UserAssignedIdentities
| Nazwa | Opis | Wartość |
|---|
Tożsamość przypisana przez użytkownika
| Nazwa | Opis | Wartość |
|---|
Przykłady użycia
Przykłady programu Terraform
Podstawowy przykład wdrażania Azure Cosmos DB dla 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 = ["*"]
}