diff --git a/pkg/deploy/assets/databases-development.json b/pkg/deploy/assets/databases-development.json index 45b51f46865..0216939f13b 100644 --- a/pkg/deploy/assets/databases-development.json +++ b/pkg/deploy/assets/databases-development.json @@ -11,146 +11,160 @@ }, "resources": [ { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'))]", "properties": { + "resource": { + "id": "[parameters('databaseName')]" + }, "options": { "autoscaleSettings": { "maxThroughput": 1000 } - }, - "resource": { - "id": "[parameters('databaseName')]" } }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases" + "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'))]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15" }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/AsyncOperations')]", "properties": { - "options": {}, "resource": { - "defaultTtl": 604800, "id": "AsyncOperations", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] - } - } + ], + "kind": "Hash" + }, + "defaultTtl": 604800 + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/AsyncOperations')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), parameters('databaseName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/OpenShiftVersions')]", "properties": { - "options": {}, "resource": { - "defaultTtl": -1, "id": "OpenShiftVersions", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] - } - } + ], + "kind": "Hash" + }, + "defaultTtl": -1 + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/OpenShiftVersions')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), parameters('databaseName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/ClusterManagerConfigurations')]", "properties": { - "options": {}, "resource": { "id": "ClusterManagerConfigurations", "partitionKey": { - "kind": "Hash", "paths": [ "/partitionKey" - ] + ], + "kind": "Hash" } - } + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/ClusterManagerConfigurations')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), parameters('databaseName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/Billing')]", "properties": { - "options": {}, "resource": { "id": "Billing", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] + ], + "kind": "Hash" } - } + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/Billing')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), parameters('databaseName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/Gateway')]", "properties": { - "options": {}, "resource": { - "defaultTtl": -1, "id": "Gateway", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] - } - } + ], + "kind": "Hash" + }, + "defaultTtl": -1 + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/Gateway')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), parameters('databaseName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/Monitors')]", "properties": { - "options": {}, "resource": { - "defaultTtl": -1, "id": "Monitors", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] - } - } + ], + "kind": "Hash" + }, + "defaultTtl": -1 + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/Monitors')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), parameters('databaseName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/OpenShiftClusters')]", "properties": { - "options": {}, "resource": { "id": "OpenShiftClusters", "partitionKey": { - "kind": "Hash", "paths": [ "/partitionKey" - ] + ], + "kind": "Hash" }, "uniqueKeyPolicy": { "uniqueKeys": [ @@ -171,46 +185,59 @@ } ] } - } + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/OpenShiftClusters')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), parameters('databaseName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/Portal')]", "properties": { - "options": {}, "resource": { - "defaultTtl": -1, "id": "Portal", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] - } - } + ], + "kind": "Hash" + }, + "defaultTtl": -1 + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/Portal')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), parameters('databaseName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/Subscriptions')]", "properties": { - "options": {}, "resource": { "id": "Subscriptions", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] + ], + "kind": "Hash" } - } + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', parameters('databaseName'), '/Subscriptions')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), parameters('databaseName'))]" + ] } ] } diff --git a/pkg/deploy/assets/rp-development.json b/pkg/deploy/assets/rp-development.json index b488666b969..561d81a0fc9 100644 --- a/pkg/deploy/assets/rp-development.json +++ b/pkg/deploy/assets/rp-development.json @@ -54,33 +54,32 @@ "location": "[resourceGroup().location]" }, { - "apiVersion": "2023-04-15", "kind": "GlobalDocumentDB", - "location": "[resourceGroup().location]", - "name": "[parameters('databaseAccountName')]", "properties": { - "backupPolicy": { - "periodicModeProperties": { - "backupIntervalInMinutes": 240, - "backupRetentionIntervalInHours": 720 - }, - "type": "Periodic" - }, "consistencyPolicy": { "defaultConsistencyLevel": "Strong" }, - "databaseAccountOfferType": "Standard", "locations": [ { "locationName": "[resourceGroup().location]" } ], - "minimalTlsVersion": "Tls12" + "databaseAccountOfferType": "Standard", + "backupPolicy": { + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720 + }, + "type": "Periodic" + } }, + "name": "[parameters('databaseAccountName')]", + "type": "Microsoft.DocumentDB/databaseAccounts", + "location": "[resourceGroup().location]", "tags": { "defaultExperience": "Core (SQL)" }, - "type": "Microsoft.DocumentDB/databaseAccounts" + "apiVersion": "2021-01-15" }, { "name": "[guid(resourceGroup().id, parameters('rpServicePrincipalId'), 'RP / Reader')]", diff --git a/pkg/deploy/assets/rp-production.json b/pkg/deploy/assets/rp-production.json index 5d22e7a662f..971f4446b6b 100644 --- a/pkg/deploy/assets/rp-production.json +++ b/pkg/deploy/assets/rp-production.json @@ -746,179 +746,201 @@ "location": "[resourceGroup().location]" }, { - "apiVersion": "2023-04-15", "kind": "GlobalDocumentDB", - "location": "[resourceGroup().location]", - "name": "[parameters('databaseAccountName')]", "properties": { - "backupPolicy": { - "periodicModeProperties": { - "backupIntervalInMinutes": 240, - "backupRetentionIntervalInHours": 720 - }, - "type": "Periodic" - }, "consistencyPolicy": { "defaultConsistencyLevel": "Strong" }, - "databaseAccountOfferType": "Standard", - "disableKeyBasedMetadataWriteAccess": true, - "ipRules": "[if(parameters('disableCosmosDBFirewall'), createArray(), concat(parameters('ipRules'),createArray(createObject('ipAddressOrRange', '104.42.195.92'),createObject('ipAddressOrRange','40.76.54.131'),createObject('ipAddressOrRange','52.176.6.30'),createObject('ipAddressOrRange','52.169.50.45'),createObject('ipAddressOrRange','52.187.184.26'))))]", - "isVirtualNetworkFilterEnabled": "[not(parameters('disableCosmosDBFirewall'))]", "locations": [ { "locationName": "[resourceGroup().location]" } ], - "minimalTlsVersion": "Tls12", - "virtualNetworkRules": "[if(parameters('disableCosmosDBFirewall'), createArray(), variables('rpCosmoDbVirtualNetworkRules'))]" + "databaseAccountOfferType": "Standard", + "ipRules": "[if(parameters('disableCosmosDBFirewall'), createArray(), concat(parameters('ipRules'),createArray(createObject('ipAddressOrRange', '104.42.195.92'),createObject('ipAddressOrRange','40.76.54.131'),createObject('ipAddressOrRange','52.176.6.30'),createObject('ipAddressOrRange','52.169.50.45'),createObject('ipAddressOrRange','52.187.184.26'))))]", + "isVirtualNetworkFilterEnabled": "[not(parameters('disableCosmosDBFirewall'))]", + "virtualNetworkRules": "[if(parameters('disableCosmosDBFirewall'), createArray(), variables('rpCosmoDbVirtualNetworkRules'))]", + "disableKeyBasedMetadataWriteAccess": true, + "backupPolicy": { + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720 + }, + "type": "Periodic" + } }, + "name": "[parameters('databaseAccountName')]", + "type": "Microsoft.DocumentDB/databaseAccounts", + "location": "[resourceGroup().location]", "tags": { "defaultExperience": "Core (SQL)" }, - "type": "Microsoft.DocumentDB/databaseAccounts" + "apiVersion": "2021-01-15" }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', 'ARO')]", "properties": { - "options": { - "throughput": "[parameters('cosmosDB').standardProvisionedThroughput]" - }, "resource": { "id": "['ARO']" + }, + "options": { + "throughput": "[parameters('cosmosDB').standardProvisionedThroughput]" } }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases" + "name": "[concat(parameters('databaseAccountName'), '/', 'ARO')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('databaseAccountName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/AsyncOperations')]", "properties": { - "options": {}, "resource": { - "defaultTtl": 604800, "id": "AsyncOperations", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] - } - } + ], + "kind": "Hash" + }, + "defaultTtl": 604800 + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/AsyncOperations')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), 'ARO')]", + "[resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('databaseAccountName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/OpenShiftVersions')]", "properties": { - "options": {}, "resource": { - "defaultTtl": -1, "id": "OpenShiftVersions", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] - } - } + ], + "kind": "Hash" + }, + "defaultTtl": -1 + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/OpenShiftVersions')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), 'ARO')]", + "[resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('databaseAccountName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/ClusterManagerConfigurations')]", "properties": { - "options": {}, "resource": { "id": "ClusterManagerConfigurations", "partitionKey": { - "kind": "Hash", "paths": [ "/partitionKey" - ] + ], + "kind": "Hash" } - } + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/ClusterManagerConfigurations')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), 'ARO')]", + "[resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('databaseAccountName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/Billing')]", "properties": { - "options": {}, "resource": { "id": "Billing", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] + ], + "kind": "Hash" } - } + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/Billing')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), 'ARO')]", + "[resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('databaseAccountName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/Gateway')]", "properties": { - "options": { - "throughput": "[parameters('cosmosDB').gatewayProvisionedThroughput]" - }, "resource": { - "defaultTtl": -1, "id": "Gateway", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] - } + ], + "kind": "Hash" + }, + "defaultTtl": -1 + }, + "options": { + "throughput": "[parameters('cosmosDB').gatewayProvisionedThroughput]" } }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/Gateway')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), 'ARO')]", + "[resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('databaseAccountName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/Monitors')]", "properties": { - "options": {}, "resource": { - "defaultTtl": -1, "id": "Monitors", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] - } - } + ], + "kind": "Hash" + }, + "defaultTtl": -1 + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/Monitors')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), 'ARO')]", + "[resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('databaseAccountName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/OpenShiftClusters')]", "properties": { - "options": {}, "resource": { "id": "OpenShiftClusters", "partitionKey": { - "kind": "Hash", "paths": [ "/partitionKey" - ] + ], + "kind": "Hash" }, "uniqueKeyPolicy": { "uniqueKeys": [ @@ -939,48 +961,64 @@ } ] } - } + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/OpenShiftClusters')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), 'ARO')]", + "[resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('databaseAccountName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/Portal')]", "properties": { - "options": { - "throughput": "[parameters('cosmosDB').portalProvisionedThroughput]" - }, "resource": { - "defaultTtl": -1, "id": "Portal", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] - } + ], + "kind": "Hash" + }, + "defaultTtl": -1 + }, + "options": { + "throughput": "[parameters('cosmosDB').portalProvisionedThroughput]" } }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/Portal')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), 'ARO')]", + "[resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('databaseAccountName'))]" + ] }, { - "apiVersion": "2023-04-15", - "location": "[resourceGroup().location]", - "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/Subscriptions')]", "properties": { - "options": {}, "resource": { "id": "Subscriptions", "partitionKey": { - "kind": "Hash", "paths": [ "/id" - ] + ], + "kind": "Hash" } - } + }, + "options": {} }, - "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + "name": "[concat(parameters('databaseAccountName'), '/', 'ARO', '/Subscriptions')]", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers", + "location": "[resourceGroup().location]", + "apiVersion": "2021-01-15", + "dependsOn": [ + "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), 'ARO')]", + "[resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('databaseAccountName'))]" + ] }, { "properties": { diff --git a/pkg/deploy/generator/resources_rp.go b/pkg/deploy/generator/resources_rp.go index 035965f1e86..4325e209f87 100644 --- a/pkg/deploy/generator/resources_rp.go +++ b/pkg/deploy/generator/resources_rp.go @@ -8,8 +8,8 @@ import ( "fmt" "strings" - sdkcosmos "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos/v2" mgmtcompute "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2020-06-01/compute" + mgmtdocumentdb "github.com/Azure/azure-sdk-for-go/services/cosmos-db/mgmt/2021-01-15/documentdb" mgmtkeyvault "github.com/Azure/azure-sdk-for-go/services/keyvault/mgmt/2019-09-01/keyvault" mgmtmsi "github.com/Azure/azure-sdk-for-go/services/msi/mgmt/2018-11-30/msi" mgmtnetwork "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2020-08-01/network" @@ -978,31 +978,25 @@ func (g *generator) rpServiceKeyvault() *arm.Resource { } func (g *generator) rpCosmosDB() []*arm.Resource { - dbType := sdkcosmos.DatabaseAccountKindGlobalDocumentDB - consistency := sdkcosmos.DefaultConsistencyLevelStrong - backupPolicy := sdkcosmos.BackupPolicyTypePeriodic - minTLSVersion := sdkcosmos.MinimalTLSVersionTls12 - - cosmosdb := &sdkcosmos.DatabaseAccountCreateUpdateParameters{ - Kind: &dbType, - Properties: &sdkcosmos.DatabaseAccountCreateUpdateProperties{ - ConsistencyPolicy: &sdkcosmos.ConsistencyPolicy{ - DefaultConsistencyLevel: &consistency, - }, - Locations: []*sdkcosmos.Location{ + cosmosdb := &mgmtdocumentdb.DatabaseAccountCreateUpdateParameters{ + Kind: mgmtdocumentdb.GlobalDocumentDB, + DatabaseAccountCreateUpdateProperties: &mgmtdocumentdb.DatabaseAccountCreateUpdateProperties{ + ConsistencyPolicy: &mgmtdocumentdb.ConsistencyPolicy{ + DefaultConsistencyLevel: mgmtdocumentdb.Strong, + }, + Locations: &[]mgmtdocumentdb.Location{ { LocationName: to.StringPtr("[resourceGroup().location]"), }, }, - DatabaseAccountOfferType: to.StringPtr("Standard"), - BackupPolicy: &sdkcosmos.PeriodicModeBackupPolicy{ - Type: &backupPolicy, - PeriodicModeProperties: &sdkcosmos.PeriodicModeProperties{ + DatabaseAccountOfferType: to.StringPtr(string(mgmtdocumentdb.Standard)), + BackupPolicy: mgmtdocumentdb.PeriodicModeBackupPolicy{ + Type: mgmtdocumentdb.TypePeriodic, + PeriodicModeProperties: &mgmtdocumentdb.PeriodicModeProperties{ BackupIntervalInMinutes: to.Int32Ptr(240), //4 hours BackupRetentionIntervalInHours: to.Int32Ptr(720), //30 days }, }, - MinimalTLSVersion: &minTLSVersion, }, Name: to.StringPtr("[parameters('databaseAccountName')]"), Type: to.StringPtr("Microsoft.DocumentDB/databaseAccounts"), @@ -1015,13 +1009,12 @@ func (g *generator) rpCosmosDB() []*arm.Resource { r := &arm.Resource{ Resource: cosmosdb, APIVersion: azureclient.APIVersion("Microsoft.DocumentDB"), - Type: "Microsoft.DocumentDB/databaseAccounts", } if g.production { - cosmosdb.Properties.IPRules = []*sdkcosmos.IPAddressOrRange{} - cosmosdb.Properties.IsVirtualNetworkFilterEnabled = to.BoolPtr(true) - cosmosdb.Properties.VirtualNetworkRules = []*sdkcosmos.VirtualNetworkRule{} - cosmosdb.Properties.DisableKeyBasedMetadataWriteAccess = to.BoolPtr(true) + cosmosdb.IPRules = &[]mgmtdocumentdb.IPAddressOrRange{} + cosmosdb.IsVirtualNetworkFilterEnabled = to.BoolPtr(true) + cosmosdb.VirtualNetworkRules = &[]mgmtdocumentdb.VirtualNetworkRule{} + cosmosdb.DisableKeyBasedMetadataWriteAccess = to.BoolPtr(true) } rs := []*arm.Resource{ @@ -1038,12 +1031,12 @@ func (g *generator) rpCosmosDB() []*arm.Resource { func (g *generator) database(databaseName string, addDependsOn bool) []*arm.Resource { database := &arm.Resource{ - Resource: &sdkcosmos.SQLDatabaseCreateUpdateParameters{ - Properties: &sdkcosmos.SQLDatabaseCreateUpdateProperties{ - Resource: &sdkcosmos.SQLDatabaseResource{ + Resource: &mgmtdocumentdb.SQLDatabaseCreateUpdateParameters{ + SQLDatabaseCreateUpdateProperties: &mgmtdocumentdb.SQLDatabaseCreateUpdateProperties{ + Resource: &mgmtdocumentdb.SQLDatabaseResource{ ID: to.StringPtr("[" + databaseName + "]"), }, - Options: &sdkcosmos.CreateUpdateOptions{ + Options: &mgmtdocumentdb.CreateUpdateOptions{ Throughput: to.Int32Ptr(cosmosDbStandardProvisionedThroughputHack), }, }, @@ -1052,23 +1045,21 @@ func (g *generator) database(databaseName string, addDependsOn bool) []*arm.Reso Location: to.StringPtr("[resourceGroup().location]"), }, APIVersion: azureclient.APIVersion("Microsoft.DocumentDB"), - Type: "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", } - hashPartitionKey := sdkcosmos.PartitionKindHash portal := &arm.Resource{ - Resource: &sdkcosmos.SQLContainerCreateUpdateParameters{ - Properties: &sdkcosmos.SQLContainerCreateUpdateProperties{ - Resource: &sdkcosmos.SQLContainerResource{ + Resource: &mgmtdocumentdb.SQLContainerCreateUpdateParameters{ + SQLContainerCreateUpdateProperties: &mgmtdocumentdb.SQLContainerCreateUpdateProperties{ + Resource: &mgmtdocumentdb.SQLContainerResource{ ID: to.StringPtr("Portal"), - PartitionKey: &sdkcosmos.ContainerPartitionKey{ - Paths: []*string{ - to.StringPtr("/id"), + PartitionKey: &mgmtdocumentdb.ContainerPartitionKey{ + Paths: &[]string{ + "/id", }, - Kind: &hashPartitionKey, + Kind: mgmtdocumentdb.PartitionKindHash, }, DefaultTTL: to.Int32Ptr(-1), }, - Options: &sdkcosmos.CreateUpdateOptions{ + Options: &mgmtdocumentdb.CreateUpdateOptions{ Throughput: to.Int32Ptr(cosmosDbPortalProvisionedThroughputHack), }, }, @@ -1080,23 +1071,22 @@ func (g *generator) database(databaseName string, addDependsOn bool) []*arm.Reso DependsOn: []string{ "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), " + databaseName + ")]", }, - Type: "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", } gateway := &arm.Resource{ - Resource: &sdkcosmos.SQLContainerCreateUpdateParameters{ - Properties: &sdkcosmos.SQLContainerCreateUpdateProperties{ - Resource: &sdkcosmos.SQLContainerResource{ + Resource: &mgmtdocumentdb.SQLContainerCreateUpdateParameters{ + SQLContainerCreateUpdateProperties: &mgmtdocumentdb.SQLContainerCreateUpdateProperties{ + Resource: &mgmtdocumentdb.SQLContainerResource{ ID: to.StringPtr("Gateway"), - PartitionKey: &sdkcosmos.ContainerPartitionKey{ - Paths: []*string{ - to.StringPtr("/id"), + PartitionKey: &mgmtdocumentdb.ContainerPartitionKey{ + Paths: &[]string{ + "/id", }, - Kind: &hashPartitionKey, + Kind: mgmtdocumentdb.PartitionKindHash, }, DefaultTTL: to.Int32Ptr(-1), }, - Options: &sdkcosmos.CreateUpdateOptions{ + Options: &mgmtdocumentdb.CreateUpdateOptions{ Throughput: to.Int32Ptr(cosmosDbGatewayProvisionedThroughputHack), }, }, @@ -1108,35 +1098,34 @@ func (g *generator) database(databaseName string, addDependsOn bool) []*arm.Reso DependsOn: []string{ "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), " + databaseName + ")]", }, - Type: "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", } if !g.production { - database.Resource.(*sdkcosmos.SQLDatabaseCreateUpdateParameters).Properties.Options = &sdkcosmos.CreateUpdateOptions{ - AutoscaleSettings: &sdkcosmos.AutoscaleSettings{ + database.Resource.(*mgmtdocumentdb.SQLDatabaseCreateUpdateParameters).SQLDatabaseCreateUpdateProperties.Options = &mgmtdocumentdb.CreateUpdateOptions{ + AutoscaleSettings: &mgmtdocumentdb.AutoscaleSettings{ MaxThroughput: to.Int32Ptr(1000), }, } - portal.Resource.(*sdkcosmos.SQLContainerCreateUpdateParameters).Properties.Options = &sdkcosmos.CreateUpdateOptions{} - gateway.Resource.(*sdkcosmos.SQLContainerCreateUpdateParameters).Properties.Options = &sdkcosmos.CreateUpdateOptions{} + portal.Resource.(*mgmtdocumentdb.SQLContainerCreateUpdateParameters).SQLContainerCreateUpdateProperties.Options = &mgmtdocumentdb.CreateUpdateOptions{} + gateway.Resource.(*mgmtdocumentdb.SQLContainerCreateUpdateParameters).SQLContainerCreateUpdateProperties.Options = &mgmtdocumentdb.CreateUpdateOptions{} } rs := []*arm.Resource{ database, { - Resource: &sdkcosmos.SQLContainerCreateUpdateParameters{ - Properties: &sdkcosmos.SQLContainerCreateUpdateProperties{ - Resource: &sdkcosmos.SQLContainerResource{ + Resource: &mgmtdocumentdb.SQLContainerCreateUpdateParameters{ + SQLContainerCreateUpdateProperties: &mgmtdocumentdb.SQLContainerCreateUpdateProperties{ + Resource: &mgmtdocumentdb.SQLContainerResource{ ID: to.StringPtr("AsyncOperations"), - PartitionKey: &sdkcosmos.ContainerPartitionKey{ - Paths: []*string{ - to.StringPtr("/id"), + PartitionKey: &mgmtdocumentdb.ContainerPartitionKey{ + Paths: &[]string{ + "/id", }, - Kind: &hashPartitionKey, + Kind: mgmtdocumentdb.PartitionKindHash, }, DefaultTTL: to.Int32Ptr(7 * 86400), // 7 days }, - Options: &sdkcosmos.CreateUpdateOptions{}, + Options: &mgmtdocumentdb.CreateUpdateOptions{}, }, Name: to.StringPtr("[concat(parameters('databaseAccountName'), '/', " + databaseName + ", '/AsyncOperations')]"), Type: to.StringPtr("Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers"), @@ -1146,22 +1135,21 @@ func (g *generator) database(databaseName string, addDependsOn bool) []*arm.Reso DependsOn: []string{ "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), " + databaseName + ")]", }, - Type: "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", }, { - Resource: &sdkcosmos.SQLContainerCreateUpdateParameters{ - Properties: &sdkcosmos.SQLContainerCreateUpdateProperties{ - Resource: &sdkcosmos.SQLContainerResource{ + Resource: &mgmtdocumentdb.SQLContainerCreateUpdateParameters{ + SQLContainerCreateUpdateProperties: &mgmtdocumentdb.SQLContainerCreateUpdateProperties{ + Resource: &mgmtdocumentdb.SQLContainerResource{ ID: to.StringPtr("OpenShiftVersions"), - PartitionKey: &sdkcosmos.ContainerPartitionKey{ - Paths: []*string{ - to.StringPtr("/id"), + PartitionKey: &mgmtdocumentdb.ContainerPartitionKey{ + Paths: &[]string{ + "/id", }, - Kind: &hashPartitionKey, + Kind: mgmtdocumentdb.PartitionKindHash, }, DefaultTTL: to.Int32Ptr(-1), }, - Options: &sdkcosmos.CreateUpdateOptions{}, + Options: &mgmtdocumentdb.CreateUpdateOptions{}, }, Name: to.StringPtr("[concat(parameters('databaseAccountName'), '/', " + databaseName + ", '/OpenShiftVersions')]"), Type: to.StringPtr("Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers"), @@ -1171,21 +1159,20 @@ func (g *generator) database(databaseName string, addDependsOn bool) []*arm.Reso DependsOn: []string{ "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), " + databaseName + ")]", }, - Type: "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", }, { - Resource: &sdkcosmos.SQLContainerCreateUpdateParameters{ - Properties: &sdkcosmos.SQLContainerCreateUpdateProperties{ - Resource: &sdkcosmos.SQLContainerResource{ + Resource: &mgmtdocumentdb.SQLContainerCreateUpdateParameters{ + SQLContainerCreateUpdateProperties: &mgmtdocumentdb.SQLContainerCreateUpdateProperties{ + Resource: &mgmtdocumentdb.SQLContainerResource{ ID: to.StringPtr("ClusterManagerConfigurations"), - PartitionKey: &sdkcosmos.ContainerPartitionKey{ - Paths: []*string{ - to.StringPtr("/partitionKey"), + PartitionKey: &mgmtdocumentdb.ContainerPartitionKey{ + Paths: &[]string{ + "/partitionKey", }, - Kind: &hashPartitionKey, + Kind: mgmtdocumentdb.PartitionKindHash, }, }, - Options: &sdkcosmos.CreateUpdateOptions{}, + Options: &mgmtdocumentdb.CreateUpdateOptions{}, }, Name: to.StringPtr("[concat(parameters('databaseAccountName'), '/', " + databaseName + ", '/ClusterManagerConfigurations')]"), Type: to.StringPtr("Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers"), @@ -1195,21 +1182,20 @@ func (g *generator) database(databaseName string, addDependsOn bool) []*arm.Reso DependsOn: []string{ "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), " + databaseName + ")]", }, - Type: "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", }, { - Resource: &sdkcosmos.SQLContainerCreateUpdateParameters{ - Properties: &sdkcosmos.SQLContainerCreateUpdateProperties{ - Resource: &sdkcosmos.SQLContainerResource{ + Resource: &mgmtdocumentdb.SQLContainerCreateUpdateParameters{ + SQLContainerCreateUpdateProperties: &mgmtdocumentdb.SQLContainerCreateUpdateProperties{ + Resource: &mgmtdocumentdb.SQLContainerResource{ ID: to.StringPtr("Billing"), - PartitionKey: &sdkcosmos.ContainerPartitionKey{ - Paths: []*string{ - to.StringPtr("/id"), + PartitionKey: &mgmtdocumentdb.ContainerPartitionKey{ + Paths: &[]string{ + "/id", }, - Kind: &hashPartitionKey, + Kind: mgmtdocumentdb.PartitionKindHash, }, }, - Options: &sdkcosmos.CreateUpdateOptions{}, + Options: &mgmtdocumentdb.CreateUpdateOptions{}, }, Name: to.StringPtr("[concat(parameters('databaseAccountName'), '/', " + databaseName + ", '/Billing')]"), Type: to.StringPtr("Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers"), @@ -1219,23 +1205,22 @@ func (g *generator) database(databaseName string, addDependsOn bool) []*arm.Reso DependsOn: []string{ "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), " + databaseName + ")]", }, - Type: "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", }, gateway, { - Resource: &sdkcosmos.SQLContainerCreateUpdateParameters{ - Properties: &sdkcosmos.SQLContainerCreateUpdateProperties{ - Resource: &sdkcosmos.SQLContainerResource{ + Resource: &mgmtdocumentdb.SQLContainerCreateUpdateParameters{ + SQLContainerCreateUpdateProperties: &mgmtdocumentdb.SQLContainerCreateUpdateProperties{ + Resource: &mgmtdocumentdb.SQLContainerResource{ ID: to.StringPtr("Monitors"), - PartitionKey: &sdkcosmos.ContainerPartitionKey{ - Paths: []*string{ - to.StringPtr("/id"), + PartitionKey: &mgmtdocumentdb.ContainerPartitionKey{ + Paths: &[]string{ + "/id", }, - Kind: &hashPartitionKey, + Kind: mgmtdocumentdb.PartitionKindHash, }, DefaultTTL: to.Int32Ptr(-1), }, - Options: &sdkcosmos.CreateUpdateOptions{}, + Options: &mgmtdocumentdb.CreateUpdateOptions{}, }, Name: to.StringPtr("[concat(parameters('databaseAccountName'), '/', " + databaseName + ", '/Monitors')]"), Type: to.StringPtr("Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers"), @@ -1245,40 +1230,39 @@ func (g *generator) database(databaseName string, addDependsOn bool) []*arm.Reso DependsOn: []string{ "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), " + databaseName + ")]", }, - Type: "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", }, { - Resource: &sdkcosmos.SQLContainerCreateUpdateParameters{ - Properties: &sdkcosmos.SQLContainerCreateUpdateProperties{ - Resource: &sdkcosmos.SQLContainerResource{ + Resource: &mgmtdocumentdb.SQLContainerCreateUpdateParameters{ + SQLContainerCreateUpdateProperties: &mgmtdocumentdb.SQLContainerCreateUpdateProperties{ + Resource: &mgmtdocumentdb.SQLContainerResource{ ID: to.StringPtr("OpenShiftClusters"), - PartitionKey: &sdkcosmos.ContainerPartitionKey{ - Paths: []*string{ - to.StringPtr("/partitionKey"), + PartitionKey: &mgmtdocumentdb.ContainerPartitionKey{ + Paths: &[]string{ + "/partitionKey", }, - Kind: &hashPartitionKey, + Kind: mgmtdocumentdb.PartitionKindHash, }, - UniqueKeyPolicy: &sdkcosmos.UniqueKeyPolicy{ - UniqueKeys: []*sdkcosmos.UniqueKey{ + UniqueKeyPolicy: &mgmtdocumentdb.UniqueKeyPolicy{ + UniqueKeys: &[]mgmtdocumentdb.UniqueKey{ { - Paths: []*string{ - to.StringPtr("/key"), + Paths: &[]string{ + "/key", }, }, { - Paths: []*string{ - to.StringPtr("/clusterResourceGroupIdKey"), + Paths: &[]string{ + "/clusterResourceGroupIdKey", }, }, { - Paths: []*string{ - to.StringPtr("/clientIdKey"), + Paths: &[]string{ + "/clientIdKey", }, }, }, }, }, - Options: &sdkcosmos.CreateUpdateOptions{}, + Options: &mgmtdocumentdb.CreateUpdateOptions{}, }, Name: to.StringPtr("[concat(parameters('databaseAccountName'), '/', " + databaseName + ", '/OpenShiftClusters')]"), Type: to.StringPtr("Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers"), @@ -1288,22 +1272,21 @@ func (g *generator) database(databaseName string, addDependsOn bool) []*arm.Reso DependsOn: []string{ "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), " + databaseName + ")]", }, - Type: "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", }, portal, { - Resource: &sdkcosmos.SQLContainerCreateUpdateParameters{ - Properties: &sdkcosmos.SQLContainerCreateUpdateProperties{ - Resource: &sdkcosmos.SQLContainerResource{ + Resource: &mgmtdocumentdb.SQLContainerCreateUpdateParameters{ + SQLContainerCreateUpdateProperties: &mgmtdocumentdb.SQLContainerCreateUpdateProperties{ + Resource: &mgmtdocumentdb.SQLContainerResource{ ID: to.StringPtr("Subscriptions"), - PartitionKey: &sdkcosmos.ContainerPartitionKey{ - Paths: []*string{ - to.StringPtr("/id"), + PartitionKey: &mgmtdocumentdb.ContainerPartitionKey{ + Paths: &[]string{ + "/id", }, - Kind: &hashPartitionKey, + Kind: mgmtdocumentdb.PartitionKindHash, }, }, - Options: &sdkcosmos.CreateUpdateOptions{}, + Options: &mgmtdocumentdb.CreateUpdateOptions{}, }, Name: to.StringPtr("[concat(parameters('databaseAccountName'), '/', " + databaseName + ", '/Subscriptions')]"), Type: to.StringPtr("Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers"), @@ -1313,7 +1296,6 @@ func (g *generator) database(databaseName string, addDependsOn bool) []*arm.Reso DependsOn: []string{ "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', parameters('databaseAccountName'), " + databaseName + ")]", }, - Type: "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", }, } diff --git a/pkg/util/arm/marshal.go b/pkg/util/arm/marshal.go index 658492b8e31..58929d5a6bc 100644 --- a/pkg/util/arm/marshal.go +++ b/pkg/util/arm/marshal.go @@ -7,44 +7,13 @@ import ( "encoding/json" "fmt" "reflect" - "strings" - sdkcosmos "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos/v2" gofrsuuid "github.com/gofrs/uuid" ) // MarshalJSON marshals the nested r.Resource ignoring any MarshalJSON() methods // on its types. It then merges remaining fields of r over the result func (r *Resource) MarshalJSON() ([]byte, error) { - var b []byte - var err error - - // hack to handle newer track2 sdk which doesn't have json tags - if strings.HasPrefix(r.Type, "Microsoft.DocumentDB/databaseAccounts/sqlDatabases") { - if reflect.TypeOf(r.Resource) == reflect.TypeOf(&sdkcosmos.SQLDatabaseCreateUpdateParameters{}) { - b, err = r.Resource.(*sdkcosmos.SQLDatabaseCreateUpdateParameters).MarshalJSON() - } else if reflect.TypeOf(r.Resource) == reflect.TypeOf(&sdkcosmos.SQLContainerCreateUpdateParameters{}) { - b, err = r.Resource.(*sdkcosmos.SQLContainerCreateUpdateParameters).MarshalJSON() - } - } else if strings.HasPrefix(r.Type, "Microsoft.DocumentDB/databaseAccounts") { - b, err = r.Resource.(*sdkcosmos.DatabaseAccountCreateUpdateParameters).MarshalJSON() - } - - if err != nil { - return b, err - } - - if b != nil { - dataMap := map[string]interface{}{} - err = json.Unmarshal(b, &dataMap) - if err != nil { - return nil, err - } - - dataMap["apiVersion"] = r.APIVersion - return json.Marshal(dataMap) - } - resource := reflect.ValueOf(shadowCopy(r.Resource)) outer := reflect.ValueOf(*r) diff --git a/pkg/util/azureclient/apiversions.go b/pkg/util/azureclient/apiversions.go index 3ad8deffdec..b80bb5afc48 100644 --- a/pkg/util/azureclient/apiversions.go +++ b/pkg/util/azureclient/apiversions.go @@ -19,7 +19,7 @@ var apiVersions = map[string]string{ "microsoft.compute/snapshots": "2020-05-01", "microsoft.containerregistry": "2020-11-01-preview", "microsoft.resources/deployments": "2021-04-01", - "microsoft.documentdb": "2023-04-15", + "microsoft.documentdb": "2021-01-15", "microsoft.insights": "2018-03-01", "microsoft.keyvault": "2019-09-01", "microsoft.keyvault/vaults/accesspolicies": "2021-10-01",