diff --git a/generator/resources.json b/generator/resources.json index 85a04b686f..9ef49961e9 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -171,7 +171,8 @@ "2021-08-08-preview" ], "Microsoft.AlertsManagement/prometheusRuleGroups": [ - "2021-07-22-preview" + "2021-07-22-preview", + "2023-03-01" ], "Microsoft.AnalysisServices/servers": [ "2016-05-16", @@ -3267,6 +3268,15 @@ "2023-01-01", "2023-01-02-preview" ], + "Microsoft.ContainerStorage/pools": [ + "2023-03-01-preview" + ], + "Microsoft.ContainerStorage/pools/volumeSnapshots": [ + "2023-03-01-preview" + ], + "Microsoft.ContainerStorage/pools/volumes": [ + "2023-03-01-preview" + ], "Microsoft.CostManagement/budgets": [ "2019-04-01-preview" ], @@ -4424,7 +4434,8 @@ "2021-07-01-preview", "2021-07-02", "2021-07-02-preview", - "2022-04-30-preview" + "2022-04-30-preview", + "2022-11-15-preview" ], "Microsoft.Devices/IotHubs/certificates": [ "2017-07-01", @@ -4449,7 +4460,8 @@ "2021-07-01-preview", "2021-07-02", "2021-07-02-preview", - "2022-04-30-preview" + "2022-04-30-preview", + "2022-11-15-preview" ], "Microsoft.Devices/IotHubs/eventHubEndpoints/ConsumerGroups": [ "2016-02-03", @@ -4476,7 +4488,8 @@ "2021-07-01-preview", "2021-07-02", "2021-07-02-preview", - "2022-04-30-preview" + "2022-04-30-preview", + "2022-11-15-preview" ], "Microsoft.Devices/iotHubs/privateEndpointConnections": [ "2020-03-01", @@ -4493,7 +4506,8 @@ "2021-07-01-preview", "2021-07-02", "2021-07-02-preview", - "2022-04-30-preview" + "2022-04-30-preview", + "2022-11-15-preview" ], "Microsoft.Devices/provisioningServices": [ "2017-08-21-preview", @@ -4568,7 +4582,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/cassandraClusters/dataCenters": [ "2021-03-01-preview", @@ -4583,7 +4598,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts": [ "2015-04-01", @@ -4614,7 +4630,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/apis/databases": [ "2015-04-01", @@ -4738,7 +4755,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables": [ "2019-08-01", @@ -4764,7 +4782,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables/throughputSettings": [ "2019-08-01", @@ -4790,7 +4809,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings": [ "2019-08-01", @@ -4816,7 +4836,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views": [ "2021-07-01-preview", @@ -4825,7 +4846,8 @@ "2022-02-15-preview", "2022-05-15-preview", "2022-08-15-preview", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views/throughputSettings": [ "2021-07-01-preview", @@ -4834,7 +4856,8 @@ "2022-02-15-preview", "2022-05-15-preview", "2022-08-15-preview", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs": [ "2021-10-15-preview", @@ -4842,7 +4865,8 @@ "2022-02-15-preview", "2022-05-15-preview", "2022-08-15-preview", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/graphs": [ "2021-07-01-preview", @@ -4851,7 +4875,8 @@ "2022-02-15-preview", "2022-05-15-preview", "2022-08-15-preview", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases": [ "2019-08-01", @@ -4877,7 +4902,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs": [ "2019-08-01", @@ -4903,7 +4929,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs/throughputSettings": [ "2019-08-01", @@ -4929,7 +4956,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings": [ "2019-08-01", @@ -4955,7 +4983,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases": [ "2019-08-01", @@ -4981,7 +5010,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections": [ "2019-08-01", @@ -5007,7 +5037,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/throughputSettings": [ "2019-08-01", @@ -5033,7 +5064,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings": [ "2019-08-01", @@ -5059,7 +5091,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions": [ "2021-10-15-preview", @@ -5069,7 +5102,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions": [ "2021-10-15-preview", @@ -5079,7 +5113,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces": [ "2019-08-01", @@ -5105,7 +5140,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections": [ "2019-08-01-preview", @@ -5126,7 +5162,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/services": [ "2021-04-01-preview", @@ -5139,7 +5176,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases": [ "2019-08-01", @@ -5165,7 +5203,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKeys": [ "2021-10-15-preview", @@ -5174,7 +5213,8 @@ "2022-05-15-preview", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers": [ "2019-08-01", @@ -5200,7 +5240,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures": [ "2019-08-01", @@ -5226,7 +5267,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/throughputSettings": [ "2019-08-01", @@ -5252,7 +5294,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers": [ "2019-08-01", @@ -5278,7 +5321,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions": [ "2019-08-01", @@ -5304,7 +5348,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings": [ "2019-08-01", @@ -5330,7 +5375,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments": [ "2020-06-01-preview", @@ -5349,7 +5395,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions": [ "2020-06-01-preview", @@ -5368,7 +5415,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/tables": [ "2019-08-01", @@ -5394,7 +5442,8 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" ], "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings": [ "2019-08-01", @@ -5420,7 +5469,14 @@ "2022-08-15", "2022-08-15-preview", "2022-11-15", - "2022-11-15-preview" + "2022-11-15-preview", + "2023-03-01-preview" + ], + "Microsoft.DocumentDB/mongoClusters": [ + "2023-03-01-preview" + ], + "Microsoft.DocumentDB/mongoClusters/firewallRules": [ + "2023-03-01-preview" ], "Microsoft.DomainRegistration/domains": [ "2015-04-01", @@ -6184,10 +6240,12 @@ "2021-11-01-preview", "2022-02-01-preview", "2022-07-01", - "2022-11-01" + "2022-11-01", + "2023-02-01" ], "Microsoft.KeyVault/managedHSMs/keys": [ - "2022-11-01" + "2022-11-01", + "2023-02-01" ], "Microsoft.KeyVault/managedHSMs/privateEndpointConnections": [ "2021-04-01-preview", @@ -6196,7 +6254,8 @@ "2021-11-01-preview", "2022-02-01-preview", "2022-07-01", - "2022-11-01" + "2022-11-01", + "2023-02-01" ], "Microsoft.KeyVault/vaults": [ "2015-06-01", @@ -6211,7 +6270,8 @@ "2021-11-01-preview", "2022-02-01-preview", "2022-07-01", - "2022-11-01" + "2022-11-01", + "2023-02-01" ], "Microsoft.KeyVault/vaults/accessPolicies": [ "2016-10-01", @@ -6225,7 +6285,8 @@ "2021-11-01-preview", "2022-02-01-preview", "2022-07-01", - "2022-11-01" + "2022-11-01", + "2023-02-01" ], "Microsoft.KeyVault/vaults/keys": [ "2019-09-01", @@ -6236,7 +6297,8 @@ "2021-11-01-preview", "2022-02-01-preview", "2022-07-01", - "2022-11-01" + "2022-11-01", + "2023-02-01" ], "Microsoft.KeyVault/vaults/privateEndpointConnections": [ "2018-02-14", @@ -6248,7 +6310,8 @@ "2021-11-01-preview", "2022-02-01-preview", "2022-07-01", - "2022-11-01" + "2022-11-01", + "2023-02-01" ], "Microsoft.KeyVault/vaults/secrets": [ "2016-10-01", @@ -6262,7 +6325,8 @@ "2021-11-01-preview", "2022-02-01-preview", "2022-07-01", - "2022-11-01" + "2022-11-01", + "2023-02-01" ], "Microsoft.Kubernetes/connectedClusters": [ "2020-01-01-preview", @@ -7054,26 +7118,30 @@ "2021-06-01", "2021-12-01", "2022-03-01", - "2022-09-01" + "2022-09-01", + "2023-01-01" ], "Microsoft.Marketplace/privateStores/adminRequestApprovals": [ "2020-12-01", "2021-06-01", "2021-12-01", "2022-03-01", - "2022-09-01" + "2022-09-01", + "2023-01-01" ], "Microsoft.Marketplace/privateStores/collections": [ "2021-06-01", "2021-12-01", "2022-03-01", - "2022-09-01" + "2022-09-01", + "2023-01-01" ], "Microsoft.Marketplace/privateStores/collections/offers": [ "2021-06-01", "2021-12-01", "2022-03-01", - "2022-09-01" + "2022-09-01", + "2023-01-01" ], "Microsoft.Marketplace/privateStores/offers": [ "2020-01-01", @@ -7084,7 +7152,8 @@ "2021-06-01", "2021-12-01", "2022-03-01", - "2022-09-01" + "2022-09-01", + "2023-01-01" ], "Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements": [ "2015-06-01", @@ -7095,7 +7164,8 @@ "2020-05-01", "2021-06-01", "2021-11-01", - "2022-08-01" + "2022-08-01", + "2023-01-01" ], "Microsoft.Media/mediaServices/assets": [ "2018-03-30-preview", @@ -7104,18 +7174,21 @@ "2020-05-01", "2021-06-01", "2021-11-01", - "2022-08-01" + "2022-08-01", + "2023-01-01" ], "Microsoft.Media/mediaServices/assets/assetFilters": [ "2018-07-01", "2020-05-01", "2021-06-01", "2021-11-01", - "2022-08-01" + "2022-08-01", + "2023-01-01" ], "Microsoft.Media/mediaServices/assets/tracks": [ "2021-11-01", - "2022-08-01" + "2022-08-01", + "2023-01-01" ], "Microsoft.Media/mediaServices/contentKeyPolicies": [ "2018-03-30-preview", @@ -7124,7 +7197,8 @@ "2020-05-01", "2021-06-01", "2021-11-01", - "2022-08-01" + "2022-08-01", + "2023-01-01" ], "Microsoft.Media/mediaServices/mediaGraphs": [ "2019-09-01-preview", @@ -7137,7 +7211,8 @@ "2020-05-01", "2021-06-01", "2021-11-01", - "2022-08-01" + "2022-08-01", + "2023-01-01" ], "Microsoft.Media/mediaServices/streamingPolicies": [ "2018-03-30-preview", @@ -7146,7 +7221,8 @@ "2020-05-01", "2021-06-01", "2021-11-01", - "2022-08-01" + "2022-08-01", + "2023-01-01" ], "Microsoft.Media/mediaServices/transforms": [ "2018-03-30-preview", @@ -10709,7 +10785,8 @@ "2022-09-10", "2022-09-30-preview", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/backupEncryptionConfigs": [ "2020-10-01", @@ -10930,7 +11007,8 @@ "2022-09-10", "2022-09-30-preview", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/extendedInformation": [ "2016-06-01", @@ -10955,7 +11033,8 @@ "2022-09-10", "2022-09-30-preview", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/privateEndpointConnections": [ "2020-02-02", @@ -11004,7 +11083,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/replicationFabrics": [ "2016-08-10", @@ -11027,7 +11107,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings": [ "2016-08-10", @@ -11050,7 +11131,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers": [ "2016-08-10", @@ -11073,7 +11155,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems": [ "2018-01-10", @@ -11095,7 +11178,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems": [ "2016-08-10", @@ -11118,7 +11202,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings": [ "2016-08-10", @@ -11141,7 +11226,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders": [ "2018-01-10", @@ -11163,7 +11249,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings": [ "2016-08-10", @@ -11186,7 +11273,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters": [ "2016-08-10", @@ -11209,7 +11297,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/replicationPolicies": [ "2016-08-10", @@ -11232,7 +11321,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/replicationProtectionIntents": [ "2018-07-10", @@ -11253,7 +11343,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans": [ "2016-08-10", @@ -11276,7 +11367,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RecoveryServices/vaults/replicationVaultSettings": [ "2018-07-10", @@ -11297,7 +11389,8 @@ "2022-08-01", "2022-09-10", "2022-10-01", - "2023-01-01" + "2023-01-01", + "2023-02-01" ], "Microsoft.RedHatOpenShift/openShiftClusters": [ "2020-04-30", @@ -11768,7 +11861,8 @@ "2022-02-01-preview", "2022-06-01-preview", "2022-08-01-preview", - "2022-10-01-preview" + "2022-10-01-preview", + "2023-02-01-preview" ], "Microsoft.ServiceFabric/managedClusters/nodeTypes": [ "2020-01-01-preview", @@ -11780,7 +11874,8 @@ "2022-02-01-preview", "2022-06-01-preview", "2022-08-01-preview", - "2022-10-01-preview" + "2022-10-01-preview", + "2023-02-01-preview" ], "Microsoft.ServiceFabric/managedclusters/applicationTypes": [ "2021-01-01-preview", @@ -11791,7 +11886,8 @@ "2022-02-01-preview", "2022-06-01-preview", "2022-08-01-preview", - "2022-10-01-preview" + "2022-10-01-preview", + "2023-02-01-preview" ], "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions": [ "2021-01-01-preview", @@ -11802,7 +11898,8 @@ "2022-02-01-preview", "2022-06-01-preview", "2022-08-01-preview", - "2022-10-01-preview" + "2022-10-01-preview", + "2023-02-01-preview" ], "Microsoft.ServiceFabric/managedclusters/applications": [ "2021-01-01-preview", @@ -11813,7 +11910,8 @@ "2022-02-01-preview", "2022-06-01-preview", "2022-08-01-preview", - "2022-10-01-preview" + "2022-10-01-preview", + "2023-02-01-preview" ], "Microsoft.ServiceFabric/managedclusters/applications/services": [ "2021-01-01-preview", @@ -11824,7 +11922,8 @@ "2022-02-01-preview", "2022-06-01-preview", "2022-08-01-preview", - "2022-10-01-preview" + "2022-10-01-preview", + "2023-02-01-preview" ], "Microsoft.ServiceFabricMesh/applications": [ "2018-07-01-preview", @@ -13884,7 +13983,11 @@ "2019-05-01-preview", "2020-02-14", "2021-10-01", - "2022-02-14" + "2022-02-14", + "2022-07-01" + ], + "Microsoft.VirtualMachineImages/imageTemplates/triggers": [ + "2022-07-01" ], "Microsoft.Web/certificates": [ "2015-08-01", @@ -14968,7 +15071,8 @@ "microsoft.insights/activityLogAlerts": [ "2017-03-01-preview", "2017-04-01", - "2020-10-01" + "2020-10-01", + "2023-01-01-preview" ], "microsoft.insights/components/analyticsItems": [ "2015-05-01" diff --git a/schemas/2018-06-01/Microsoft.DataFactory.json b/schemas/2018-06-01/Microsoft.DataFactory.json index 367b0075d5..605463564b 100644 --- a/schemas/2018-06-01/Microsoft.DataFactory.json +++ b/schemas/2018-06-01/Microsoft.DataFactory.json @@ -17485,6 +17485,20 @@ ], "description": "Core count of the cluster which will execute data flow job. Supported values are: 8, 16, 32, 48, 80, 144 and 272." }, + "customProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationRuntimeDataFlowPropertiesCustomPropertiesItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom properties are used to tune the data flow runtime performance." + }, "timeToLive": { "oneOf": [ { @@ -17500,6 +17514,19 @@ }, "description": "Data flow properties for managed integration runtime." }, + "IntegrationRuntimeDataFlowPropertiesCustomPropertiesItem": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of custom property." + }, + "value": { + "type": "string", + "description": "Value of custom property." + } + } + }, "IntegrationRuntimeDataProxyProperties": { "type": "object", "properties": { diff --git a/schemas/2019-08-01/tenantDeploymentTemplate.json b/schemas/2019-08-01/tenantDeploymentTemplate.json index 596b5a243d..e5f255cae6 100644 --- a/schemas/2019-08-01/tenantDeploymentTemplate.json +++ b/schemas/2019-08-01/tenantDeploymentTemplate.json @@ -862,6 +862,21 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-09-01/Microsoft.Marketplace.json#/tenant_resourceDefinitions/privateStores_requestApprovals" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Marketplace.json#/tenant_resourceDefinitions/privateStores" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Marketplace.json#/tenant_resourceDefinitions/privateStores_adminRequestApprovals" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Marketplace.json#/tenant_resourceDefinitions/privateStores_collections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Marketplace.json#/tenant_resourceDefinitions/privateStores_collections_offers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Marketplace.json#/tenant_resourceDefinitions/privateStores_requestApprovals" + }, { "$ref": "https://schema.management.azure.com/schemas/2021-05-01-preview/Microsoft.Network.NRP.json#/tenant_resourceDefinitions/managementGroups_networkManagerConnections" }, diff --git a/schemas/2021-06-01/Microsoft.ServiceFabric.json b/schemas/2021-06-01/Microsoft.ServiceFabric.json index dbdfcd604c..b0e2b0071c 100644 --- a/schemas/2021-06-01/Microsoft.ServiceFabric.json +++ b/schemas/2021-06-01/Microsoft.ServiceFabric.json @@ -1138,7 +1138,7 @@ }, "clusterCodeVersion": { "type": "string", - "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**." + "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](https://learn.microsoft.com/rest/api/servicefabric/cluster-versions/list). To get the list of available version for existing clusters use **availableClusterVersions**." }, "diagnosticsStorageAccountConfig": { "oneOf": [ diff --git a/schemas/2022-02-14/Microsoft.VirtualMachineImages.json b/schemas/2022-02-14/Microsoft.VirtualMachineImages.json index 43c87237fc..8f7cb3e1c6 100644 --- a/schemas/2022-02-14/Microsoft.VirtualMachineImages.json +++ b/schemas/2022-02-14/Microsoft.VirtualMachineImages.json @@ -85,10 +85,6 @@ } }, "definitions": { - "Componentsvrq145schemasimagetemplateidentitypropertiesuserassignedidentitiesadditionalproperties": { - "type": "object", - "properties": {} - }, "ImageTemplateCustomizer": { "type": "object", "oneOf": [ @@ -214,7 +210,7 @@ { "type": "object", "additionalProperties": { - "$ref": "#/definitions/Componentsvrq145schemasimagetemplateidentitypropertiesuserassignedidentitiesadditionalproperties" + "$ref": "#/definitions/UserAssignedIdentity" }, "properties": {} }, @@ -222,7 +218,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of user identities associated with the image template. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." } }, "description": "Identity for the image template." @@ -950,6 +946,11 @@ ], "description": "Purchase plan configuration for platform image." }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + }, "VirtualNetworkConfig": { "type": "object", "properties": { diff --git a/schemas/2022-07-01/Microsoft.VirtualMachineImages.json b/schemas/2022-07-01/Microsoft.VirtualMachineImages.json new file mode 100644 index 0000000000..ef743d0c8f --- /dev/null +++ b/schemas/2022-07-01/Microsoft.VirtualMachineImages.json @@ -0,0 +1,1307 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-07-01/Microsoft.VirtualMachineImages.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.VirtualMachineImages", + "description": "Microsoft VirtualMachineImages Resource Types", + "resourceDefinitions": { + "imageTemplates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-07-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ImageTemplateIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the image template." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-_.]{1,64}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the image Template" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImageTemplateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of an image template" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/imageTemplates_triggers_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.VirtualMachineImages/imageTemplates" + ] + } + }, + "required": [ + "apiVersion", + "identity", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.VirtualMachineImages/imageTemplates" + }, + "imageTemplates_triggers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-07-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-_.]{1,64}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the trigger" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TriggerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a trigger" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.VirtualMachineImages/imageTemplates/triggers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.VirtualMachineImages/imageTemplates/triggers" + } + }, + "definitions": { + "DistributeVersioner": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/DistributeVersionerLatest" + }, + { + "$ref": "#/definitions/DistributeVersionerSource" + } + ], + "properties": {}, + "description": "Describes how to generate new x.y.z version number for distribution." + }, + "DistributeVersionerLatest": { + "type": "object", + "properties": { + "major": { + "oneOf": [ + { + "type": "integer", + "minimum": -1, + "default": "-1" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Major version for the generated version number. Determine what is \"latest\" based on versions with this value as the major version. -1 is equivalent to leaving it unset." + }, + "scheme": { + "type": "string", + "enum": [ + "Latest" + ] + } + }, + "required": [ + "scheme" + ], + "description": "Generates version number that will be latest based on existing version numbers." + }, + "DistributeVersionerSource": { + "type": "object", + "properties": { + "scheme": { + "type": "string", + "enum": [ + "Source" + ] + } + }, + "required": [ + "scheme" + ], + "description": "Generates version number based on version number of source image" + }, + "ImageTemplateCustomizer": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ImageTemplateShellCustomizer" + }, + { + "$ref": "#/definitions/ImageTemplateRestartCustomizer" + }, + { + "$ref": "#/definitions/ImageTemplateWindowsUpdateCustomizer" + }, + { + "$ref": "#/definitions/ImageTemplatePowerShellCustomizer" + }, + { + "$ref": "#/definitions/ImageTemplateFileCustomizer" + } + ], + "properties": { + "name": { + "type": "string", + "description": "Friendly Name to provide context on what this customization step does" + } + }, + "description": "Describes a unit of image customization" + }, + "ImageTemplateDistributor": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ImageTemplateManagedImageDistributor" + }, + { + "$ref": "#/definitions/ImageTemplateSharedImageDistributor" + }, + { + "$ref": "#/definitions/ImageTemplateVhdDistributor" + } + ], + "properties": { + "artifactTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags that will be applied to the artifact once it has been created/updated by the distributor." + }, + "runOutputName": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-_.]{1,64}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name to be used for the associated RunOutput." + } + }, + "required": [ + "runOutputName" + ], + "description": "Generic distribution object" + }, + "ImageTemplateFileCustomizer": { + "type": "object", + "properties": { + "destination": { + "type": "string", + "description": "The absolute path to a file (with nested directory structures already created) where the file (from sourceUri) will be uploaded to in the VM" + }, + "sha256Checksum": { + "type": "string", + "default": "", + "description": "SHA256 checksum of the file provided in the sourceUri field above" + }, + "sourceUri": { + "type": "string", + "description": "The URI of the file to be uploaded for customizing the VM. It can be a github link, SAS URI for Azure Storage, etc" + }, + "type": { + "type": "string", + "enum": [ + "File" + ] + } + }, + "required": [ + "type" + ], + "description": "Uploads files to VMs (Linux, Windows). Corresponds to Packer file provisioner" + }, + "ImageTemplateFileValidator": { + "type": "object", + "properties": { + "destination": { + "type": "string", + "description": "The absolute path to a file (with nested directory structures already created) where the file (from sourceUri) will be uploaded to in the VM" + }, + "sha256Checksum": { + "type": "string", + "default": "", + "description": "SHA256 checksum of the file provided in the sourceUri field above" + }, + "sourceUri": { + "type": "string", + "description": "The URI of the file to be uploaded to the VM for validation. It can be a github link, Azure Storage URI (authorized or SAS), etc" + }, + "type": { + "type": "string", + "enum": [ + "File" + ] + } + }, + "required": [ + "type" + ], + "description": "Uploads files required for validation to VMs (Linux, Windows). Corresponds to Packer file provisioner" + }, + "ImageTemplateIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the image template. The type 'None' will remove any identities from the image template." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "description": "Identity for the image template." + }, + "ImageTemplateInVMValidator": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ImageTemplateShellValidator" + }, + { + "$ref": "#/definitions/ImageTemplatePowerShellValidator" + }, + { + "$ref": "#/definitions/ImageTemplateFileValidator" + } + ], + "properties": { + "name": { + "type": "string", + "description": "Friendly Name to provide context on what this validation step does" + } + }, + "description": "Describes a unit of in-VM validation of image" + }, + "ImageTemplateManagedImageDistributor": { + "type": "object", + "properties": { + "imageId": { + "type": "string", + "description": "Resource Id of the Managed Disk Image" + }, + "location": { + "type": "string", + "description": "Azure location for the image, should match if image already exists" + }, + "type": { + "type": "string", + "enum": [ + "ManagedImage" + ] + } + }, + "required": [ + "imageId", + "location", + "type" + ], + "description": "Distribute as a Managed Disk Image." + }, + "ImageTemplateManagedImageSource": { + "type": "object", + "properties": { + "imageId": { + "type": "string", + "description": "ARM resource id of the managed image in customer subscription" + }, + "type": { + "type": "string", + "enum": [ + "ManagedImage" + ] + } + }, + "required": [ + "imageId", + "type" + ], + "description": "Describes an image source that is a managed image in customer subscription. This image must reside in the same subscription and region as the Image Builder template." + }, + "ImageTemplatePlatformImageSource": { + "type": "object", + "properties": { + "offer": { + "type": "string", + "description": "Image offer from the [Azure Gallery Images](https://docs.microsoft.com/en-us/rest/api/compute/virtualmachineimages)." + }, + "planInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PlatformImagePurchasePlan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Purchase plan configuration for platform image." + }, + "publisher": { + "type": "string", + "description": "Image Publisher in [Azure Gallery Images](https://docs.microsoft.com/en-us/rest/api/compute/virtualmachineimages)." + }, + "sku": { + "type": "string", + "description": "Image sku from the [Azure Gallery Images](https://docs.microsoft.com/en-us/rest/api/compute/virtualmachineimages)." + }, + "type": { + "type": "string", + "enum": [ + "PlatformImage" + ] + }, + "version": { + "type": "string", + "description": "Image version from the [Azure Gallery Images](https://docs.microsoft.com/en-us/rest/api/compute/virtualmachineimages). If 'latest' is specified here, the version is evaluated when the image build takes place, not when the template is submitted." + } + }, + "required": [ + "type" + ], + "description": "Describes an image source from [Azure Gallery Images](https://docs.microsoft.com/en-us/rest/api/compute/virtualmachineimages)." + }, + "ImageTemplatePowerShellCustomizer": { + "type": "object", + "properties": { + "inline": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of PowerShell commands to execute" + }, + "runAsSystem": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If specified, the PowerShell script will be run with elevated privileges using the Local System user. Can only be true when the runElevated field above is set to true." + }, + "runElevated": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If specified, the PowerShell script will be run with elevated privileges" + }, + "scriptUri": { + "type": "string", + "description": "URI of the PowerShell script to be run for customizing. It can be a github link, SAS URI for Azure Storage, etc" + }, + "sha256Checksum": { + "type": "string", + "default": "", + "description": "SHA256 checksum of the power shell script provided in the scriptUri field above" + }, + "type": { + "type": "string", + "enum": [ + "PowerShell" + ] + }, + "validExitCodes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Valid exit codes for the PowerShell script. [Default: 0]" + } + }, + "required": [ + "type" + ], + "description": "Runs the specified PowerShell on the VM (Windows). Corresponds to Packer powershell provisioner. Exactly one of 'scriptUri' or 'inline' can be specified." + }, + "ImageTemplatePowerShellValidator": { + "type": "object", + "properties": { + "inline": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of PowerShell commands to execute" + }, + "runAsSystem": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If specified, the PowerShell script will be run with elevated privileges using the Local System user. Can only be true when the runElevated field above is set to true." + }, + "runElevated": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If specified, the PowerShell script will be run with elevated privileges" + }, + "scriptUri": { + "type": "string", + "description": "URI of the PowerShell script to be run for validation. It can be a github link, Azure Storage URI, etc" + }, + "sha256Checksum": { + "type": "string", + "default": "", + "description": "SHA256 checksum of the power shell script provided in the scriptUri field above" + }, + "type": { + "type": "string", + "enum": [ + "PowerShell" + ] + }, + "validExitCodes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Valid exit codes for the PowerShell script. [Default: 0]" + } + }, + "required": [ + "type" + ], + "description": "Runs the specified PowerShell script during the validation phase (Windows). Corresponds to Packer powershell provisioner. Exactly one of 'scriptUri' or 'inline' can be specified." + }, + "ImageTemplateProperties": { + "type": "object", + "properties": { + "buildTimeoutInMinutes": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 960, + "default": "0" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum duration to wait while building the image template (includes all customizations, optimization, validations, and distributions). Omit or specify 0 to use the default (4 hours)." + }, + "customize": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTemplateCustomizer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the properties used to describe the customization steps of the image, like Image source etc" + }, + "distribute": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTemplateDistributor" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The distribution targets where the image output needs to go to." + }, + "optimize": { + "oneOf": [ + { + "$ref": "#/definitions/ImageTemplatePropertiesOptimize" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies optimization to be performed on image." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/ImageTemplateSource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a virtual machine image source for building, customizing and distributing" + }, + "stagingResourceGroup": { + "type": "string", + "description": "The staging resource group id in the same subscription as the image template that will be used to build the image. If this field is empty, a resource group with a random name will be created. If the resource group specified in this field doesn't exist, it will be created with the same name. If the resource group specified exists, it must be empty and in the same region as the image template. The resource group created will be deleted during template deletion if this field is empty or the resource group specified doesn't exist, but if the resource group specified exists the resources created in the resource group will be deleted during template deletion and the resource group itself will remain." + }, + "validate": { + "oneOf": [ + { + "$ref": "#/definitions/ImageTemplatePropertiesValidate" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration options and list of validations to be performed on the resulting image." + }, + "vmProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ImageTemplateVmProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the virtual machines used to build and validate images" + } + }, + "required": [ + "distribute", + "source" + ], + "description": "Describes the properties of an image template" + }, + "ImageTemplatePropertiesOptimize": { + "type": "object", + "properties": { + "vmBoot": { + "oneOf": [ + { + "$ref": "#/definitions/ImageTemplatePropertiesOptimizeVmBoot" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optimization is applied on the image for a faster VM boot." + } + }, + "description": "Specifies optimization to be performed on image." + }, + "ImageTemplatePropertiesOptimizeVmBoot": { + "type": "object", + "properties": { + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enabling this field will improve VM boot time by optimizing the final customized image output." + } + }, + "description": "Optimization is applied on the image for a faster VM boot." + }, + "ImageTemplatePropertiesValidate": { + "type": "object", + "properties": { + "continueDistributeOnFailure": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If validation fails and this field is set to false, output image(s) will not be distributed. This is the default behavior. If validation fails and this field is set to true, output image(s) will still be distributed. Please use this option with caution as it may result in bad images being distributed for use. In either case (true or false), the end to end image run will be reported as having failed in case of a validation failure. [Note: This field has no effect if validation succeeds.]" + }, + "inVMValidations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTemplateInVMValidator" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of validations to be performed." + }, + "sourceValidationOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If this field is set to true, the image specified in the 'source' section will directly be validated. No separate build will be run to generate and then validate a customized image." + } + }, + "description": "Configuration options and list of validations to be performed on the resulting image." + }, + "ImageTemplateRestartCustomizer": { + "type": "object", + "properties": { + "restartCheckCommand": { + "type": "string", + "description": "Command to check if restart succeeded [Default: '']" + }, + "restartCommand": { + "type": "string", + "description": "Command to execute the restart [Default: 'shutdown /r /f /t 0 /c \"packer restart\"']" + }, + "restartTimeout": { + "type": "string", + "description": "Restart timeout specified as a string of magnitude and unit, e.g. '5m' (5 minutes) or '2h' (2 hours) [Default: '5m']" + }, + "type": { + "type": "string", + "enum": [ + "WindowsRestart" + ] + } + }, + "required": [ + "type" + ], + "description": "Reboots a VM and waits for it to come back online (Windows). Corresponds to Packer windows-restart provisioner" + }, + "ImageTemplateSharedImageDistributor": { + "type": "object", + "properties": { + "excludeFromLatest": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag that indicates whether created image version should be excluded from latest. Omit to use the default (false)." + }, + "galleryImageId": { + "type": "string", + "description": "Resource Id of the Azure Compute Gallery image" + }, + "replicationRegions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "[Deprecated] A list of regions that the image will be replicated to. This list can be specified only if targetRegions is not specified. This field is deprecated - use targetRegions instead." + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "[Deprecated] Storage account type to be used to store the shared image. Omit to use the default (Standard_LRS). This field can be specified only if replicationRegions is specified. This field is deprecated - use targetRegions instead." + }, + "targetRegions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TargetRegion" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The target regions where the distributed Image Version is going to be replicated to. This object supersedes replicationRegions and can be specified only if replicationRegions is not specified." + }, + "type": { + "type": "string", + "enum": [ + "SharedImage" + ] + }, + "versioning": { + "oneOf": [ + { + "$ref": "#/definitions/DistributeVersioner" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes how to generate new x.y.z version number for distribution." + } + }, + "required": [ + "galleryImageId", + "type" + ], + "description": "Distribute via Azure Compute Gallery." + }, + "ImageTemplateSharedImageVersionSource": { + "type": "object", + "properties": { + "imageVersionId": { + "type": "string", + "description": "ARM resource id of the image version. When image version name is 'latest', the version is evaluated when the image build takes place." + }, + "type": { + "type": "string", + "enum": [ + "SharedImageVersion" + ] + } + }, + "required": [ + "imageVersionId", + "type" + ], + "description": "Describes an image source that is an image version in an Azure Compute Gallery or a Direct Shared Gallery." + }, + "ImageTemplateShellCustomizer": { + "type": "object", + "properties": { + "inline": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of shell commands to execute" + }, + "scriptUri": { + "type": "string", + "description": "URI of the shell script to be run for customizing. It can be a github link, SAS URI for Azure Storage, etc" + }, + "sha256Checksum": { + "type": "string", + "default": "", + "description": "SHA256 checksum of the shell script provided in the scriptUri field" + }, + "type": { + "type": "string", + "enum": [ + "Shell" + ] + } + }, + "required": [ + "type" + ], + "description": "Runs a shell script during the customization phase (Linux). Corresponds to Packer shell provisioner. Exactly one of 'scriptUri' or 'inline' can be specified." + }, + "ImageTemplateShellValidator": { + "type": "object", + "properties": { + "inline": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of shell commands to execute" + }, + "scriptUri": { + "type": "string", + "description": "URI of the shell script to be run for validation. It can be a github link, Azure Storage URI, etc" + }, + "sha256Checksum": { + "type": "string", + "default": "", + "description": "SHA256 checksum of the shell script provided in the scriptUri field" + }, + "type": { + "type": "string", + "enum": [ + "Shell" + ] + } + }, + "required": [ + "type" + ], + "description": "Runs the specified shell script during the validation phase (Linux). Corresponds to Packer shell provisioner. Exactly one of 'scriptUri' or 'inline' can be specified." + }, + "ImageTemplateSource": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ImageTemplatePlatformImageSource" + }, + { + "$ref": "#/definitions/ImageTemplateManagedImageSource" + }, + { + "$ref": "#/definitions/ImageTemplateSharedImageVersionSource" + } + ], + "properties": {}, + "description": "Describes a virtual machine image source for building, customizing and distributing" + }, + "imageTemplates_triggers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-07-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-_.]{1,64}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the trigger" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TriggerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a trigger" + }, + "type": { + "type": "string", + "enum": [ + "triggers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.VirtualMachineImages/imageTemplates/triggers" + }, + "ImageTemplateVhdDistributor": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "VHD" + ] + }, + "uri": { + "type": "string", + "description": "Optional Azure Storage URI for the distributed VHD blob. Omit to use the default (empty string) in which case VHD would be published to the storage account in the staging resource group." + } + }, + "required": [ + "type" + ], + "description": "Distribute via VHD in a storage account." + }, + "ImageTemplateVmProfile": { + "type": "object", + "properties": { + "osDiskSizeGB": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "default": "0" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Size of the OS disk in GB. Omit or specify 0 to use Azure's default OS disk size." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional array of resource IDs of user assigned managed identities to be configured on the build VM and validation VM. This may include the identity of the image template." + }, + "vmSize": { + "type": "string", + "default": "", + "description": "Size of the virtual machine used to build, customize and capture images. Omit or specify empty string to use the default (Standard_D1_v2 for Gen1 images and Standard_D2ds_v4 for Gen2 images)." + }, + "vnetConfig": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Virtual Network configuration." + } + }, + "description": "Describes the virtual machines used to build and validate images" + }, + "ImageTemplateWindowsUpdateCustomizer": { + "type": "object", + "properties": { + "filters": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of filters to select updates to apply. Omit or specify empty array to use the default (no filter). Refer to above link for examples and detailed description of this field." + }, + "searchCriteria": { + "type": "string", + "description": "Criteria to search updates. Omit or specify empty string to use the default (search all). Refer to above link for examples and detailed description of this field." + }, + "type": { + "type": "string", + "enum": [ + "WindowsUpdate" + ] + }, + "updateLimit": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "default": "0" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum number of updates to apply at a time. Omit or specify 0 to use the default (1000)" + } + }, + "required": [ + "type" + ], + "description": "Installs Windows Updates. Corresponds to Packer Windows Update Provisioner (https://github.com/rgl/packer-provisioner-windows-update)" + }, + "PlatformImagePurchasePlan": { + "type": "object", + "properties": { + "planName": { + "type": "string", + "description": "Name of the purchase plan." + }, + "planProduct": { + "type": "string", + "description": "Product of the purchase plan." + }, + "planPublisher": { + "type": "string", + "description": "Publisher of the purchase plan." + } + }, + "required": [ + "planName", + "planProduct", + "planPublisher" + ], + "description": "Purchase plan configuration for platform image." + }, + "SourceImageTriggerProperties": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "SourceImage" + ] + } + }, + "required": [ + "kind" + ], + "description": "Properties of SourceImage kind of trigger" + }, + "TargetRegion": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the region." + }, + "replicaCount": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "default": "1" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of replicas of the Image Version to be created in this region. Omit to use the default (1)." + }, + "storageAccountType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage account type to be used to store the image in this region. Omit to use the default (Standard_LRS)." + } + }, + "required": [ + "name" + ], + "description": "Describes the target region information." + }, + "TriggerProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SourceImageTriggerProperties" + } + ], + "properties": {}, + "description": "Describes the properties of a trigger" + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + }, + "VirtualNetworkConfig": { + "type": "object", + "properties": { + "proxyVmSize": { + "type": "string", + "default": "", + "description": "Size of the proxy virtual machine used to pass traffic to the build VM and validation VM. Omit or specify empty string to use the default (Standard_A1_v2)." + }, + "subnetId": { + "type": "string", + "description": "Resource id of a pre-existing subnet." + } + }, + "description": "Virtual Network configuration." + } + } +} \ No newline at end of file diff --git a/schemas/2022-08-01-preview/Microsoft.Sql.json b/schemas/2022-08-01-preview/Microsoft.Sql.json index 714878fd8b..ff0ad785a0 100644 --- a/schemas/2022-08-01-preview/Microsoft.Sql.json +++ b/schemas/2022-08-01-preview/Microsoft.Sql.json @@ -860,7 +860,7 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/DatabaseVulnerabilityAssessmentProperties" + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentPropertiesModel" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1253,7 +1253,7 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/SecurityAlertsPolicyProperties" + "$ref": "#/definitions/SecurityAlertsPolicyPropertiesModel" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -4602,6 +4602,7 @@ }, "elasticPoolId": { "type": "string", + "format": "arm-id", "description": "The resource identifier of the elastic pool containing this database." }, "encryptionProtector": { @@ -4674,6 +4675,7 @@ }, "longTermRetentionBackupResourceId": { "type": "string", + "format": "arm-id", "description": "The resource identifier of the long term retention backup associated with create operation of this database." }, "maintenanceConfigurationId": { @@ -4756,10 +4758,12 @@ }, "recoverableDatabaseId": { "type": "string", + "format": "arm-id", "description": "The resource identifier of the recoverable database associated with create operation of this database." }, "recoveryServicesRecoveryPointId": { "type": "string", + "format": "arm-id", "description": "The resource identifier of the recovery point associated with create operation of this database." }, "requestedBackupStorageRedundancy": { @@ -4781,6 +4785,7 @@ }, "restorableDroppedDatabaseId": { "type": "string", + "format": "arm-id", "description": "The resource identifier of the restorable dropped database associated with create operation of this database." }, "restorePointInTime": { @@ -4827,10 +4832,12 @@ }, "sourceDatabaseId": { "type": "string", + "format": "arm-id", "description": "The resource identifier of the source database associated with create operation of this database." }, "sourceResourceId": { "type": "string", + "format": "arm-id", "description": "The resource identifier of the source associated with the create operation of this database.\r\n\r\nThis property is only supported for DataWarehouse edition and allows to restore across subscriptions.\r\n\r\nWhen sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.\r\n\r\nWhen createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql pool, and restorePointInTime must be specified.\r\n\r\nWhen createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool.\r\n\r\nWhen createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.\r\n\r\nWhen source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant " }, "zoneRedundant": { @@ -4961,6 +4968,35 @@ }, "description": "Properties of a database Vulnerability Assessment." }, + "DatabaseVulnerabilityAssessmentPropertiesModel": { + "type": "object", + "properties": { + "recurringScans": { + "oneOf": [ + { + "$ref": "#/definitions/VulnerabilityAssessmentRecurringScansProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a Vulnerability Assessment recurring scans." + }, + "storageAccountAccessKey": { + "type": "string", + "description": "Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet or a firewall" + }, + "storageContainerPath": { + "type": "string", + "description": "A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy doesn't set" + }, + "storageContainerSasKey": { + "type": "string", + "description": "A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not behind a Vnet or a firewall" + } + }, + "description": "Properties of a database Vulnerability Assessment." + }, "DatabaseVulnerabilityAssessmentRuleBaselineItem": { "type": "object", "properties": { @@ -5931,6 +5967,7 @@ "properties": { "databaseId": { "type": "string", + "format": "arm-id", "description": "Resource ID of the database to store job metadata in." } }, @@ -6478,10 +6515,12 @@ }, "crossSubscriptionRestorableDroppedDatabaseId": { "type": "string", + "format": "arm-id", "description": "The restorable cross-subscription dropped database resource id to restore when creating this database." }, "crossSubscriptionSourceDatabaseId": { "type": "string", + "format": "arm-id", "description": "The resource identifier of the cross-subscription source database associated with create operation of this database." }, "crossSubscriptionTargetManagedInstanceId": { @@ -6505,14 +6544,17 @@ }, "longTermRetentionBackupResourceId": { "type": "string", + "format": "arm-id", "description": "The name of the Long Term Retention backup to be used for restore of this managed database." }, "recoverableDatabaseId": { "type": "string", + "format": "arm-id", "description": "The resource identifier of the recoverable database associated with create operation of this database." }, "restorableDroppedDatabaseId": { "type": "string", + "format": "arm-id", "description": "The restorable dropped database resource id to restore when creating this database." }, "restorePointInTime": { @@ -6522,6 +6564,7 @@ }, "sourceDatabaseId": { "type": "string", + "format": "arm-id", "description": "The resource identifier of the source database associated with create operation of this database." }, "storageContainerIdentity": { @@ -6983,6 +7026,7 @@ }, "dnsZonePartner": { "type": "string", + "format": "arm-id", "description": "The resource id of another managed instance whose DNS zone this managed instance will share after creation." }, "instancePoolId": { @@ -7033,6 +7077,7 @@ }, "primaryUserAssignedIdentityId": { "type": "string", + "format": "arm-id", "description": "The resource id of a user assigned identity to be used by default." }, "proxyOverride": { @@ -7097,6 +7142,7 @@ }, "sourceManagedInstanceId": { "type": "string", + "format": "arm-id", "description": "The resource identifier of the source managed instance associated with create operation of this instance." }, "storageSizeInGB": { @@ -7112,6 +7158,7 @@ }, "subnetId": { "type": "string", + "format": "arm-id", "description": "Subnet resource ID for the managed instance." }, "timezoneId": { @@ -7598,7 +7645,7 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/DatabaseVulnerabilityAssessmentProperties" + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentPropertiesModel" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -7879,7 +7926,7 @@ "properties": { "oneOf": [ { - "$ref": "#/definitions/SecurityAlertsPolicyProperties" + "$ref": "#/definitions/SecurityAlertsPolicyPropertiesModel" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -8179,10 +8226,12 @@ "properties": { "sqlServerResourceId": { "type": "string", + "format": "arm-id", "description": "The resource id for the SQL server which is the target of this request. If set, private endpoint connection will be created for the SQL server. Must match server which is target of the operation." }, "storageAccountResourceId": { "type": "string", + "format": "arm-id", "description": "The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for StorageUri parameter." } }, @@ -8193,6 +8242,7 @@ "properties": { "id": { "type": "string", + "format": "arm-id", "description": "Resource identifier of the partner server." } }, @@ -8539,6 +8589,88 @@ ], "description": "Properties of a security alert policy." }, + "SecurityAlertsPolicyPropertiesModel": { + "type": "object", + "properties": { + "disabledAlerts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force" + }, + "emailAccountAdmins": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies that the alert is sent to the account administrators." + }, + "emailAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of e-mail addresses to which the alert is sent." + }, + "retentionDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the number of days to keep in the Threat Detection audit logs." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database." + }, + "storageAccountAccessKey": { + "type": "string", + "description": "Specifies the identifier key of the Threat Detection audit storage account." + }, + "storageEndpoint": { + "type": "string", + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs." + } + }, + "required": [ + "state" + ], + "description": "Properties of a security alert policy." + }, "SensitivityLabelProperties": { "type": "object", "properties": { @@ -8983,10 +9115,11 @@ }, "minimalTlsVersion": { "type": "string", - "description": "Minimal TLS version. Allowed values: '1.0', '1.1', '1.2'" + "description": "Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'" }, "primaryUserAssignedIdentityId": { "type": "string", + "format": "arm-id", "description": "The resource id of a user assigned identity to be used by default." }, "publicNetworkAccess": { @@ -11328,6 +11461,7 @@ "properties": { "syncDatabaseId": { "type": "string", + "format": "arm-id", "description": "ARM resource id of the sync database in the sync agent." } }, @@ -11405,6 +11539,7 @@ }, "syncDatabaseId": { "type": "string", + "format": "arm-id", "description": "ARM resource id of the sync database in the sync group." }, "usePrivateLinkConnection": { @@ -11531,6 +11666,7 @@ }, "syncAgentId": { "type": "string", + "format": "arm-id", "description": "ARM resource id of the sync agent in the sync member." }, "syncDirection": { @@ -11551,6 +11687,7 @@ }, "syncMemberAzureDatabaseResourceId": { "type": "string", + "format": "arm-id", "description": "ARM resource id of the sync member logical database, for sync members in Azure." }, "usePrivateLinkConnection": { @@ -11616,6 +11753,7 @@ }, "virtualNetworkSubnetId": { "type": "string", + "format": "arm-id", "description": "The ARM resource id of the virtual network subnet." } }, diff --git a/schemas/2022-09-01/Microsoft.Network.NRP.json b/schemas/2022-09-01/Microsoft.Network.NRP.json index 0de9a16867..4644541a1f 100644 --- a/schemas/2022-09-01/Microsoft.Network.NRP.json +++ b/schemas/2022-09-01/Microsoft.Network.NRP.json @@ -21023,6 +21023,7 @@ "required": [ "access", "direction", + "priority", "protocol" ], "description": "Security rule resource." @@ -21389,7 +21390,7 @@ ], "description": "List of address prefixes for the subnet." }, - "applicationGatewayIpConfigurations": { + "applicationGatewayIPConfigurations": { "oneOf": [ { "type": "array", diff --git a/schemas/2022-09-22-preview/Microsoft.GraphServices.json b/schemas/2022-09-22-preview/Microsoft.GraphServices.json index 14ab412a08..5a082dfb78 100644 --- a/schemas/2022-09-22-preview/Microsoft.GraphServices.json +++ b/schemas/2022-09-22-preview/Microsoft.GraphServices.json @@ -67,7 +67,7 @@ "AccountResourceProperties": { "type": "object", "properties": { - "applicationId": { + "appId": { "oneOf": [ { "type": "string", @@ -81,7 +81,7 @@ } }, "required": [ - "applicationId" + "appId" ], "description": "Property bag from billing account" } diff --git a/schemas/2022-10-01/Microsoft.MachineLearningServices.json b/schemas/2022-10-01/Microsoft.MachineLearningServices.json index 47364381d0..feb5077da6 100644 --- a/schemas/2022-10-01/Microsoft.MachineLearningServices.json +++ b/schemas/2022-10-01/Microsoft.MachineLearningServices.json @@ -5752,10 +5752,10 @@ "type": "object", "oneOf": [ { - "$ref": "#/definitions/RecurrenceTrigger" + "$ref": "#/definitions/CronTrigger" }, { - "$ref": "#/definitions/CronTrigger" + "$ref": "#/definitions/RecurrenceTrigger" } ], "properties": { diff --git a/schemas/2022-11-15-preview/Microsoft.Devices.json b/schemas/2022-11-15-preview/Microsoft.Devices.json new file mode 100644 index 0000000000..d651d08d35 --- /dev/null +++ b/schemas/2022-11-15-preview/Microsoft.Devices.json @@ -0,0 +1,1970 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-11-15-preview/Microsoft.Devices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Devices", + "description": "Microsoft Devices Resource Types", + "resourceDefinitions": { + "IotHubs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention." + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "location": { + "type": "string", + "description": "The resource location." + }, + "name": { + "type": "string", + "description": "The name of the IoT hub." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotHubProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an IoT hub." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/IotHubs_certificates_childResource" + }, + { + "$ref": "#/definitions/iotHubs_privateEndpointConnections_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/IotHubSkuInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information about the SKU of the IoT hub." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/IotHubs" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Devices/IotHubs" + }, + "IotHubs_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-15-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the certificate" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The description of an X509 CA Certificate." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/IotHubs/certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Devices/IotHubs/certificates" + }, + "IotHubs_eventHubEndpoints_ConsumerGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-15-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the consumer group to add." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubConsumerGroupName" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The EventHub consumer group name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/IotHubs/eventHubEndpoints/ConsumerGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Devices/IotHubs/eventHubEndpoints/ConsumerGroups" + }, + "iotHubs_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-15-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/iotHubs/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Devices/iotHubs/privateEndpointConnections" + } + }, + "definitions": { + "ArmIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ArmUserIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "ArmUserIdentity": { + "type": "object", + "properties": {} + }, + "CertificateProperties": { + "type": "object", + "properties": { + "certificate": { + "type": "string", + "description": "The certificate content" + }, + "isVerified": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether certificate has been verified." + } + }, + "description": "The description of an X509 CA Certificate." + }, + "CloudToDeviceProperties": { + "type": "object", + "properties": { + "defaultTtlAsIso8601": { + "type": "string", + "format": "duration", + "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." + }, + "feedback": { + "oneOf": [ + { + "$ref": "#/definitions/FeedbackProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the feedback queue for cloud-to-device messages." + }, + "maxDeliveryCount": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." + } + }, + "description": "The IoT hub cloud-to-device messaging properties." + }, + "EncryptionPropertiesDescription": { + "type": "object", + "properties": { + "keySource": { + "type": "string", + "description": "The source of the key." + }, + "keyVaultProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/KeyVaultKeyProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the KeyVault key." + } + }, + "description": "The encryption properties for the IoT hub." + }, + "EnrichmentProperties": { + "type": "object", + "properties": { + "endpointNames": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of endpoints for which the enrichment is applied to the message." + }, + "key": { + "type": "string", + "description": "The key or name for the enrichment property." + }, + "value": { + "type": "string", + "description": "The value for the enrichment property." + } + }, + "required": [ + "endpointNames", + "key", + "value" + ], + "description": "The properties of an enrichment that your IoT hub applies to messages delivered to endpoints." + }, + "EventHubConsumerGroupName": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "EventHub consumer group name" + } + }, + "required": [ + "name" + ], + "description": "The EventHub consumer group name." + }, + "EventHubProperties": { + "type": "object", + "properties": { + "partitionCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages." + }, + "retentionTimeInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages" + } + }, + "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub." + }, + "FallbackRouteProperties": { + "type": "object", + "properties": { + "condition": { + "type": "string", + "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language" + }, + "endpointNames": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed." + }, + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Used to specify whether the fallback route is enabled." + }, + "name": { + "type": "string", + "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique." + }, + "source": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "DeviceMessages", + "TwinChangeEvents", + "DeviceLifecycleEvents", + "DeviceJobLifecycleEvents", + "DigitalTwinChangeEvents", + "DeviceConnectionStateEvents", + "MqttBrokerMessages" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source to which the routing rule is to be applied to. For example, DeviceMessages." + } + }, + "required": [ + "endpointNames", + "isEnabled", + "source" + ], + "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint." + }, + "FeedbackProperties": { + "type": "object", + "properties": { + "lockDurationAsIso8601": { + "type": "string", + "format": "duration", + "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." + }, + "maxDeliveryCount": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." + }, + "ttlAsIso8601": { + "type": "string", + "format": "duration", + "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." + } + }, + "description": "The properties of the feedback queue for cloud-to-device messages." + }, + "IotHubProperties": { + "type": "object", + "properties": { + "allowedFqdnList": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of allowed FQDNs(Fully Qualified Domain Name) for egress from Iot Hub." + }, + "authorizationPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The shared access policies you can use to secure a connection to the IoT hub." + }, + "cloudToDevice": { + "oneOf": [ + { + "$ref": "#/definitions/CloudToDeviceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IoT hub cloud-to-device messaging properties." + }, + "comments": { + "type": "string", + "description": "IoT hub comments." + }, + "deviceStreams": { + "oneOf": [ + { + "$ref": "#/definitions/IotHubPropertiesDeviceStreams" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The device streams properties of iothub." + }, + "disableDeviceSAS": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If true, all device(including Edge devices but excluding modules) scoped SAS keys cannot be used for authentication." + }, + "disableLocalAuth": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If true, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication." + }, + "disableModuleSAS": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If true, all module scoped SAS keys cannot be used for authentication." + }, + "enableDataResidency": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property when set to true, will enable data residency, thus, disabling disaster recovery." + }, + "enableFileUploadNotifications": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If True, file upload notifications are enabled." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionPropertiesDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The encryption properties for the IoT hub." + }, + "eventHubEndpoints": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/EventHubProperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub." + }, + "features": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "DeviceManagement" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capabilities and features enabled for the IoT hub." + }, + "ipFilterRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP filter rules." + }, + "ipVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ipv4", + "ipv6", + "ipv4ipv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property specifies the IP Version the hub is currently utilizing." + }, + "messagingEndpoints": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MessagingEndpointProperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The messaging endpoint properties for the file upload notification queue." + }, + "minTlsVersion": { + "type": "string", + "description": "Specifies the minimum TLS version to support for this hub. Can be set to \"1.2\" to have clients that use a TLS version below 1.2 to be rejected." + }, + "networkRuleSets": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkRuleSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network Rule Set Properties of IotHub" + }, + "privateEndpointConnections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint connections created on this IotHub" + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether requests from Public Network are allowed." + }, + "restrictOutboundNetworkAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If true, egress from IotHub will be restricted to only the allowed FQDNs that are configured via allowedFqdnList." + }, + "rootCertificate": { + "oneOf": [ + { + "$ref": "#/definitions/RootCertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property store root certificate related information" + }, + "routing": { + "oneOf": [ + { + "$ref": "#/definitions/RoutingProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging" + }, + "storageEndpoints": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/StorageEndpointProperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown." + } + }, + "description": "The properties of an IoT hub." + }, + "IotHubPropertiesDeviceStreams": { + "type": "object", + "properties": { + "streamingEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Device Streams Endpoints." + } + }, + "description": "The device streams properties of iothub." + }, + "IotHubSkuInfo": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "F1", + "S1", + "S2", + "S3", + "B1", + "B2", + "B3" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the SKU." + } + }, + "required": [ + "name" + ], + "description": "Information about the SKU of the IoT hub." + }, + "IotHubs_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-15-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the certificate" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The description of an X509 CA Certificate." + }, + "type": { + "type": "string", + "enum": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Devices/IotHubs/certificates" + }, + "iotHubs_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-15-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection" + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Devices/iotHubs/privateEndpointConnections" + }, + "IpFilterRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Accept", + "Reject" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The desired action for requests captured by this rule." + }, + "filterName": { + "type": "string", + "description": "The name of the IP filter rule." + }, + "ipMask": { + "type": "string", + "description": "A string that contains the IP address range in CIDR notation for the rule." + } + }, + "required": [ + "action", + "filterName", + "ipMask" + ], + "description": "The IP filter rules for the IoT hub." + }, + "KeyVaultKeyProperties": { + "type": "object", + "properties": { + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the Managed identity." + }, + "keyIdentifier": { + "type": "string", + "description": "The identifier of the key." + } + }, + "description": "The properties of the KeyVault key." + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity." + } + }, + "description": "The properties of the Managed identity." + }, + "MessagingEndpointProperties": { + "type": "object", + "properties": { + "lockDurationAsIso8601": { + "type": "string", + "format": "duration", + "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload." + }, + "maxDeliveryCount": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload." + }, + "ttlAsIso8601": { + "type": "string", + "format": "duration", + "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload." + } + }, + "description": "The properties of the messaging endpoints used by this IoT hub." + }, + "NetworkRuleSetIpRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IP Filter Action." + }, + "filterName": { + "type": "string", + "description": "Name of the IP filter rule." + }, + "ipMask": { + "type": "string", + "description": "A string that contains the IP address range in CIDR notation for the rule." + } + }, + "required": [ + "filterName", + "ipMask" + ], + "description": "IP Rule to be applied as part of Network Rule Set" + }, + "NetworkRuleSetProperties": { + "type": "object", + "properties": { + "applyToBuiltInEventHubEndpoint": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub" + }, + "defaultAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Deny", + "Allow" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Default Action for Network Rule Set." + }, + "ipRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkRuleSetIpRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of IP Rules" + } + }, + "required": [ + "applyToBuiltInEventHubEndpoint", + "ipRules" + ], + "description": "Network Rule Set Properties of IotHub" + }, + "PrivateEndpoint": { + "type": "object", + "properties": {}, + "description": "The private endpoint property of a private endpoint connection" + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection" + } + }, + "required": [ + "properties" + ], + "description": "The private endpoint connection of an IotHub" + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private endpoint property of a private endpoint connection" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The current state of a private endpoint connection" + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "The properties of a private endpoint connection" + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "type": "string", + "description": "Actions required for a private endpoint connection" + }, + "description": { + "type": "string", + "description": "The description for the current state of a private endpoint connection" + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The status of a private endpoint connection." + } + }, + "required": [ + "description", + "status" + ], + "description": "The current state of a private endpoint connection" + }, + "RootCertificateProperties": { + "type": "object", + "properties": { + "enableRootCertificateV2": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property when set to true, hub will use G2 cert; while it's set to false, hub uses Baltimore Cert." + } + }, + "description": "This property store root certificate related information" + }, + "RouteProperties": { + "type": "object", + "properties": { + "condition": { + "type": "string", + "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language" + }, + "endpointNames": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed." + }, + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Used to specify whether a route is enabled." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique." + }, + "source": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "DeviceMessages", + "TwinChangeEvents", + "DeviceLifecycleEvents", + "DeviceJobLifecycleEvents", + "DigitalTwinChangeEvents", + "DeviceConnectionStateEvents", + "MqttBrokerMessages" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source that the routing rule is to be applied to, such as DeviceMessages." + } + }, + "required": [ + "endpointNames", + "isEnabled", + "name", + "source" + ], + "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints." + }, + "RoutingCosmosDBSqlApiProperties": { + "type": "object", + "properties": { + "authenticationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "keyBased", + "identityBased" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Method used to authenticate against the cosmos DB sql collection endpoint." + }, + "collectionName": { + "type": "string", + "description": "The name of the cosmos DB sql collection in the cosmos DB database." + }, + "databaseName": { + "type": "string", + "description": "The name of the cosmos DB database in the cosmos DB account." + }, + "endpointUri": { + "type": "string", + "description": "The url of the cosmos DB account. It must include the protocol https://" + }, + "id": { + "type": "string", + "description": "Id of the cosmos DB sql collection endpoint" + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the Managed identity." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types." + }, + "partitionKeyName": { + "type": "string", + "description": "The name of the partition key associated with this cosmos DB sql collection if one exists. This is an optional parameter." + }, + "partitionKeyTemplate": { + "type": "string", + "description": "The template for generating a synthetic partition key value for use with this cosmos DB sql collection. The template must include at least one of the following placeholders: {iothub}, {deviceid}, {DD}, {MM}, and {YYYY}. Any one placeholder may be specified at most once, but order and non-placeholder components are arbitrary. This parameter is only required if PartitionKeyName is specified." + }, + "primaryKey": { + "type": "string", + "description": "The primary key of the cosmos DB account." + }, + "resourceGroup": { + "type": "string", + "description": "The name of the resource group of the cosmos DB account." + }, + "secondaryKey": { + "type": "string", + "description": "The secondary key of the cosmos DB account." + }, + "subscriptionId": { + "type": "string", + "description": "The subscription identifier of the cosmos DB account." + } + }, + "required": [ + "collectionName", + "databaseName", + "endpointUri", + "name" + ], + "description": "The properties related to a cosmos DB sql collection endpoint." + }, + "RoutingEndpoints": { + "type": "object", + "properties": { + "cosmosDBSqlCollections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RoutingCosmosDBSqlApiProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Cosmos DB collection endpoints that IoT hub routes messages to, based on the routing rules." + }, + "eventHubs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RoutingEventHubProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint." + }, + "serviceBusQueues": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules." + }, + "serviceBusTopics": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules." + }, + "storageContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RoutingStorageContainerProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules." + } + }, + "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs." + }, + "RoutingEventHubProperties": { + "type": "object", + "properties": { + "authenticationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "keyBased", + "identityBased" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Method used to authenticate against the event hub endpoint." + }, + "connectionString": { + "type": "string", + "description": "The connection string of the event hub endpoint. " + }, + "endpointUri": { + "type": "string", + "description": "The url of the event hub endpoint. It must include the protocol sb://" + }, + "entityPath": { + "type": "string", + "description": "Event hub name on the event hub namespace" + }, + "id": { + "type": "string", + "description": "Id of the event hub endpoint" + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the Managed identity." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types." + }, + "resourceGroup": { + "type": "string", + "description": "The name of the resource group of the event hub endpoint." + }, + "subscriptionId": { + "type": "string", + "description": "The subscription identifier of the event hub endpoint." + } + }, + "required": [ + "name" + ], + "description": "The properties related to an event hub endpoint." + }, + "RoutingProperties": { + "type": "object", + "properties": { + "endpoints": { + "oneOf": [ + { + "$ref": "#/definitions/RoutingEndpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs." + }, + "enrichments": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EnrichmentProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid" + }, + "fallbackRoute": { + "oneOf": [ + { + "$ref": "#/definitions/FallbackRouteProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint." + }, + "routes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RouteProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs." + } + }, + "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging" + }, + "RoutingServiceBusQueueEndpointProperties": { + "type": "object", + "properties": { + "authenticationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "keyBased", + "identityBased" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Method used to authenticate against the service bus queue endpoint." + }, + "connectionString": { + "type": "string", + "description": "The connection string of the service bus queue endpoint." + }, + "endpointUri": { + "type": "string", + "description": "The url of the service bus queue endpoint. It must include the protocol sb://" + }, + "entityPath": { + "type": "string", + "description": "Queue name on the service bus namespace" + }, + "id": { + "type": "string", + "description": "Id of the service bus queue endpoint" + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the Managed identity." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name." + }, + "resourceGroup": { + "type": "string", + "description": "The name of the resource group of the service bus queue endpoint." + }, + "subscriptionId": { + "type": "string", + "description": "The subscription identifier of the service bus queue endpoint." + } + }, + "required": [ + "name" + ], + "description": "The properties related to service bus queue endpoint types." + }, + "RoutingServiceBusTopicEndpointProperties": { + "type": "object", + "properties": { + "authenticationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "keyBased", + "identityBased" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Method used to authenticate against the service bus topic endpoint." + }, + "connectionString": { + "type": "string", + "description": "The connection string of the service bus topic endpoint." + }, + "endpointUri": { + "type": "string", + "description": "The url of the service bus topic endpoint. It must include the protocol sb://" + }, + "entityPath": { + "type": "string", + "description": "Queue name on the service bus topic" + }, + "id": { + "type": "string", + "description": "Id of the service bus topic endpoint" + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the Managed identity." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name." + }, + "resourceGroup": { + "type": "string", + "description": "The name of the resource group of the service bus topic endpoint." + }, + "subscriptionId": { + "type": "string", + "description": "The subscription identifier of the service bus topic endpoint." + } + }, + "required": [ + "name" + ], + "description": "The properties related to service bus topic endpoint types." + }, + "RoutingStorageContainerProperties": { + "type": "object", + "properties": { + "authenticationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "keyBased", + "identityBased" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Method used to authenticate against the storage endpoint." + }, + "batchFrequencyInSeconds": { + "oneOf": [ + { + "type": "integer", + "minimum": 60, + "maximum": 720 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds." + }, + "connectionString": { + "type": "string", + "description": "The connection string of the storage account." + }, + "containerName": { + "type": "string", + "description": "The name of storage container in the storage account." + }, + "encoding": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Avro", + "AvroDeflate", + "JSON" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'." + }, + "endpointUri": { + "type": "string", + "description": "The url of the storage endpoint. It must include the protocol https://" + }, + "fileNameFormat": { + "type": "string", + "description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered." + }, + "id": { + "type": "string", + "description": "Id of the storage container endpoint" + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the Managed identity." + }, + "maxChunkSizeInBytes": { + "oneOf": [ + { + "type": "integer", + "minimum": 10485760, + "maximum": 524288000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB)." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types." + }, + "resourceGroup": { + "type": "string", + "description": "The name of the resource group of the storage account." + }, + "subscriptionId": { + "type": "string", + "description": "The subscription identifier of the storage account." + } + }, + "required": [ + "containerName", + "name" + ], + "description": "The properties related to a storage container endpoint." + }, + "SharedAccessSignatureAuthorizationRule": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "The name of the shared access policy." + }, + "primaryKey": { + "type": "string", + "description": "The primary key." + }, + "rights": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RegistryRead", + "RegistryWrite", + "ServiceConnect", + "DeviceConnect", + "RegistryRead, RegistryWrite", + "RegistryRead, ServiceConnect", + "RegistryRead, DeviceConnect", + "RegistryWrite, ServiceConnect", + "RegistryWrite, DeviceConnect", + "ServiceConnect, DeviceConnect", + "RegistryRead, RegistryWrite, ServiceConnect", + "RegistryRead, RegistryWrite, DeviceConnect", + "RegistryRead, ServiceConnect, DeviceConnect", + "RegistryWrite, ServiceConnect, DeviceConnect", + "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The permissions assigned to the shared access policy." + }, + "secondaryKey": { + "type": "string", + "description": "The secondary key." + } + }, + "required": [ + "keyName", + "rights" + ], + "description": "The properties of an IoT hub shared access policy." + }, + "StorageEndpointProperties": { + "type": "object", + "properties": { + "authenticationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "keyBased", + "identityBased" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies authentication type being used for connecting to the storage account." + }, + "connectionString": { + "type": "string", + "description": "The connection string for the Azure Storage account to which files are uploaded." + }, + "containerName": { + "type": "string", + "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified." + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the Managed identity." + }, + "sasTtlAsIso8601": { + "type": "string", + "format": "duration", + "description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options." + } + }, + "required": [ + "connectionString", + "containerName" + ], + "description": "The properties of the Azure Storage endpoint for file upload." + } + } +} \ No newline at end of file diff --git a/schemas/2023-01-01-preview/Microsoft.Insights.json b/schemas/2023-01-01-preview/Microsoft.Insights.json new file mode 100644 index 0000000000..c4e64ce3e1 --- /dev/null +++ b/schemas/2023-01-01-preview/Microsoft.Insights.json @@ -0,0 +1,299 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.Insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Insights", + "description": "Microsoft Insights Resource Types", + "resourceDefinitions": { + "activityLogAlerts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "location": { + "type": "string", + "default": "global", + "description": "The location of the resource. Since Azure Activity Log Alerts is a global service, the location of the rules should always be 'global'." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Activity Log Alert rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AlertRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure Activity Log Alert rule." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags of the resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Insights/activityLogAlerts" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Insights/activityLogAlerts" + } + }, + "definitions": { + "ActionGroup": { + "type": "object", + "properties": { + "actionGroupId": { + "type": "string", + "description": "The resource ID of the Action Group. This cannot be null or empty." + }, + "actionProperties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Predefined list of properties and configuration items for the action group." + }, + "webhookProperties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the dictionary of custom properties to include with the post operation. These data are appended to the webhook payload." + } + }, + "required": [ + "actionGroupId" + ], + "description": "A pointer to an Azure Action Group." + }, + "ActionList": { + "type": "object", + "properties": { + "actionGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ActionGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the Action Groups." + } + }, + "description": "A list of Activity Log Alert rule actions." + }, + "AlertRuleAllOfCondition": { + "type": "object", + "properties": { + "allOf": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AlertRuleAnyOfOrLeafCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Activity Log Alert rule conditions." + } + }, + "required": [ + "allOf" + ], + "description": "An Activity Log Alert rule condition that is met when all its member conditions are met." + }, + "AlertRuleAnyOfOrLeafCondition": { + "type": "object", + "properties": { + "anyOf": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AlertRuleLeafCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Activity Log Alert rule condition that is met when at least one of its member leaf conditions are met." + }, + "containsAny": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value of the event's field will be compared to the values in this array (case-insensitive) to determine if the condition is met." + }, + "equals": { + "type": "string", + "description": "The value of the event's field will be compared to this value (case-insensitive) to determine if the condition is met." + }, + "field": { + "type": "string", + "description": "The name of the Activity Log event's field that this condition will examine.\nThe possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties'." + } + }, + "description": "An Activity Log Alert rule condition that is met when all its member conditions are met.\nEach condition can be of one of the following types:\n__Important__: Each type has its unique subset of properties. Properties from different types CANNOT exist in one condition.\n * __Leaf Condition -__ must contain 'field' and either 'equals' or 'containsAny'.\n _Please note, 'anyOf' should __not__ be set in a Leaf Condition._\n * __AnyOf Condition -__ must contain __only__ 'anyOf' (which is an array of Leaf Conditions).\n _Please note, 'field', 'equals' and 'containsAny' should __not__ be set in an AnyOf Condition._\n" + }, + "AlertRuleLeafCondition": { + "type": "object", + "properties": { + "containsAny": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value of the event's field will be compared to the values in this array (case-insensitive) to determine if the condition is met." + }, + "equals": { + "type": "string", + "description": "The value of the event's field will be compared to this value (case-insensitive) to determine if the condition is met." + }, + "field": { + "type": "string", + "description": "The name of the Activity Log event's field that this condition will examine.\nThe possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties'." + } + }, + "description": "An Activity Log Alert rule condition that is met by comparing the field and value of an Activity Log event.\nThis condition must contain 'field' and either 'equals' or 'containsAny'." + }, + "AlertRuleProperties": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "$ref": "#/definitions/ActionList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of Activity Log Alert rule actions." + }, + "condition": { + "oneOf": [ + { + "$ref": "#/definitions/AlertRuleAllOfCondition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Activity Log Alert rule condition that is met when all its member conditions are met." + }, + "description": { + "type": "string", + "description": "A description of this Activity Log Alert rule." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this Activity Log Alert rule is enabled. If an Activity Log Alert rule is not enabled, then none of its actions will be activated." + }, + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of resource IDs that will be used as prefixes. The alert will only apply to Activity Log events with resource IDs that fall under one of these prefixes. This list must include at least one item." + }, + "tenantScope": { + "type": "string", + "description": "The tenant GUID. Must be provided for tenant-level and management group events rules." + } + }, + "required": [ + "actions", + "condition" + ], + "description": "An Azure Activity Log Alert rule." + } + } +} \ No newline at end of file diff --git a/schemas/2023-01-01/Microsoft.Marketplace.json b/schemas/2023-01-01/Microsoft.Marketplace.json new file mode 100644 index 0000000000..80620e7d8d --- /dev/null +++ b/schemas/2023-01-01/Microsoft.Marketplace.json @@ -0,0 +1,758 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Marketplace.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Marketplace", + "description": "Microsoft Marketplace Resource Types", + "resourceDefinitions": {}, + "tenant_resourceDefinitions": { + "privateStores": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The store ID - must use the tenant ID" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateStoreProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the json payload on whether or not the private store is enabled for a given tenant" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/privateStores_requestApprovals_childResource" + }, + { + "$ref": "#/definitions/privateStores_adminRequestApprovals_childResource" + }, + { + "$ref": "#/definitions/privateStores_collections_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Marketplace/privateStores" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Marketplace/privateStores" + }, + "privateStores_adminRequestApprovals": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The admin request approval ID to get create or update" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdminRequestApprovalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Admin approval request resource properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Marketplace/privateStores/adminRequestApprovals" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Marketplace/privateStores/adminRequestApprovals" + }, + "privateStores_collections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The collection ID" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CollectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The collection details" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/privateStores_collections_offers_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Marketplace/privateStores/collections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Marketplace/privateStores/collections" + }, + "privateStores_collections_offers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The offer ID to update or delete" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OfferProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Marketplace/privateStores/collections/offers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Marketplace/privateStores/collections/offers" + }, + "privateStores_requestApprovals": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The request approval ID to get create or update" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RequestApprovalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Approval request resource properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Marketplace/privateStores/requestApprovals" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Marketplace/privateStores/requestApprovals" + } + }, + "definitions": { + "AdminRequestApprovalProperties": { + "type": "object", + "properties": { + "adminAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Approved", + "Rejected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets admin action." + }, + "administrator": { + "type": "string", + "description": "Gets or sets admin details" + }, + "approvedPlans": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets Approved plans ids, empty in case of rejected" + }, + "collectionIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets list of associated collection ids" + }, + "comment": { + "type": "string", + "description": "Gets or sets admin comment" + }, + "offerId": { + "type": "string", + "description": "Gets or sets offer Id" + }, + "publisherId": { + "type": "string", + "description": "Gets or sets publisher Id" + } + }, + "description": "Admin approval request resource properties" + }, + "CollectionProperties": { + "type": "object", + "properties": { + "allSubscriptions": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicating whether all subscriptions are selected (=true) or not (=false)." + }, + "claim": { + "type": "string", + "description": "Gets or sets the association with Commercial's Billing Account." + }, + "collectionName": { + "type": "string", + "description": "Gets or sets collection name." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicating whether the collection is enabled or disabled." + }, + "subscriptionsList": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets subscription ids list. Empty list indicates all subscriptions are selected, null indicates no update is done, explicit list indicates the explicit selected subscriptions. On insert, null is considered as bad request" + } + }, + "description": "The collection details" + }, + "NotificationsSettingsProperties": { + "type": "object", + "properties": { + "recipients": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Recipient" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets list of notified recipients for new requests" + }, + "sendToAllMarketplaceAdmins": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets whether to send email to all marketplace admins for new requests" + } + }, + "description": "Describes the json payload for notifications settings" + }, + "OfferProperties": { + "type": "object", + "properties": { + "eTag": { + "type": "string", + "description": "Identifier for purposes of race condition" + }, + "iconFileUris": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Icon File Uris" + }, + "plans": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Plan" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Offer plans" + }, + "specificPlanIdsLimitation": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Plan ids limitation for this offer" + }, + "updateSuppressedDueIdempotence": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicating whether the offer was not updated to db (true = not updated). If the allow list is identical to the existed one in db, the offer would not be updated." + } + } + }, + "Plan": { + "type": "object", + "properties": { + "accessibility": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Public", + "PrivateTenantOnLevel", + "PrivateSubscriptionOnLevel" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Plan accessibility." + } + } + }, + "PlanDetails": { + "type": "object", + "properties": { + "justification": { + "type": "string", + "description": "Gets or sets user's justification for the plan's request" + }, + "planId": { + "type": "string", + "description": "Gets or sets Plan Id " + }, + "subscriptionId": { + "type": "string", + "description": "Gets or sets the subscription id that the user is requesting to add the plan to" + }, + "subscriptionName": { + "type": "string", + "description": "Gets or sets the subscription name that the user is requesting to add the plan to" + } + }, + "description": "Return plan with request details" + }, + "PrivateStoreProperties": { + "type": "object", + "properties": { + "availability": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates private store availability." + }, + "branding": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets list of branding characteristics" + }, + "eTag": { + "type": "string", + "description": "Identifier for purposes of race condition" + }, + "isGov": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Is government" + }, + "notificationsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/NotificationsSettingsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the json payload for notifications settings" + }, + "privateStoreName": { + "type": "string", + "description": "Private Store Name" + }, + "tenantId": { + "type": "string", + "description": "Tenant id" + } + }, + "description": "Describes the json payload on whether or not the private store is enabled for a given tenant" + }, + "privateStores_adminRequestApprovals_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The admin request approval ID to get create or update" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdminRequestApprovalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Admin approval request resource properties" + }, + "type": { + "type": "string", + "enum": [ + "adminRequestApprovals" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Marketplace/privateStores/adminRequestApprovals" + }, + "privateStores_collections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The collection ID" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CollectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The collection details" + }, + "type": { + "type": "string", + "enum": [ + "collections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Marketplace/privateStores/collections" + }, + "privateStores_collections_offers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The offer ID to update or delete" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OfferProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "offers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Marketplace/privateStores/collections/offers" + }, + "privateStores_requestApprovals_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The request approval ID to get create or update" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RequestApprovalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Approval request resource properties" + }, + "type": { + "type": "string", + "enum": [ + "requestApprovals" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Marketplace/privateStores/requestApprovals" + }, + "Recipient": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "Principal ID" + } + }, + "description": "Describes the json payload for a notified recipient for new requests" + }, + "RequestApprovalProperties": { + "type": "object", + "properties": { + "messageCode": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the request approval message code" + }, + "offerId": { + "type": "string", + "description": "Gets or sets unique offer id." + }, + "plansDetails": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PlanDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the plans details" + }, + "publisherId": { + "type": "string", + "description": "The offer's publisher id" + } + }, + "description": "Approval request resource properties" + } + } +} \ No newline at end of file diff --git a/schemas/2023-01-01/Microsoft.Media.json b/schemas/2023-01-01/Microsoft.Media.json index 8ac8d13fbe..445e735509 100644 --- a/schemas/2023-01-01/Microsoft.Media.json +++ b/schemas/2023-01-01/Microsoft.Media.json @@ -46,8 +46,23 @@ "type": "array", "items": { "oneOf": [ + { + "$ref": "#/definitions/mediaServices_accountFilters_childResource" + }, { "$ref": "#/definitions/mediaservices_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/mediaServices_assets_childResource" + }, + { + "$ref": "#/definitions/mediaServices_contentKeyPolicies_childResource" + }, + { + "$ref": "#/definitions/mediaServices_streamingPolicies_childResource" + }, + { + "$ref": "#/definitions/mediaServices_streamingLocators_childResource" } ] } @@ -83,7 +98,7 @@ ], "description": "Microsoft.Media/mediaservices" }, - "mediaservices_privateEndpointConnections": { + "mediaServices_accountFilters": { "type": "object", "properties": { "apiVersion": { @@ -93,23 +108,24 @@ ] }, "name": { - "type": "string" + "type": "string", + "description": "The Account Filter name" }, "properties": { "oneOf": [ { - "$ref": "#/definitions/PrivateEndpointConnectionProperties" + "$ref": "#/definitions/MediaFilterProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Properties of the PrivateEndpointConnectProperties." + "description": "The Media Filter properties." }, "type": { "type": "string", "enum": [ - "Microsoft.Media/mediaservices/privateEndpointConnections" + "Microsoft.Media/mediaServices/accountFilters" ] } }, @@ -119,225 +135,178 @@ "properties", "type" ], - "description": "Microsoft.Media/mediaservices/privateEndpointConnections" - } - }, - "definitions": { - "AccessControl": { + "description": "Microsoft.Media/mediaServices/accountFilters" + }, + "mediaServices_assets": { "type": "object", "properties": { - "defaultAction": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The Asset name." + }, + "properties": { "oneOf": [ { - "type": "string", - "enum": [ - "Allow", - "Deny" - ] + "$ref": "#/definitions/AssetProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The behavior for IP access control in Key Delivery." + "description": "The Asset properties." }, - "ipAllowList": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/mediaServices_assets_assetFilters_childResource" + }, + { + "$ref": "#/definitions/mediaServices_assets_tracks_childResource" } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The IP allow list for access control in Key Delivery. If the default action is set to 'Allow', the IP allow list must be empty." + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Media/mediaServices/assets" + ] } - } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Media/mediaServices/assets" }, - "AccountEncryption": { + "mediaServices_assets_assetFilters": { "type": "object", "properties": { - "identity": { - "oneOf": [ - { - "$ref": "#/definitions/ResourceIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" ] }, - "keyVaultProperties": { - "oneOf": [ - { - "$ref": "#/definitions/KeyVaultProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] + "name": { + "type": "string", + "description": "The Asset Filter name" }, - "type": { + "properties": { "oneOf": [ { - "type": "string", - "enum": [ - "SystemKey", - "CustomerKey" - ] + "$ref": "#/definitions/MediaFilterProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The type of key used to encrypt the Account Key." + "description": "The Media Filter properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Media/mediaServices/assets/assetFilters" + ] } }, "required": [ + "apiVersion", + "name", + "properties", "type" - ] - }, - "KeyDelivery": { - "type": "object", - "properties": { - "accessControl": { - "oneOf": [ - { - "$ref": "#/definitions/AccessControl" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + ], + "description": "Microsoft.Media/mediaServices/assets/assetFilters" }, - "KeyVaultProperties": { + "mediaServices_assets_tracks": { "type": "object", "properties": { - "keyIdentifier": { + "apiVersion": { "type": "string", - "description": "The URL of the Key Vault key used to encrypt the account. The key may either be versioned (for example https://vault/keys/mykey/version1) or reference a key without a version (for example https://vault/keys/mykey)." - } - } - }, - "MediaServiceIdentity": { - "type": "object", - "properties": { - "type": { + "enum": [ + "2023-01-01" + ] + }, + "name": { "type": "string", - "description": "The identity type." + "description": "The Asset Track name." }, - "userAssignedIdentities": { + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/UserAssignedManagedIdentity" - }, - "properties": {} + "$ref": "#/definitions/AssetTrackProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The User Assigned Managed Identities." + "description": "Properties of a video, audio or text track in the asset." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Media/mediaServices/assets/tracks" + ] } }, "required": [ + "apiVersion", + "name", + "properties", "type" - ] + ], + "description": "Microsoft.Media/mediaServices/assets/tracks" }, - "MediaServiceProperties": { + "mediaServices_contentKeyPolicies": { "type": "object", "properties": { - "encryption": { - "oneOf": [ - { - "$ref": "#/definitions/AccountEncryption" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "keyDelivery": { - "oneOf": [ - { - "$ref": "#/definitions/KeyDelivery" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" ] }, - "minimumTlsVersion": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Tls10", - "Tls11", - "Tls12", - "Tls13" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The minimum TLS version allowed for this account's requests. This is an optional property. If unspecified, a secure default value will be used." - }, - "publicNetworkAccess": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Enabled", - "Disabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether or not public network access is allowed for resources under the Media Services account." + "name": { + "type": "string", + "description": "The Content Key Policy name." }, - "storageAccounts": { + "properties": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/StorageAccount" - } + "$ref": "#/definitions/ContentKeyPolicyProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The storage accounts for this resource." + "description": "The properties of the Content Key Policy." }, - "storageAuthentication": { - "oneOf": [ - { - "type": "string", - "enum": [ - "System", - "ManagedIdentity" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "type": { + "type": "string", + "enum": [ + "Microsoft.Media/mediaServices/contentKeyPolicies" ] } }, - "description": "Properties of the Media Services account." + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Media/mediaServices/contentKeyPolicies" }, - "mediaservices_privateEndpointConnections_childResource": { + "mediaservices_privateEndpointConnections": { "type": "object", "properties": { "apiVersion": { @@ -363,7 +332,7 @@ "type": { "type": "string", "enum": [ - "privateEndpointConnections" + "Microsoft.Media/mediaservices/privateEndpointConnections" ] } }, @@ -375,97 +344,2513 @@ ], "description": "Microsoft.Media/mediaservices/privateEndpointConnections" }, - "PrivateEndpoint": { + "mediaServices_streamingLocators": { "type": "object", - "properties": {}, + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The Streaming Locator name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StreamingLocatorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Streaming Locator." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Media/mediaServices/streamingLocators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Media/mediaServices/streamingLocators" + }, + "mediaServices_streamingPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The Streaming Policy name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StreamingPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify properties of Streaming Policy" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Media/mediaServices/streamingPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Media/mediaServices/streamingPolicies" + } + }, + "definitions": { + "AccessControl": { + "type": "object", + "properties": { + "defaultAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The behavior for IP access control in Key Delivery." + }, + "ipAllowList": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP allow list for access control in Key Delivery. If the default action is set to 'Allow', the IP allow list must be empty." + } + } + }, + "AccountEncryption": { + "type": "object", + "properties": { + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemKey", + "CustomerKey" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of key used to encrypt the Account Key." + } + }, + "required": [ + "type" + ] + }, + "AssetProperties": { + "type": "object", + "properties": { + "alternateId": { + "type": "string", + "description": "The alternate ID of the Asset." + }, + "container": { + "type": "string", + "description": "The name of the asset blob container." + }, + "description": { + "type": "string", + "description": "The Asset description." + }, + "encryptionScope": { + "type": "string", + "description": "The Asset container encryption scope in the storage account." + }, + "storageAccountName": { + "type": "string", + "description": "The name of the storage account." + } + }, + "description": "The Asset properties." + }, + "AssetTrackProperties": { + "type": "object", + "properties": { + "track": { + "oneOf": [ + { + "$ref": "#/definitions/TrackBase" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base type for concrete track types. A derived type must be used to represent the Track." + } + }, + "description": "Properties of a video, audio or text track in the asset." + }, + "AudioTrack": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.AudioTrack" + ] + }, + "dashSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DashSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The DASH setting for a track." + }, + "displayName": { + "type": "string", + "description": "The display name of the audio track on a video player. In HLS, this maps to the NAME attribute of EXT-X-MEDIA." + }, + "fileName": { + "type": "string", + "description": "The file name to the source file. This file is located in the storage container of the asset." + }, + "hlsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/HlsSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The HLS setting for a track." + }, + "languageCode": { + "type": "string", + "description": "The RFC5646 language code for the audio track." + }, + "mpeg4TrackId": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The MPEG-4 audio track ID for the audio track." + } + }, + "required": [ + "@odata.type" + ], + "description": "Represents an audio track in the asset." + }, + "CbcsDrmConfiguration": { + "type": "object", + "properties": { + "fairPlay": { + "oneOf": [ + { + "$ref": "#/definitions/StreamingPolicyFairPlayConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify configurations of FairPlay in Streaming Policy" + }, + "playReady": { + "oneOf": [ + { + "$ref": "#/definitions/StreamingPolicyPlayReadyConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify configurations of PlayReady in Streaming Policy" + }, + "widevine": { + "oneOf": [ + { + "$ref": "#/definitions/StreamingPolicyWidevineConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify configurations of Widevine in Streaming Policy" + } + }, + "description": "Class to specify DRM configurations of CommonEncryptionCbcs scheme in Streaming Policy" + }, + "CencDrmConfiguration": { + "type": "object", + "properties": { + "playReady": { + "oneOf": [ + { + "$ref": "#/definitions/StreamingPolicyPlayReadyConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify configurations of PlayReady in Streaming Policy" + }, + "widevine": { + "oneOf": [ + { + "$ref": "#/definitions/StreamingPolicyWidevineConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify configurations of Widevine in Streaming Policy" + } + }, + "description": "Class to specify DRM configurations of CommonEncryptionCenc scheme in Streaming Policy" + }, + "ClearKeyEncryptionConfiguration": { + "type": "object", + "properties": { + "customKeysAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering content keys to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token value is {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId." + } + }, + "description": "Class to specify ClearKey configuration of common encryption schemes in Streaming Policy" + }, + "CommonEncryptionCbcs": { + "type": "object", + "properties": { + "clearKeyEncryptionConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/ClearKeyEncryptionConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify ClearKey configuration of common encryption schemes in Streaming Policy" + }, + "clearTracks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Representing which tracks should not be encrypted" + }, + "contentKeys": { + "oneOf": [ + { + "$ref": "#/definitions/StreamingPolicyContentKeys" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify properties of all content keys in Streaming Policy" + }, + "drm": { + "oneOf": [ + { + "$ref": "#/definitions/CbcsDrmConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify DRM configurations of CommonEncryptionCbcs scheme in Streaming Policy" + }, + "enabledProtocols": { + "oneOf": [ + { + "$ref": "#/definitions/EnabledProtocols" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify which protocols are enabled" + } + }, + "description": "Class for CommonEncryptionCbcs encryption scheme" + }, + "CommonEncryptionCenc": { + "type": "object", + "properties": { + "clearKeyEncryptionConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/ClearKeyEncryptionConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify ClearKey configuration of common encryption schemes in Streaming Policy" + }, + "clearTracks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Representing which tracks should not be encrypted" + }, + "contentKeys": { + "oneOf": [ + { + "$ref": "#/definitions/StreamingPolicyContentKeys" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify properties of all content keys in Streaming Policy" + }, + "drm": { + "oneOf": [ + { + "$ref": "#/definitions/CencDrmConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify DRM configurations of CommonEncryptionCenc scheme in Streaming Policy" + }, + "enabledProtocols": { + "oneOf": [ + { + "$ref": "#/definitions/EnabledProtocols" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify which protocols are enabled" + } + }, + "description": "Class for envelope encryption scheme" + }, + "ContentKeyPolicyClearKeyConfiguration": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + ] + } + }, + "required": [ + "@odata.type" + ], + "description": "Represents a configuration for non-DRM keys." + }, + "ContentKeyPolicyConfiguration": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyClearKeyConfiguration" + }, + { + "$ref": "#/definitions/ContentKeyPolicyUnknownConfiguration" + }, + { + "$ref": "#/definitions/ContentKeyPolicyWidevineConfiguration" + }, + { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyConfiguration" + }, + { + "$ref": "#/definitions/ContentKeyPolicyFairPlayConfiguration" + } + ], + "properties": {}, + "description": "Base class for Content Key Policy configuration. A derived class must be used to create a configuration." + }, + "ContentKeyPolicyFairPlayConfiguration": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration" + ] + }, + "ask": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The key that must be used as FairPlay Application Secret key. This needs to be base64 encoded." + }, + "fairPlayPfx": { + "type": "string", + "description": "The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key)." + }, + "fairPlayPfxPassword": { + "type": "string", + "description": "The password encrypting FairPlay certificate in PKCS 12 (pfx) format." + }, + "offlineRentalConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyFairPlayOfflineRentalConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "rentalAndLeaseKeyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Undefined", + "DualExpiry", + "PersistentUnlimited", + "PersistentLimited" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rental and lease key type." + }, + "rentalDuration": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rental duration. Must be greater than or equal to 0." + } + }, + "required": [ + "@odata.type", + "ask", + "fairPlayPfx", + "fairPlayPfxPassword", + "rentalAndLeaseKeyType", + "rentalDuration" + ], + "description": "Specifies a configuration for FairPlay licenses." + }, + "ContentKeyPolicyFairPlayOfflineRentalConfiguration": { + "type": "object", + "properties": { + "playbackDurationSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Playback duration" + }, + "storageDurationSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage duration" + } + }, + "required": [ + "playbackDurationSeconds", + "storageDurationSeconds" + ] + }, + "ContentKeyPolicyOpenRestriction": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + ] + } + }, + "required": [ + "@odata.type" + ], + "description": "Represents an open restriction. License or key will be delivered on every request." + }, + "ContentKeyPolicyOption": { + "type": "object", + "properties": { + "configuration": { + "oneOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for Content Key Policy configuration. A derived class must be used to create a configuration." + }, + "name": { + "type": "string", + "description": "The Policy Option description." + }, + "restriction": { + "oneOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestriction" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for Content Key Policy restrictions. A derived class must be used to create a restriction." + } + }, + "required": [ + "configuration", + "restriction" + ], + "description": "Represents a policy option." + }, + "ContentKeyPolicyPlayReadyConfiguration": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration" + ] + }, + "licenses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyLicense" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The PlayReady licenses." + }, + "responseCustomData": { + "type": "string", + "description": "The custom response data." + } + }, + "required": [ + "@odata.type", + "licenses" + ], + "description": "Specifies a configuration for PlayReady licenses." + }, + "ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + ] + } + }, + "required": [ + "@odata.type" + ], + "description": "Specifies that the content key ID is in the PlayReady header." + }, + "ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier" + ] + }, + "keyId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The content key ID." + } + }, + "required": [ + "@odata.type", + "keyId" + ], + "description": "Specifies that the content key ID is specified in the PlayReady configuration." + }, + "ContentKeyPolicyPlayReadyContentKeyLocation": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier" + } + ], + "properties": {}, + "description": "Base class for content key ID location. A derived class must be used to represent the location." + }, + "ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction": { + "type": "object", + "properties": { + "bestEffort": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this restriction is enforced on a Best Effort basis." + }, + "configurationData": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configures the restriction control bits. Must be between 0 and 3 inclusive." + } + }, + "required": [ + "bestEffort", + "configurationData" + ], + "description": "Configures the Explicit Analog Television Output Restriction control bits. For further details see the PlayReady Compliance Rules." + }, + "ContentKeyPolicyPlayReadyLicense": { + "type": "object", + "properties": { + "allowTestDevices": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A flag indicating whether test devices can use the license." + }, + "beginDate": { + "type": "string", + "format": "date-time", + "description": "The begin date of license" + }, + "contentKeyLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for content key ID location. A derived class must be used to represent the location." + }, + "contentType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Unspecified", + "UltraVioletDownload", + "UltraVioletStreaming" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The PlayReady content type." + }, + "expirationDate": { + "type": "string", + "format": "date-time", + "description": "The expiration date of license." + }, + "gracePeriod": { + "type": "string", + "format": "duration", + "description": "The grace period of license." + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "NonPersistent", + "Persistent" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The license type." + }, + "playRight": { + "oneOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyPlayRight" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configures the Play Right in the PlayReady license." + }, + "relativeBeginDate": { + "type": "string", + "format": "duration", + "description": "The relative begin date of license." + }, + "relativeExpirationDate": { + "type": "string", + "format": "duration", + "description": "The relative expiration date of license." + }, + "securityLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "SL150", + "SL2000", + "SL3000" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The security level." + } + }, + "required": [ + "allowTestDevices", + "contentKeyLocation", + "contentType", + "licenseType" + ], + "description": "The PlayReady license" + }, + "ContentKeyPolicyPlayReadyPlayRight": { + "type": "object", + "properties": { + "agcAndColorStripeRestriction": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive." + }, + "allowPassingVideoContentToUnknownOutput": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "NotAllowed", + "Allowed", + "AllowedWithVideoConstriction" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configures Unknown output handling settings of the license." + }, + "analogVideoOpl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the output protection level for compressed digital audio." + }, + "compressedDigitalAudioOpl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the output protection level for compressed digital audio." + }, + "compressedDigitalVideoOpl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the output protection level for compressed digital video." + }, + "digitalVideoOnlyContentRestriction": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables the Image Constraint For Analog Component Video Restriction in the license." + }, + "explicitAnalogTelevisionOutputRestriction": { + "oneOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configures the Explicit Analog Television Output Restriction control bits. For further details see the PlayReady Compliance Rules." + }, + "firstPlayExpiration": { + "type": "string", + "format": "duration", + "description": "The amount of time that the license is valid after the license is first used to play content." + }, + "imageConstraintForAnalogComponentVideoRestriction": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables the Image Constraint For Analog Component Video Restriction in the license." + }, + "imageConstraintForAnalogComputerMonitorRestriction": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables the Image Constraint For Analog Component Video Restriction in the license." + }, + "scmsRestriction": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive." + }, + "uncompressedDigitalAudioOpl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the output protection level for uncompressed digital audio." + }, + "uncompressedDigitalVideoOpl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the output protection level for uncompressed digital video." + } + }, + "required": [ + "allowPassingVideoContentToUnknownOutput", + "digitalVideoOnlyContentRestriction", + "imageConstraintForAnalogComponentVideoRestriction", + "imageConstraintForAnalogComputerMonitorRestriction" + ], + "description": "Configures the Play Right in the PlayReady license." + }, + "ContentKeyPolicyProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description for the Policy." + }, + "options": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyOption" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Key Policy options." + } + }, + "required": [ + "options" + ], + "description": "The properties of the Content Key Policy." + }, + "ContentKeyPolicyRestriction": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyOpenRestriction" + }, + { + "$ref": "#/definitions/ContentKeyPolicyUnknownRestriction" + }, + { + "$ref": "#/definitions/ContentKeyPolicyTokenRestriction" + } + ], + "properties": {}, + "description": "Base class for Content Key Policy restrictions. A derived class must be used to create a restriction." + }, + "ContentKeyPolicyRestrictionTokenKey": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ContentKeyPolicySymmetricTokenKey" + }, + { + "$ref": "#/definitions/ContentKeyPolicyRsaTokenKey" + }, + { + "$ref": "#/definitions/ContentKeyPolicyX509CertificateTokenKey" + } + ], + "properties": {}, + "description": "Base class for Content Key Policy key for token validation. A derived class must be used to create a token key." + }, + "ContentKeyPolicyRsaTokenKey": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.ContentKeyPolicyRsaTokenKey" + ] + }, + "exponent": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The RSA Parameter exponent" + }, + "modulus": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The RSA Parameter modulus" + } + }, + "required": [ + "@odata.type", + "exponent", + "modulus" + ], + "description": "Specifies a RSA key for token validation" + }, + "ContentKeyPolicySymmetricTokenKey": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey" + ] + }, + "keyValue": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The key value of the key" + } + }, + "required": [ + "@odata.type", + "keyValue" + ], + "description": "Specifies a symmetric key for token validation." + }, + "ContentKeyPolicyTokenClaim": { + "type": "object", + "properties": { + "claimType": { + "type": "string", + "description": "Token claim type." + }, + "claimValue": { + "type": "string", + "description": "Token claim value." + } + }, + "description": "Represents a token claim." + }, + "ContentKeyPolicyTokenRestriction": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.ContentKeyPolicyTokenRestriction" + ] + }, + "alternateVerificationKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of alternative verification keys." + }, + "audience": { + "type": "string", + "description": "The audience for the token." + }, + "issuer": { + "type": "string", + "description": "The token issuer." + }, + "openIdConnectDiscoveryDocument": { + "type": "string", + "description": "The OpenID connect discovery document." + }, + "primaryVerificationKey": { + "oneOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for Content Key Policy key for token validation. A derived class must be used to create a token key." + }, + "requiredClaims": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyTokenClaim" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of required token claims." + }, + "restrictionTokenType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Swt", + "Jwt" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of token." + } + }, + "required": [ + "@odata.type", + "audience", + "issuer", + "primaryVerificationKey", + "restrictionTokenType" + ], + "description": "Represents a token restriction. Provided token must match these requirements for successful license or key delivery." + }, + "ContentKeyPolicyUnknownConfiguration": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.ContentKeyPolicyUnknownConfiguration" + ] + } + }, + "required": [ + "@odata.type" + ], + "description": "Represents a ContentKeyPolicyConfiguration that is unavailable in the current API version." + }, + "ContentKeyPolicyUnknownRestriction": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.ContentKeyPolicyUnknownRestriction" + ] + } + }, + "required": [ + "@odata.type" + ], + "description": "Represents a ContentKeyPolicyRestriction that is unavailable in the current API version." + }, + "ContentKeyPolicyWidevineConfiguration": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration" + ] + }, + "widevineTemplate": { + "type": "string", + "description": "The Widevine template." + } + }, + "required": [ + "@odata.type", + "widevineTemplate" + ], + "description": "Specifies a configuration for Widevine licenses." + }, + "ContentKeyPolicyX509CertificateTokenKey": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.ContentKeyPolicyX509CertificateTokenKey" + ] + }, + "rawBody": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET)" + } + }, + "required": [ + "@odata.type", + "rawBody" + ], + "description": "Specifies a certificate for token validation." + }, + "DashSettings": { + "type": "object", + "properties": { + "role": { + "type": "string", + "description": "The role for the DASH setting." + } + }, + "description": "The DASH setting for a track." + }, + "DefaultKey": { + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Label can be used to specify Content Key when creating a Streaming Locator" + }, + "policyName": { + "type": "string", + "description": "Policy used by Default Key" + } + }, + "description": "Class to specify properties of default content key for each encryption scheme" + }, + "EnabledProtocols": { + "type": "object", + "properties": { + "dash": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable DASH protocol or not" + }, + "download": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable Download protocol or not" + }, + "hls": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable HLS protocol or not" + }, + "smoothStreaming": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable SmoothStreaming protocol or not" + } + }, + "required": [ + "dash", + "download", + "hls", + "smoothStreaming" + ], + "description": "Class to specify which protocols are enabled" + }, + "EnvelopeEncryption": { + "type": "object", + "properties": { + "clearTracks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Representing which tracks should not be encrypted" + }, + "contentKeys": { + "oneOf": [ + { + "$ref": "#/definitions/StreamingPolicyContentKeys" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify properties of all content keys in Streaming Policy" + }, + "customKeyAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering keys to end user players. Not required when using Azure Media Services for issuing keys. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + }, + "enabledProtocols": { + "oneOf": [ + { + "$ref": "#/definitions/EnabledProtocols" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify which protocols are enabled" + } + }, + "description": "Class for EnvelopeEncryption encryption scheme" + }, + "FilterTrackPropertyCondition": { + "type": "object", + "properties": { + "operation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Equal", + "NotEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The track property condition operation." + }, + "property": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Type", + "Name", + "Language", + "FourCC", + "Bitrate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The track property type." + }, + "value": { + "type": "string", + "description": "The track property value." + } + }, + "required": [ + "operation", + "property", + "value" + ], + "description": "The class to specify one track property condition." + }, + "FilterTrackSelection": { + "type": "object", + "properties": { + "trackSelections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackPropertyCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The track selections." + } + }, + "required": [ + "trackSelections" + ], + "description": "Representing a list of FilterTrackPropertyConditions to select a track. The filters are combined using a logical AND operation." + }, + "FirstQuality": { + "type": "object", + "properties": { + "bitrate": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The first quality bitrate." + } + }, + "required": [ + "bitrate" + ], + "description": "Filter First Quality" + }, + "HlsSettings": { + "type": "object", + "properties": { + "characteristics": { + "type": "string", + "description": "The characteristics for the HLS setting." + }, + "default": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The default for the HLS setting." + }, + "forced": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The forced for the HLS setting." + } + }, + "description": "The HLS setting for a track." + }, + "KeyDelivery": { + "type": "object", + "properties": { + "accessControl": { + "oneOf": [ + { + "$ref": "#/definitions/AccessControl" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyIdentifier": { + "type": "string", + "description": "The URL of the Key Vault key used to encrypt the account. The key may either be versioned (for example https://vault/keys/mykey/version1) or reference a key without a version (for example https://vault/keys/mykey)." + } + } + }, + "MediaFilterProperties": { + "type": "object", + "properties": { + "firstQuality": { + "oneOf": [ + { + "$ref": "#/definitions/FirstQuality" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Filter First Quality" + }, + "presentationTimeRange": { + "oneOf": [ + { + "$ref": "#/definitions/PresentationTimeRange" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The presentation time range, this is asset related and not recommended for Account Filter." + }, + "tracks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackSelection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tracks selection conditions." + } + }, + "description": "The Media Filter properties." + }, + "MediaServiceIdentity": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedManagedIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The User Assigned Managed Identities." + } + }, + "required": [ + "type" + ] + }, + "MediaServiceProperties": { + "type": "object", + "properties": { + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/AccountEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "keyDelivery": { + "oneOf": [ + { + "$ref": "#/definitions/KeyDelivery" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "minimumTlsVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Tls10", + "Tls11", + "Tls12", + "Tls13" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum TLS version allowed for this account's requests. This is an optional property. If unspecified, a secure default value will be used." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not public network access is allowed for resources under the Media Services account." + }, + "storageAccounts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage accounts for this resource." + }, + "storageAuthentication": { + "oneOf": [ + { + "type": "string", + "enum": [ + "System", + "ManagedIdentity" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Properties of the Media Services account." + }, + "mediaServices_accountFilters_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The Account Filter name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MediaFilterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Media Filter properties." + }, + "type": { + "type": "string", + "enum": [ + "accountFilters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Media/mediaServices/accountFilters" + }, + "mediaServices_assets_assetFilters_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The Asset Filter name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MediaFilterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Media Filter properties." + }, + "type": { + "type": "string", + "enum": [ + "assetFilters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Media/mediaServices/assets/assetFilters" + }, + "mediaServices_assets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The Asset name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AssetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Asset properties." + }, + "type": { + "type": "string", + "enum": [ + "assets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Media/mediaServices/assets" + }, + "mediaServices_assets_tracks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The Asset Track name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AssetTrackProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a video, audio or text track in the asset." + }, + "type": { + "type": "string", + "enum": [ + "tracks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Media/mediaServices/assets/tracks" + }, + "mediaServices_contentKeyPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The Content Key Policy name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the Content Key Policy." + }, + "type": { + "type": "string", + "enum": [ + "contentKeyPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Media/mediaServices/contentKeyPolicies" + }, + "mediaservices_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Media/mediaservices/privateEndpointConnections" + }, + "mediaServices_streamingLocators_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The Streaming Locator name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StreamingLocatorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Streaming Locator." + }, + "type": { + "type": "string", + "enum": [ + "streamingLocators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Media/mediaServices/streamingLocators" + }, + "mediaServices_streamingPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01" + ] + }, + "name": { + "type": "string", + "description": "The Streaming Policy name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StreamingPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify properties of Streaming Policy" + }, + "type": { + "type": "string", + "enum": [ + "streamingPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Media/mediaServices/streamingPolicies" + }, + "NoEncryption": { + "type": "object", + "properties": { + "enabledProtocols": { + "oneOf": [ + { + "$ref": "#/definitions/EnabledProtocols" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify which protocols are enabled" + } + }, + "description": "Class for NoEncryption scheme" + }, + "PresentationTimeRange": { + "type": "object", + "properties": { + "endTimestamp": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The absolute end time boundary." + }, + "forceEndTimestamp": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The indicator of forcing existing of end time stamp." + }, + "liveBackoffDuration": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The relative to end right edge." + }, + "presentationWindowDuration": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The relative to end sliding window." + }, + "startTimestamp": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The absolute start time boundary." + }, + "timescale": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The time scale of time stamps." + } + }, + "description": "The presentation time range, this is asset related and not recommended for Account Filter." + }, + "PrivateEndpoint": { + "type": "object", + "properties": {}, "description": "The Private Endpoint resource." }, - "PrivateEndpointConnectionProperties": { + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Private Endpoint resource." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + } + }, + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "ResourceIdentity": { + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned managed identity's ARM ID to use when accessing a resource." + }, + "useSystemAssignedIdentity": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use System Assigned Managed Identity. Mutual exclusive with User Assigned Managed Identity." + } + }, + "required": [ + "useSystemAssignedIdentity" + ] + }, + "StorageAccount": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the storage account resource. Media Services relies on tables and queues as well as blobs, so the primary storage account must be a Standard Storage account (either Microsoft.ClassicStorage or Microsoft.Storage). Blob only storage accounts can be added as secondary storage accounts." + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Primary", + "Secondary" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the storage account." + } + }, + "required": [ + "type" + ], + "description": "The storage account details." + }, + "StreamingLocatorContentKey": { "type": "object", "properties": { - "privateEndpoint": { + "id": { "oneOf": [ { - "$ref": "#/definitions/PrivateEndpoint" + "type": "string", + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The Private Endpoint resource." + "description": "ID of Content Key" }, - "privateLinkServiceConnectionState": { + "labelReferenceInStreamingPolicy": { + "type": "string", + "description": "Label of Content Key as specified in the Streaming Policy" + }, + "value": { + "type": "string", + "description": "Value of Content Key" + } + }, + "required": [ + "id" + ], + "description": "Class for content key in Streaming Locator" + }, + "StreamingLocatorProperties": { + "type": "object", + "properties": { + "alternativeMediaId": { + "type": "string", + "description": "Alternative Media ID of this Streaming Locator" + }, + "assetName": { + "type": "string", + "description": "Asset Name" + }, + "contentKeys": { "oneOf": [ { - "$ref": "#/definitions/PrivateLinkServiceConnectionState" + "type": "array", + "items": { + "$ref": "#/definitions/StreamingLocatorContentKey" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A collection of information about the state of the connection between service consumer and provider." + "description": "The ContentKeys used by this Streaming Locator." }, - "provisioningState": { + "defaultContentKeyPolicyName": { + "type": "string", + "description": "Name of the default ContentKeyPolicy used by this Streaming Locator." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the Streaming Locator." + }, + "filters": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of asset or account filters which apply to this streaming locator" + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the Streaming Locator." + }, + "streamingLocatorId": { "oneOf": [ { "type": "string", - "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Failed" - ] + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The provisioning state of the private endpoint connection resource." + "description": "The StreamingLocatorId of the Streaming Locator." + }, + "streamingPolicyName": { + "type": "string", + "description": "Name of the Streaming Policy used by this Streaming Locator. Either specify the name of Streaming Policy you created or use one of the predefined Streaming Policies. The predefined Streaming Policies available are: 'Predefined_DownloadOnly', 'Predefined_ClearStreamingOnly', 'Predefined_DownloadAndClearStreaming', 'Predefined_ClearKey', 'Predefined_MultiDrmCencStreaming' and 'Predefined_MultiDrmStreaming'" } }, "required": [ - "privateLinkServiceConnectionState" + "assetName", + "streamingPolicyName" ], - "description": "Properties of the PrivateEndpointConnectProperties." + "description": "Properties of the Streaming Locator." }, - "PrivateLinkServiceConnectionState": { + "StreamingPolicyContentKey": { "type": "object", "properties": { - "actionsRequired": { + "label": { "type": "string", - "description": "A message indicating if changes on the service provider require any updates on the consumer." + "description": "Label can be used to specify Content Key when creating a Streaming Locator" }, - "description": { + "policyName": { "type": "string", - "description": "The reason for approval/rejection of the connection." + "description": "Policy used by Content Key" }, - "status": { + "tracks": { "oneOf": [ { - "type": "string", - "enum": [ - "Pending", - "Approved", - "Rejected" - ] + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + "description": "Tracks which use this content key" } }, - "description": "A collection of information about the state of the connection between service consumer and provider." + "description": "Class to specify properties of content key" }, - "ResourceIdentity": { + "StreamingPolicyContentKeys": { "type": "object", "properties": { - "userAssignedIdentity": { - "type": "string", - "description": "The user assigned managed identity's ARM ID to use when accessing a resource." + "defaultKey": { + "oneOf": [ + { + "$ref": "#/definitions/DefaultKey" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class to specify properties of default content key for each encryption scheme" }, - "useSystemAssignedIdentity": { + "keyToTrackMappings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingPolicyContentKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Representing tracks needs separate content key" + } + }, + "description": "Class to specify properties of all content keys in Streaming Policy" + }, + "StreamingPolicyFairPlayConfiguration": { + "type": "object", + "properties": { + "allowPersistentLicense": { "oneOf": [ { "type": "boolean" @@ -474,54 +2859,243 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Indicates whether to use System Assigned Managed Identity. Mutual exclusive with User Assigned Managed Identity." + "description": "All license to be persistent or not" + }, + "customLicenseAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." } }, "required": [ - "useSystemAssignedIdentity" - ] + "allowPersistentLicense" + ], + "description": "Class to specify configurations of FairPlay in Streaming Policy" }, - "StorageAccount": { + "StreamingPolicyPlayReadyConfiguration": { "type": "object", "properties": { - "id": { + "customLicenseAcquisitionUrlTemplate": { "type": "string", - "description": "The ID of the storage account resource. Media Services relies on tables and queues as well as blobs, so the primary storage account must be a Standard Storage account (either Microsoft.ClassicStorage or Microsoft.Storage). Blob only storage accounts can be added as secondary storage accounts." + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." }, - "identity": { + "playReadyCustomAttributes": { + "type": "string", + "description": "Custom attributes for PlayReady" + } + }, + "description": "Class to specify configurations of PlayReady in Streaming Policy" + }, + "StreamingPolicyProperties": { + "type": "object", + "properties": { + "commonEncryptionCbcs": { "oneOf": [ { - "$ref": "#/definitions/ResourceIdentity" + "$ref": "#/definitions/CommonEncryptionCbcs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class for CommonEncryptionCbcs encryption scheme" + }, + "commonEncryptionCenc": { + "oneOf": [ + { + "$ref": "#/definitions/CommonEncryptionCenc" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class for envelope encryption scheme" + }, + "defaultContentKeyPolicyName": { + "type": "string", + "description": "Default ContentKey used by current Streaming Policy" + }, + "envelopeEncryption": { + "oneOf": [ + { + "$ref": "#/definitions/EnvelopeEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class for EnvelopeEncryption encryption scheme" + }, + "noEncryption": { + "oneOf": [ + { + "$ref": "#/definitions/NoEncryption" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Class for NoEncryption scheme" + } + }, + "description": "Class to specify properties of Streaming Policy" + }, + "StreamingPolicyWidevineConfiguration": { + "type": "object", + "properties": { + "customLicenseAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + } + }, + "description": "Class to specify configurations of Widevine in Streaming Policy" + }, + "TextTrack": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.TextTrack" ] }, - "type": { + "displayName": { + "type": "string", + "description": "The display name of the text track on a video player. In HLS, this maps to the NAME attribute of EXT-X-MEDIA." + }, + "fileName": { + "type": "string", + "description": "The file name to the source file. This file is located in the storage container of the asset." + }, + "hlsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/HlsSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The HLS setting for a track." + }, + "playerVisibility": { "oneOf": [ { "type": "string", "enum": [ - "Primary", - "Secondary" + "Hidden", + "Visible" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The type of the storage account." + "description": "When PlayerVisibility is set to \"Visible\", the text track will be present in the DASH manifest or HLS playlist when requested by a client. When the PlayerVisibility is set to \"Hidden\", the text will not be available to the client. The default value is \"Visible\"." } }, "required": [ - "type" + "@odata.type" ], - "description": "The storage account details." + "description": "Represents a text track in an asset. A text track is usually used for sparse data related to the audio or video tracks." + }, + "TrackBase": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AudioTrack" + }, + { + "$ref": "#/definitions/VideoTrack" + }, + { + "$ref": "#/definitions/TextTrack" + } + ], + "properties": {}, + "description": "Base type for concrete track types. A derived type must be used to represent the Track." + }, + "TrackPropertyCondition": { + "type": "object", + "properties": { + "operation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Equal" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Track property condition operation." + }, + "property": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "FourCC" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Track property type." + }, + "value": { + "type": "string", + "description": "Track property value" + } + }, + "required": [ + "operation", + "property" + ], + "description": "Class to specify one track property condition" + }, + "TrackSelection": { + "type": "object", + "properties": { + "trackSelections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrackPropertyCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "TrackSelections is a track property condition list which can specify track(s)" + } + }, + "description": "Class to select a track" }, "UserAssignedManagedIdentity": { "type": "object", "properties": {} + }, + "VideoTrack": { + "type": "object", + "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Media.VideoTrack" + ] + } + }, + "required": [ + "@odata.type" + ], + "description": "Represents a video track in the asset." } } } \ No newline at end of file diff --git a/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json b/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json new file mode 100644 index 0000000000..9642c94b1a --- /dev/null +++ b/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json @@ -0,0 +1,3254 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.ServiceFabric", + "description": "Microsoft ServiceFabric Resource Types", + "resourceDefinitions": { + "managedClusters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Azure resource location." + }, + "name": { + "type": "string", + "description": "The name of the cluster resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the managed cluster resource properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/managedclusters_applicationTypes_childResource" + }, + { + "$ref": "#/definitions/managedclusters_applications_childResource" + }, + { + "$ref": "#/definitions/managedClusters_nodeTypes_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service Fabric managed cluster Sku definition" + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ServiceFabric/managedClusters" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters" + }, + "managedclusters_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the managed identities for an Azure resource." + }, + "location": { + "type": "string", + "description": "Resource location depends on the parent resource." + }, + "name": { + "type": "string", + "description": "The name of the application resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The application resource properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/managedclusters_applications_services_childResource" + } + ] + } + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ServiceFabric/managedclusters/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location depends on the parent resource." + }, + "name": { + "type": "string", + "description": "The name of the service resource in the format of {applicationName}~{serviceName}." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service resource properties." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ServiceFabric/managedclusters/applications/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location depends on the parent resource." + }, + "name": { + "type": "string", + "description": "The name of the application type name resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The application type name properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/managedclusters_applicationTypes_versions_childResource" + } + ] + } + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ServiceFabric/managedclusters/applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location depends on the parent resource." + }, + "name": { + "type": "string", + "description": "The application type version." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the application type version resource." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the node type." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ServiceFabric/managedClusters/nodeTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters/nodeTypes" + } + }, + "definitions": { + "ApplicationHealthPolicy": { + "type": "object", + "properties": { + "considerWarningAsError": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether warnings are treated with the same severity as errors." + }, + "defaultServiceTypeHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceTypeHealthPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" + }, + "maxPercentUnhealthyDeployedApplications": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.\nThe percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.\nThis is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n" + }, + "serviceTypeHealthPolicyMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ServiceTypeHealthPolicy" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n" + } + }, + "required": [ + "considerWarningAsError", + "maxPercentUnhealthyDeployedApplications" + ], + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" + }, + "ApplicationResourceProperties": { + "type": "object", + "properties": { + "managedIdentities": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationUserAssignedIdentity" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of user assigned identities for the application, each mapped to a friendly name." + }, + "parameters": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of application parameters with overridden values from their default values specified in the application manifest." + }, + "upgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationUpgradePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the policy for a monitored application upgrade." + }, + "version": { + "type": "string", + "description": "The version of the application type as defined in the application manifest.\nThis name must be the full Arm Resource ID for the referenced application type version.\n" + } + }, + "description": "The application resource properties." + }, + "ApplicationTypeResourceProperties": { + "type": "object", + "properties": {}, + "description": "The application type name properties" + }, + "ApplicationTypeVersionResourceProperties": { + "type": "object", + "properties": { + "appPackageUrl": { + "type": "string", + "description": "The URL to the application package" + } + }, + "required": [ + "appPackageUrl" + ], + "description": "The properties of the application type version resource." + }, + "ApplicationTypeVersionsCleanupPolicy": { + "type": "object", + "properties": { + "maxUnusedVersionsToKeep": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of unused versions per application type to keep." + } + }, + "required": [ + "maxUnusedVersionsToKeep" + ], + "description": "The policy used to clean up unused versions. When the policy is not specified explicitly, the default unused application versions to keep will be 3." + }, + "ApplicationUpgradePolicy": { + "type": "object", + "properties": { + "applicationHealthPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" + }, + "forceRestart": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)." + }, + "instanceCloseDelayDuration": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade, only for those instances which have a non-zero delay duration configured in the service description." + }, + "recreateApplication": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed." + }, + "rollingUpgradeMonitoringPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy used for monitoring the application upgrade" + }, + "upgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Monitored", + "UnmonitoredAuto" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "upgradeReplicaSetCheckTimeout": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)." + } + }, + "description": "Describes the policy for a monitored application upgrade." + }, + "ApplicationUserAssignedIdentity": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The friendly name of user assigned identity." + }, + "principalId": { + "type": "string", + "description": "The principal id of user assigned identity." + } + }, + "required": [ + "name", + "principalId" + ] + }, + "AzureActiveDirectory": { + "type": "object", + "properties": { + "clientApplication": { + "type": "string", + "description": "Azure active directory client application id." + }, + "clusterApplication": { + "type": "string", + "description": "Azure active directory cluster application id." + }, + "tenantId": { + "type": "string", + "description": "Azure active directory tenant id." + } + }, + "description": "The settings to enable AAD authentication on the cluster." + }, + "ClientCertificate": { + "type": "object", + "properties": { + "commonName": { + "type": "string", + "description": "Certificate common name." + }, + "isAdmin": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "issuerThumbprint": { + "type": "string", + "description": "Issuer thumbprint for the certificate. Only used together with CommonName." + }, + "thumbprint": { + "type": "string", + "description": "Certificate thumbprint." + } + }, + "required": [ + "isAdmin" + ], + "description": "Client certificate definition." + }, + "EndpointRangeDescription": { + "type": "object", + "properties": { + "endPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "End port of a range of ports" + }, + "startPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Starting port of a range of ports" + } + }, + "required": [ + "endPort", + "startPort" + ], + "description": "Port range details" + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPoolId": { + "type": "string", + "format": "arm-id", + "description": "The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGateways//backendAddressPools/'." + }, + "ipAddressType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "description": "The resource Id of the Load Balancer backend address pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/loadBalancers//backendAddressPools/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "description": "The resource Id of the Load Balancer inbound NAT pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/loadBalancers//inboundNatPools/'." + } + }, + "description": "Describes the frontend configurations for the node type." + }, + "IPTag": { + "type": "object", + "properties": { + "ipTagType": { + "type": "string", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "required": [ + "ipTagType", + "tag" + ], + "description": "IPTag associated with the object." + }, + "LoadBalancingRule": { + "type": "object", + "properties": { + "backendPort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535." + }, + "frontendPort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 1 and 65534." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + }, + "probePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65534 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535." + }, + "probeProtocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "tcp", + "http", + "https" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the reference to the load balancer probe used by the load balancing rule." + }, + "probeRequestPath": { + "type": "string", + "description": "The probe request path. Only supported for HTTP/HTTPS probes." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "tcp", + "udp" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The reference to the transport protocol used by the load balancing rule." + } + }, + "required": [ + "backendPort", + "frontendPort", + "probeProtocol", + "protocol" + ], + "description": "Describes a load balancing rule." + }, + "ManagedClusterProperties": { + "type": "object", + "properties": { + "addonFeatures": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "DnsService", + "BackupRestoreService", + "ResourceMonitorService" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of add-on features to enable on the cluster." + }, + "adminPassword": { + "type": "string", + "format": "password", + "description": "VM admin user password." + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "allowRdpAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true enables RDP access to the VM. The default NSG rule opens RDP port to Internet which can be overridden with custom Network Security Rules. The default value for this setting is false." + }, + "applicationTypeVersionsCleanupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy used to clean up unused versions. When the policy is not specified explicitly, the default unused application versions to keep will be 3." + }, + "auxiliarySubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary subnets for the cluster." + }, + "azureActiveDirectory": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectory" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The settings to enable AAD authentication on the cluster." + }, + "clientConnectionPort": { + "oneOf": [ + { + "type": "integer", + "default": "19000" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port used for client connections to the cluster." + }, + "clients": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ClientCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Client certificates that are allowed to manage the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "description": "The Service Fabric runtime version of the cluster. This property is required when **clusterUpgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**." + }, + "clusterUpgradeCadence": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates when new cluster runtime version upgrades will be applied after they are released. By default is Wave0. Only applies when **clusterUpgradeMode** is set to 'Automatic'." + }, + "clusterUpgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "enableAutoOSUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true enables automatic OS upgrade for the node types that are created using any platform OS image with version 'latest'. The default value for this setting is false." + }, + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true creates IPv6 address space for the default VNet used by the cluster. This setting cannot be changed once the cluster is created. The default value for this setting is false." + }, + "enableServicePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "fabricSettings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SettingsSectionDescription" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of custom fabric settings to configure the cluster." + }, + "httpGatewayConnectionPort": { + "oneOf": [ + { + "type": "integer", + "default": "19080" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port used for HTTP connections to the cluster." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of IP tags associated with the default public IP address of the cluster." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service endpoints for subnets in the cluster." + }, + "subnetId": { + "type": "string", + "description": "If specified, the node types for the cluster are created in this subnet instead of the default VNet. The **networkSecurityRules** specified for the cluster are also applied to this subnet. This setting cannot be changed once the cluster is created." + }, + "useCustomVnet": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "For new clusters, this parameter indicates that it uses Bring your own VNet, but the subnet is specified at node type level; and for such clusters, the subnetId property is required for node types." + }, + "zonalResiliency": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the cluster has zone resiliency." + }, + "zonalUpdateMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Fast" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the update mode for Cross Az clusters." + } + }, + "required": [ + "adminUserName", + "dnsName" + ], + "description": "Describes the managed cluster resource properties." + }, + "managedclusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the managed identities for an Azure resource." + }, + "location": { + "type": "string", + "description": "Resource location depends on the parent resource." + }, + "name": { + "type": "string", + "description": "The name of the application resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The application resource properties." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications" + }, + "managedclusters_applications_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location depends on the parent resource." + }, + "name": { + "type": "string", + "description": "The name of the service resource in the format of {applicationName}~{serviceName}." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service resource properties." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applications/services" + }, + "managedclusters_applicationTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location depends on the parent resource." + }, + "name": { + "type": "string", + "description": "The name of the application type name resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The application type name properties" + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "applicationTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes" + }, + "managedclusters_applicationTypes_versions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location depends on the parent resource." + }, + "name": { + "type": "string", + "description": "The application type version." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the application type version resource." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "versions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions" + }, + "managedClusters_nodeTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the node type." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NodeTypeSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a node type sku." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource tags." + }, + "type": { + "type": "string", + "enum": [ + "nodeTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceFabric/managedClusters/nodeTypes" + }, + "ManagedIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\n" + } + }, + "description": "Describes the managed identities for an Azure resource." + }, + "NetworkSecurityRule": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network traffic is allowed or denied." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "destinationAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "destinationPortRange": { + "type": "string", + "description": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network security rule direction." + }, + "name": { + "type": "string", + "description": "Network security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1000, + "maximum": 3000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The priority of the rule. The value can be in the range 1000 to 3000. Values outside this range are reserved for Service Fabric ManagerCluster Resource Provider. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "http", + "https", + "tcp", + "udp", + "icmp", + "ah", + "esp" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network protocol this rule applies to." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + } + }, + "required": [ + "access", + "direction", + "name", + "priority", + "protocol" + ], + "description": "Describes a network security rule." + }, + "NodeTypeProperties": { + "type": "object", + "properties": { + "additionalDataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional managed data disks." + }, + "applicationPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "capacities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capacity tags applied to the nodes in the node type, the cluster resource manager uses these tags to understand how much resource a node has." + }, + "dataDiskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "dataDiskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "enableEncryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource." + }, + "enableNodePublicIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether each node is allocated its own public IP address. This is only supported on secondary node types with custom Load Balancers." + }, + "enableOverProvisioning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + }, + "ephemeralPorts": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointRangeDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port range details" + }, + "evictionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete." + }, + "frontendConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the node type uses its own frontend configurations instead of the default one for the cluster. This setting can only be specified for non-primary node types and can not be added or removed after the node type is created." + }, + "hostGroupId": { + "type": "string", + "description": "Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts." + }, + "isPrimary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the Service Fabric system services for the cluster will run on this node type. This setting cannot be changed once the node type is created." + }, + "isSpotVM": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time." + }, + "isStateless": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the node type can only host Stateless workloads." + }, + "multiplePlacementGroups": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if scale set associated with the node type can be composed of multiple placement groups." + }, + "networkSecurityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Network Security Rules for this node type. This setting can only be specified for node types that are configured with frontend configurations." + }, + "placementProperties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run." + }, + "secureBootEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether secure boot should be enabled on the nodeType. Can only be used with TrustedLaunch SecurityType" + }, + "securityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TrustedLaunch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the security type of the nodeType. Only TrustedLaunch is currently supported." + }, + "spotRestoreTimeout": { + "type": "string", + "description": "Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601." + }, + "subnetId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the subnet for the node type." + }, + "useDefaultPublicLoadBalancer": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useEphemeralOSDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature." + }, + "useTempDataDisk": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "vmExtensions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VMSSExtension" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of extensions that should be installed onto the virtual machines." + }, + "vmImageOffer": { + "type": "string", + "description": "The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer." + }, + "vmImagePublisher": { + "type": "string", + "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." + }, + "vmImageResourceId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm image. This parameter is used for custom vm image." + }, + "vmImageSku": { + "type": "string", + "description": "The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter." + }, + "vmImageVersion": { + "type": "string", + "description": "The version of the Azure Virtual Machines Marketplace image. A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'." + }, + "vmInstanceCount": { + "oneOf": [ + { + "type": "integer", + "minimum": -1, + "maximum": 2147483647 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of nodes in the node type.

**Values:**
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale." + }, + "vmManagedIdentity": { + "oneOf": [ + { + "$ref": "#/definitions/VmManagedIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identities for the virtual machine scale set under the node type." + }, + "vmSecrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The secrets to install in the virtual machines." + }, + "vmSetupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "EnableContainers", + "EnableHyperV" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the actions to be performed on the vms before bootstrapping the service fabric runtime." + }, + "VmSharedGalleryImageId": { + "type": "string", + "format": "arm-id", + "description": "Indicates the resource id of the vm shared galleries image. This parameter is used for custom vm image." + }, + "vmSize": { + "type": "string", + "description": "The size of virtual machines in the pool. All virtual machines in a pool are the same size. For example, Standard_D3." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster." + } + }, + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 2147483647 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of nodes in the node type.

If present in request it will override properties.vmInstanceCount." + }, + "name": { + "type": "string", + "description": "The sku name.

Name is internally generated and is used in auto-scale scenarios.
Property does not allow to be changed to other values than generated.
To avoid deployment errors please omit the property." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of the node type.

Possible Values:
**Standard**" + } + }, + "required": [ + "capacity" + ], + "description": "Describes a node type sku." + }, + "Partition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SingletonPartitionScheme" + } + ], + "properties": {}, + "description": "Describes how the service is partitioned." + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "properties": { + "failureAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Rollback", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations. Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically. Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode." + }, + "healthCheckRetryTimeout": { + "type": "string", + "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "healthCheckStableDuration": { + "type": "string", + "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "healthCheckWaitDuration": { + "type": "string", + "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "upgradeDomainTimeout": { + "type": "string", + "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. Cannot be larger than 12 hours. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "upgradeTimeout": { + "type": "string", + "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. Cannot be larger than 12 hours. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + } + }, + "required": [ + "failureAction", + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "upgradeDomainTimeout", + "upgradeTimeout" + ], + "description": "The policy used for monitoring the application upgrade" + }, + "ScalingMechanism": { + "type": "object", + "properties": {}, + "description": "Describes the mechanism for performing a scaling operation." + }, + "ScalingPolicy": { + "type": "object", + "properties": { + "scalingMechanism": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mechanism for performing a scaling operation." + }, + "scalingTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the trigger for performing a scaling operation." + } + }, + "required": [ + "scalingMechanism", + "scalingTrigger" + ], + "description": "Specifies a metric to load balance a service during runtime." + }, + "ScalingTrigger": { + "type": "object", + "properties": {}, + "description": "Describes the trigger for performing a scaling operation." + }, + "ServiceCorrelation": { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AlignedAffinity", + "NonAlignedAffinity" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName." + }, + "serviceName": { + "type": "string", + "description": "The full ARM Resource ID describing the service resource" + } + }, + "required": [ + "scheme", + "serviceName" + ], + "description": "Creates a particular correlation between services." + }, + "ServiceEndpoint": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of locations." + }, + "service": { + "type": "string", + "description": "The type of the endpoint service." + } + }, + "required": [ + "service" + ], + "description": "The service endpoint properties." + }, + "ServiceLoadMetric": { + "type": "object", + "properties": { + "defaultLoad": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric." + }, + "name": { + "type": "string", + "description": "The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case sensitive." + }, + "primaryDefaultLoad": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Primary replica." + }, + "secondaryDefaultLoad": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Secondary replica." + }, + "weight": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Zero", + "Low", + "Medium", + "High" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service load metric relative weight, compared to other metrics configured for this service, as a number." + } + }, + "required": [ + "name" + ], + "description": "Specifies a metric to load balance a service during runtime." + }, + "ServicePlacementNonPartiallyPlaceServicePolicy": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "NonPartiallyPlaceService" + ] + } + }, + "required": [ + "type" + ], + "description": "ServicePlacementNonPartiallyPlaceServicePolicy" + }, + "ServicePlacementPolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ServicePlacementNonPartiallyPlaceServicePolicy" + } + ], + "properties": {}, + "description": "Describes the policy to be used for placement of a Service Fabric service." + }, + "ServiceResourceProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StatefulServiceProperties" + }, + { + "$ref": "#/definitions/StatelessServiceProperties" + } + ], + "properties": { + "correlationScheme": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list that describes the correlation of the service with other services." + }, + "defaultMoveCost": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Zero", + "Low", + "Medium", + "High" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "partitionDescription": { + "oneOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes how the service is partitioned." + }, + "placementConstraints": { + "type": "string", + "description": "The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: \"NodeColor == blue)\"." + }, + "scalingPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScalingPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scaling policies for this service." + }, + "serviceDnsName": { + "type": "string", + "description": "Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).\nWhen updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.\nWhen removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.\n" + }, + "serviceLoadMetrics": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceLoadMetric" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service load metrics is given as an array of ServiceLoadMetric objects." + }, + "servicePackageActivationMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SharedProcess", + "ExclusiveProcess" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The activation Mode of the service package." + }, + "servicePlacementPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServicePlacementPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list that describes the correlation of the service with other services." + }, + "serviceTypeName": { + "type": "string", + "description": "The name of the service type" + } + }, + "required": [ + "partitionDescription", + "serviceTypeName" + ], + "description": "The service resource properties." + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "properties": { + "maxPercentUnhealthyPartitionsPerService": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum allowed percentage of unhealthy partitions per service.\n\nThe percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.\nIf the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.\nThe computation rounds up to tolerate one failure on small numbers of partitions.\n" + }, + "maxPercentUnhealthyReplicasPerPartition": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum allowed percentage of unhealthy replicas per partition.\n\nThe percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.\nIf the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.\nThe computation rounds up to tolerate one failure on small numbers of replicas.\n" + }, + "maxPercentUnhealthyServices": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum allowed percentage of unhealthy services.\n\nThe percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.\nIf the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy services of the specific service type over the total number of services of the specific service type.\nThe computation rounds up to tolerate one failure on small numbers of services.\n" + } + }, + "required": [ + "maxPercentUnhealthyPartitionsPerService", + "maxPercentUnhealthyReplicasPerPartition", + "maxPercentUnhealthyServices" + ], + "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n" + }, + "SettingsParameterDescription": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The parameter name of fabric setting." + }, + "value": { + "type": "string", + "description": "The parameter value of fabric setting." + } + }, + "required": [ + "name", + "value" + ], + "description": "Describes a parameter in fabric settings of the cluster." + }, + "SettingsSectionDescription": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The section name of the fabric settings." + }, + "parameters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SettingsParameterDescription" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The collection of parameters in the section." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Describes a section in the fabric settings of the cluster." + }, + "SingletonPartitionScheme": { + "type": "object", + "properties": { + "partitionScheme": { + "type": "string", + "enum": [ + "Singleton" + ] + } + }, + "required": [ + "partitionScheme" + ], + "description": "SingletonPartitionScheme" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku Name." + } + }, + "required": [ + "name" + ], + "description": "Service Fabric managed cluster Sku definition" + }, + "StatefulServiceProperties": { + "type": "object", + "properties": { + "hasPersistedState": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false." + }, + "minReplicaSetSize": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum replica set size as a number." + }, + "quorumLossWaitDuration": { + "type": "string", + "description": "The maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "replicaRestartWaitDuration": { + "type": "string", + "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "serviceKind": { + "type": "string", + "enum": [ + "Stateful" + ] + }, + "servicePlacementTimeLimit": { + "type": "string", + "description": "The duration for which replicas can stay InBuild before reporting that build is stuck, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "standByReplicaKeepDuration": { + "type": "string", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "targetReplicaSetSize": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The target replica set size as a number." + } + }, + "required": [ + "serviceKind" + ], + "description": "The properties of a stateful service resource." + }, + "StatelessServiceProperties": { + "type": "object", + "properties": { + "instanceCount": { + "oneOf": [ + { + "type": "integer", + "minimum": -1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The instance count." + }, + "minInstanceCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "minInstancePercentage": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "serviceKind": { + "type": "string", + "enum": [ + "Stateless" + ] + } + }, + "required": [ + "instanceCount", + "serviceKind" + ], + "description": "The properties of a stateless service resource." + }, + "Subnet": { + "type": "object", + "properties": { + "enableIpv6": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "name": { + "type": "string", + "description": "Subnet name." + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + }, + "privateEndpointNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "required": [ + "name" + ], + "description": "Describes a Subnet." + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier." + } + }, + "description": "Azure resource identifier." + }, + "SystemData": { + "type": "object", + "properties": { + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource." + } + }, + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {} + }, + "VaultCertificate": { + "type": "object", + "properties": { + "certificateStore": { + "type": "string", + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted." + }, + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}" + } + }, + "required": [ + "certificateStore", + "certificateUrl" + ], + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + }, + "VaultSecretGroup": { + "type": "object", + "properties": { + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure resource identifier." + }, + "vaultCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VaultCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of key vault references in SourceVault which contain certificates." + } + }, + "required": [ + "sourceVault", + "vaultCertificates" + ], + "description": "Specifies set of certificates that should be installed onto the virtual machines." + }, + "VmManagedIdentity": { + "type": "object", + "properties": { + "userAssignedIdentities": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the virtual machine scale set under the node type. Each entry will be an ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identities for the virtual machine scale set under the node type." + }, + "VmssDataDisk": { + "type": "object", + "properties": { + "diskLetter": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z]{1}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk size for each vm in the node type in GBs." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed data disk type. Specifies the storage account type for the managed disk." + }, + "lun": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk." + } + }, + "required": [ + "diskLetter", + "diskSizeGB", + "diskType", + "lun" + ], + "description": "Managed data disk description." + }, + "VMSSExtension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VMSSExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Specifies set of extensions that should be installed onto the virtual machines." + }, + "VMSSExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "enableAutomaticUpgrade": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "forceUpdateTag": { + "type": "string", + "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "provisionAfterExtensions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of extension names after which this extension needs to be provisioned." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Json formatted public settings for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + } + }, + "required": [ + "publisher", + "type", + "typeHandlerVersion" + ], + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + } + } +} \ No newline at end of file diff --git a/schemas/2023-02-01/Microsoft.KeyVault.json b/schemas/2023-02-01/Microsoft.KeyVault.json new file mode 100644 index 0000000000..4e08b4a72b --- /dev/null +++ b/schemas/2023-02-01/Microsoft.KeyVault.json @@ -0,0 +1,2582 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.KeyVault.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.KeyVault", + "description": "Microsoft KeyVault Resource Types", + "resourceDefinitions": { + "managedHSMs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "location": { + "type": "string", + "description": "The supported Azure location where the managed HSM Pool should be created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z]([A-Za-z0-9]|\\-[A-Za-z0-9])+$", + "minLength": 3, + "maxLength": 24 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the managed HSM Pool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedHsmProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the managed HSM Pool" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/managedHSMs_keys_childResource" + }, + { + "$ref": "#/definitions/managedHSMs_privateEndpointConnections_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedHsmSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU details" + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the key vault resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.KeyVault/managedHSMs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/managedHSMs" + }, + "managedHSMs_keys": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the key to be created. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedHsmKeyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the key." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags that will be assigned to the key." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.KeyVault/managedHSMs/keys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/managedHSMs/keys" + }, + "managedHSMs_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "etag": { + "type": "string", + "description": "Modified whenever there is a change in the state of private endpoint connection." + }, + "location": { + "type": "string", + "description": "The supported Azure location where the managed HSM Pool should be created." + }, + "name": { + "type": "string", + "description": "Name of the private endpoint connection associated with the managed hsm pool." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MHSMPrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the private endpoint connection resource." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedHsmSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU details" + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the key vault resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.KeyVault/managedHSMs/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/managedHSMs/privateEndpointConnections" + }, + "vaults": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "location": { + "type": "string", + "description": "The supported Azure location where the key vault should be created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the vault" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the vault" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vaults_keys_childResource" + }, + { + "$ref": "#/definitions/vaults_accessPolicies_childResource" + }, + { + "$ref": "#/definitions/vaults_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/vaults_secrets_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags that will be assigned to the key vault." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.KeyVault/vaults" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/vaults" + }, + "vaults_accessPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "add", + "replace", + "remove" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the operation." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultAccessPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the vault access policy" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.KeyVault/vaults/accessPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/vaults/accessPolicies" + }, + "vaults_keys": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the key to be created. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the key." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags that will be assigned to the key." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.KeyVault/vaults/keys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/vaults/keys" + }, + "vaults_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "etag": { + "type": "string", + "description": "Modified whenever there is a change in the state of private endpoint connection." + }, + "name": { + "type": "string", + "description": "Name of the private endpoint connection associated with the key vault." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the private endpoint connection resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.KeyVault/vaults/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/vaults/privateEndpointConnections" + }, + "vaults_secrets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the secret. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the secret" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags that will be assigned to the secret. " + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.KeyVault/vaults/secrets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/vaults/secrets" + } + }, + "definitions": { + "AccessPolicyEntry": { + "type": "object", + "properties": { + "applicationId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": " Application ID of the client making request on behalf of a principal" + }, + "objectId": { + "type": "string", + "description": "The object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies." + }, + "permissions": { + "oneOf": [ + { + "$ref": "#/definitions/Permissions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permissions the identity has for keys, secrets, certificates and storage." + }, + "tenantId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault." + } + }, + "required": [ + "objectId", + "permissions", + "tenantId" + ], + "description": "An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID." + }, + "Action": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "rotate", + "notify" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of action." + } + } + }, + "IPRule": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)." + } + }, + "required": [ + "value" + ], + "description": "A rule governing the accessibility of a vault from a specific ip address or ip range." + }, + "KeyAttributes": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether or not the object is enabled." + }, + "exp": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Expiry date in seconds since 1970-01-01T00:00:00Z." + }, + "exportable": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the private key can be exported." + }, + "nbf": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Not before date in seconds since 1970-01-01T00:00:00Z." + } + }, + "description": "The object attributes managed by the Azure Key Vault service." + }, + "KeyProperties": { + "type": "object", + "properties": { + "attributes": { + "oneOf": [ + { + "$ref": "#/definitions/KeyAttributes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The object attributes managed by the Azure Key Vault service." + }, + "curveName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The elliptic curve name. For valid values, see JsonWebKeyCurveName." + }, + "keyOps": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey", + "import", + "release" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "keySize": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA." + }, + "kty": { + "oneOf": [ + { + "type": "string", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the key. For valid values, see JsonWebKeyType." + }, + "release_policy": { + "oneOf": [ + { + "$ref": "#/definitions/KeyReleasePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "rotationPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RotationPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "The properties of the key." + }, + "KeyReleasePolicy": { + "type": "object", + "properties": { + "contentType": { + "type": "string", + "default": "application/json; charset=utf-8", + "description": "Content type and version of key release policy" + }, + "data": { + "type": "string", + "format": "base64url", + "description": "Blob encoding the policy rules under which the key can be released." + } + } + }, + "KeyRotationPolicyAttributes": { + "type": "object", + "properties": { + "expiryTime": { + "type": "string", + "description": "The expiration time for the new key version. It should be in ISO8601 format. Eg: 'P90D', 'P1Y'." + } + } + }, + "LifetimeAction": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "$ref": "#/definitions/Action" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "trigger": { + "oneOf": [ + { + "$ref": "#/definitions/Trigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "ManagedHsmAction": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "rotate", + "notify" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of action." + } + } + }, + "ManagedHsmKeyAttributes": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether or not the object is enabled." + }, + "exp": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Expiry date in seconds since 1970-01-01T00:00:00Z." + }, + "exportable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the private key can be exported." + }, + "nbf": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Not before date in seconds since 1970-01-01T00:00:00Z." + } + }, + "description": "The object attributes managed by the Azure Key Vault service." + }, + "ManagedHsmKeyProperties": { + "type": "object", + "properties": { + "attributes": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedHsmKeyAttributes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The object attributes managed by the Azure Key Vault service." + }, + "curveName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The elliptic curve name. For valid values, see JsonWebKeyCurveName." + }, + "keyOps": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey", + "import", + "release" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "keySize": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA." + }, + "kty": { + "oneOf": [ + { + "type": "string", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the key. For valid values, see JsonWebKeyType." + }, + "release_policy": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedHsmKeyReleasePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "rotationPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedHsmRotationPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "The properties of the key." + }, + "ManagedHsmKeyReleasePolicy": { + "type": "object", + "properties": { + "contentType": { + "type": "string", + "default": "application/json; charset=utf-8", + "description": "Content type and version of key release policy" + }, + "data": { + "type": "string", + "format": "base64url", + "description": "Blob encoding the policy rules under which the key can be released." + } + } + }, + "ManagedHsmKeyRotationPolicyAttributes": { + "type": "object", + "properties": { + "expiryTime": { + "type": "string", + "description": "The expiration time for the new key version. It should be in ISO8601 format. Eg: 'P90D', 'P1Y'." + } + } + }, + "ManagedHsmLifetimeAction": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedHsmAction" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "trigger": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedHsmTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "ManagedHsmProperties": { + "type": "object", + "properties": { + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "recover", + "default" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The create mode to indicate whether the resource is being created or is being recovered from a deleted resource." + }, + "enablePurgeProtection": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible." + }, + "enableSoftDelete": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. If it's not set to any value(true or false) when creating new managed HSM pool, it will be set to true by default. Once set to true, it cannot be reverted to false." + }, + "initialAdminObjectIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of initial administrators object ids for this managed hsm pool." + }, + "networkAcls": { + "oneOf": [ + { + "$ref": "#/definitions/MHSMNetworkRuleSet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A set of rules governing the network accessibility of a managed hsm pool." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled." + }, + "regions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MHSMGeoReplicatedRegion" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all regions associated with the managed hsm pool." + }, + "softDeleteRetentionInDays": { + "oneOf": [ + { + "type": "integer", + "default": "90" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "softDelete data retention days. It accepts >=7 and <=90." + }, + "tenantId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the managed HSM pool." + } + }, + "description": "Properties of the managed HSM Pool" + }, + "ManagedHsmRotationPolicy": { + "type": "object", + "properties": { + "attributes": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedHsmKeyRotationPolicyAttributes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "lifetimeActions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedHsmLifetimeAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The lifetimeActions for key rotation action." + } + } + }, + "ManagedHsmSku": { + "type": "object", + "properties": { + "family": { + "oneOf": [ + { + "type": "string", + "enum": [ + "B" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU Family of the managed HSM Pool" + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_B1", + "Custom_B32" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU of the managed HSM Pool." + } + }, + "required": [ + "family", + "name" + ], + "description": "SKU details" + }, + "managedHSMs_keys_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the key to be created. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedHsmKeyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the key." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags that will be assigned to the key." + }, + "type": { + "type": "string", + "enum": [ + "keys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/managedHSMs/keys" + }, + "managedHSMs_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "etag": { + "type": "string", + "description": "Modified whenever there is a change in the state of private endpoint connection." + }, + "location": { + "type": "string", + "description": "The supported Azure location where the managed HSM Pool should be created." + }, + "name": { + "type": "string", + "description": "Name of the private endpoint connection associated with the managed hsm pool." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MHSMPrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the private endpoint connection resource." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedHsmSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU details" + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the key vault resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/managedHSMs/privateEndpointConnections" + }, + "ManagedHsmTrigger": { + "type": "object", + "properties": { + "timeAfterCreate": { + "type": "string", + "description": "The time duration after key creation to rotate the key. It only applies to rotate. It will be in ISO 8601 duration format. Eg: 'P90D', 'P1Y'." + }, + "timeBeforeExpiry": { + "type": "string", + "description": "The time duration before key expiring to rotate or notify. It will be in ISO 8601 duration format. Eg: 'P90D', 'P1Y'." + } + } + }, + "MHSMGeoReplicatedRegion": { + "type": "object", + "properties": { + "isPrimary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates whether the region is the primary region or a secondary region." + }, + "name": { + "type": "string", + "description": "Name of the geo replicated region." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Preprovisioning", + "Provisioning", + "Succeeded", + "Failed", + "Deleting", + "Cleanup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioning state of the geo replicated region." + } + }, + "description": "A region that this managed HSM Pool has been extended to." + }, + "MHSMIPRule": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)." + } + }, + "required": [ + "value" + ], + "description": "A rule governing the accessibility of a managed HSM pool from a specific IP address or IP range." + }, + "MHSMNetworkRuleSet": { + "type": "object", + "properties": { + "bypass": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureServices", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'." + }, + "defaultAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated." + }, + "ipRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MHSMIPRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of IP address rules." + }, + "virtualNetworkRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MHSMVirtualNetworkRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of virtual network rules." + } + }, + "description": "A set of rules governing the network accessibility of a managed hsm pool." + }, + "MHSMPrivateEndpoint": { + "type": "object", + "properties": {}, + "description": "Private endpoint object properties." + }, + "MHSMPrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/MHSMPrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint object properties." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/MHSMPrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An object that represents the approval state of the private link connection." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Creating", + "Updating", + "Deleting", + "Failed", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioning state of the private endpoint connection." + } + }, + "description": "Properties of the private endpoint connection resource." + }, + "MHSMPrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A message indicating if changes on the service provider require any updates on the consumer." + }, + "description": { + "type": "string", + "description": "The reason for approval or rejection." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the connection has been approved, rejected or removed by the key vault owner." + } + }, + "description": "An object that represents the approval state of the private link connection." + }, + "MHSMVirtualNetworkRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'." + } + }, + "required": [ + "id" + ], + "description": "A rule governing the accessibility of a managed hsm pool from a specific virtual network." + }, + "NetworkRuleSet": { + "type": "object", + "properties": { + "bypass": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureServices", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'." + }, + "defaultAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated." + }, + "ipRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of IP address rules." + }, + "virtualNetworkRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of virtual network rules." + } + }, + "description": "A set of rules governing the network accessibility of a vault." + }, + "Permissions": { + "type": "object", + "properties": { + "certificates": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "all", + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge", + "backup", + "restore" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permissions to certificates" + }, + "keys": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "all", + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge", + "release", + "rotate", + "getrotationpolicy", + "setrotationpolicy" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permissions to keys" + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "all", + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permissions to secrets" + }, + "storage": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "all", + "get", + "list", + "delete", + "set", + "update", + "regeneratekey", + "recover", + "purge", + "backup", + "restore", + "setsas", + "listsas", + "getsas", + "deletesas" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permissions to storage accounts" + } + }, + "description": "Permissions the identity has for keys, secrets, certificates and storage." + }, + "PrivateEndpoint": { + "type": "object", + "properties": {}, + "description": "Private endpoint object properties." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint object properties." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An object that represents the approval state of the private link connection." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Creating", + "Updating", + "Deleting", + "Failed", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioning state of the private endpoint connection." + } + }, + "description": "Properties of the private endpoint connection resource." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A message indicating if changes on the service provider require any updates on the consumer." + }, + "description": { + "type": "string", + "description": "The reason for approval or rejection." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the connection has been approved, rejected or removed by the key vault owner." + } + }, + "description": "An object that represents the approval state of the private link connection." + }, + "RotationPolicy": { + "type": "object", + "properties": { + "attributes": { + "oneOf": [ + { + "$ref": "#/definitions/KeyRotationPolicyAttributes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "lifetimeActions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LifetimeAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The lifetimeActions for key rotation action." + } + } + }, + "SecretAttributes": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether the object is enabled." + }, + "exp": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Expiry date in seconds since 1970-01-01T00:00:00Z." + }, + "nbf": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Not before date in seconds since 1970-01-01T00:00:00Z." + } + }, + "description": "The secret management attributes." + }, + "SecretProperties": { + "type": "object", + "properties": { + "attributes": { + "oneOf": [ + { + "$ref": "#/definitions/SecretAttributes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The secret management attributes." + }, + "contentType": { + "type": "string", + "description": "The content type of the secret." + }, + "value": { + "type": "string", + "description": "The value of the secret. NOTE: 'value' will never be returned from the service, as APIs using this model are is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets." + } + }, + "description": "Properties of the secret" + }, + "Sku": { + "type": "object", + "properties": { + "family": { + "oneOf": [ + { + "type": "string", + "enum": [ + "A" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU family name" + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "standard", + "premium" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU name to specify whether the key vault is a standard vault or a premium vault." + } + }, + "required": [ + "family", + "name" + ], + "description": "SKU details" + }, + "SystemData": { + "type": "object", + "properties": { + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the key vault resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the key vault resource." + }, + "createdByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that created the key vault resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the key vault resource last modification (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the key vault resource." + }, + "lastModifiedByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that last modified the key vault resource." + } + }, + "description": "Metadata pertaining to creation and last modification of the key vault resource." + }, + "Trigger": { + "type": "object", + "properties": { + "timeAfterCreate": { + "type": "string", + "description": "The time duration after key creation to rotate the key. It only applies to rotate. It will be in ISO 8601 duration format. Eg: 'P90D', 'P1Y'." + }, + "timeBeforeExpiry": { + "type": "string", + "description": "The time duration before key expiring to rotate or notify. It will be in ISO 8601 duration format. Eg: 'P90D', 'P1Y'." + } + } + }, + "VaultAccessPolicyProperties": { + "type": "object", + "properties": { + "accessPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPolicyEntry" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID." + } + }, + "required": [ + "accessPolicies" + ], + "description": "Properties of the vault access policy" + }, + "VaultProperties": { + "type": "object", + "properties": { + "accessPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPolicyEntry" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of 0 to 1024 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID. When `createMode` is set to `recover`, access policies are not required. Otherwise, access policies are required." + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "recover", + "default" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vault's create mode to indicate whether the vault need to be recovered or not." + }, + "enabledForDeployment": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault." + }, + "enabledForDiskEncryption": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys." + }, + "enabledForTemplateDeployment": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault." + }, + "enablePurgeProtection": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value." + }, + "enableRbacAuthorization": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value of false. Note that management actions are always authorized with RBAC." + }, + "enableSoftDelete": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property to specify whether the 'soft delete' functionality is enabled for this key vault. If it's not set to any value(true or false) when creating new key vault, it will be set to true by default. Once set to true, it cannot be reverted to false." + }, + "networkAcls": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkRuleSet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A set of rules governing the network accessibility of a vault." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "RegisteringDns" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioning state of the vault." + }, + "publicNetworkAccess": { + "type": "string", + "default": "enabled", + "description": "Property to specify whether the vault will accept traffic from public internet. If set to 'disabled' all traffic except private endpoint traffic and that that originates from trusted services will be blocked. This will override the set firewall rules, meaning that even if the firewall rules are present we will not honor the rules." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU details" + }, + "softDeleteRetentionInDays": { + "oneOf": [ + { + "type": "integer", + "default": "90" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "softDelete data retention days. It accepts >=7 and <=90." + }, + "tenantId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault." + }, + "vaultUri": { + "type": "string", + "description": "The URI of the vault for performing operations on keys and secrets." + } + }, + "required": [ + "sku", + "tenantId" + ], + "description": "Properties of the vault" + }, + "vaults_accessPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "add", + "replace", + "remove" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the operation." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultAccessPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the vault access policy" + }, + "type": { + "type": "string", + "enum": [ + "accessPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/vaults/accessPolicies" + }, + "vaults_keys_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the key to be created. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the key." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags that will be assigned to the key." + }, + "type": { + "type": "string", + "enum": [ + "keys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/vaults/keys" + }, + "vaults_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "etag": { + "type": "string", + "description": "Modified whenever there is a change in the state of private endpoint connection." + }, + "name": { + "type": "string", + "description": "Name of the private endpoint connection associated with the key vault." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the private endpoint connection resource." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/vaults/privateEndpointConnections" + }, + "vaults_secrets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the secret. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the secret" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags that will be assigned to the secret. " + }, + "type": { + "type": "string", + "enum": [ + "secrets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.KeyVault/vaults/secrets" + }, + "VirtualNetworkRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'." + }, + "ignoreMissingVnetServiceEndpoint": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property to specify whether NRP will ignore the check if parent subnet has serviceEndpoints configured." + } + }, + "required": [ + "id" + ], + "description": "A rule governing the accessibility of a vault from a specific virtual network." + } + } +} \ No newline at end of file diff --git a/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json b/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json new file mode 100644 index 0000000000..c7925dc4f5 --- /dev/null +++ b/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json @@ -0,0 +1,4514 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.RecoveryServices", + "description": "Microsoft RecoveryServices Resource Types", + "resourceDefinitions": { + "vaults_replicationAlertSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the email notification(alert) configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigureAlertRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a configure alert request." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationAlertSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationAlertSettings" + }, + "vaults_replicationFabrics": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the ASR fabric." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FabricCreationInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of site details provided during the time of site creation." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_childResource" + }, + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationRecoveryServicesProviders_childResource" + }, + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationvCenters_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics" + }, + "vaults_replicationFabrics_replicationNetworks_replicationNetworkMappings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Network mapping name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateNetworkMappingInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Common input details for network mapping operation." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings" + }, + "vaults_replicationFabrics_replicationProtectionContainers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Unique protection container ARM name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionContainerInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create protection container input properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems_childResource" + }, + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems_childResource" + }, + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Migration item name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EnableMigrationInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable migration input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "A name for the replication protected item." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EnableProtectionInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable protection input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Protection container mapping name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configure pairing input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings" + }, + "vaults_replicationFabrics_replicationRecoveryServicesProviders": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Recovery services provider name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AddRecoveryServicesProviderInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an add provider request." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders" + }, + "vaults_replicationFabrics_replicationStorageClassifications_replicationStorageClassificationMappings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Storage classification mapping name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StorageMappingInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage mapping input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings" + }, + "vaults_replicationFabrics_replicationvCenters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "vcenter name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AddVCenterRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an add vCenter request." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters" + }, + "vaults_replicationPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Replication policy name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreatePolicyInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy creation properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationPolicies" + }, + "vaults_replicationProtectionIntents": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "A name for the replication protection item." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionIntentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create protection intent input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationProtectionIntents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationProtectionIntents" + }, + "vaults_replicationRecoveryPlans": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Recovery plan name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateRecoveryPlanInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery plan creation properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans" + }, + "vaults_replicationVaultSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Vault setting name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultSettingCreationInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input to create vault setting." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationVaultSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationVaultSettings" + } + }, + "definitions": { + "A2AContainerCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "A2A cloud creation input." + }, + "A2AContainerMappingInput": { + "type": "object", + "properties": { + "agentAutoUpdateStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether the auto update is enabled." + }, + "automationAccountArmId": { + "type": "string", + "description": "The automation account arm id." + }, + "automationAccountAuthenticationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RunAsAccount", + "SystemAssignedIdentity" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the type authentication to use for automation Account." + }, + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "A2A container mapping input." + }, + "A2ACreateProtectionIntentInput": { + "type": "object", + "properties": { + "agentAutoUpdateStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether the auto update is enabled." + }, + "automationAccountArmId": { + "type": "string", + "description": "The automation account arm id." + }, + "automationAccountAuthenticationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RunAsAccount", + "SystemAssignedIdentity" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the authentication type for automation account. The default value is \"RunAsAccount\"." + }, + "autoProtectionOfDataDisk": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether the auto protection is enabled." + }, + "diskEncryptionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery disk encryption info (BEK and KEK)." + }, + "fabricObjectId": { + "type": "string", + "description": "The fabric specific object Id of the virtual machine." + }, + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + }, + "multiVmGroupId": { + "type": "string", + "description": "The multi vm group id." + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi vm group name." + }, + "primaryLocation": { + "type": "string", + "description": "The primary location for the virtual machine." + }, + "primaryStagingStorageAccountCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/StorageAccountCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage account custom input." + }, + "protectionProfileCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/ProtectionProfileCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protection Profile custom input." + }, + "recoveryAvailabilitySetCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery Availability Set custom input." + }, + "recoveryAvailabilityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Single", + "AvailabilitySet", + "AvailabilityZone" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The recovery availability type of the virtual machine." + }, + "recoveryAvailabilityZone": { + "type": "string", + "description": "The recovery availability zone." + }, + "recoveryBootDiagStorageAccount": { + "oneOf": [ + { + "$ref": "#/definitions/StorageAccountCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage account custom input." + }, + "recoveryLocation": { + "type": "string", + "description": "The recovery location for the virtual machine." + }, + "recoveryProximityPlacementGroupCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery Proximity placement group custom input." + }, + "recoveryResourceGroupId": { + "type": "string", + "description": "The recovery resource group Id. Valid for V2 scenarios." + }, + "recoverySubscriptionId": { + "type": "string", + "description": "The recovery subscription Id of the virtual machine." + }, + "recoveryVirtualNetworkCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery Virtual network custom input." + }, + "vmDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectionIntentDiskInputDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of vm disk inputs." + }, + "vmManagedDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectionIntentManagedDiskInputDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of vm managed disk inputs." + } + }, + "required": [ + "fabricObjectId", + "instanceType", + "primaryLocation", + "recoveryAvailabilityType", + "recoveryLocation", + "recoveryResourceGroupId", + "recoverySubscriptionId" + ], + "description": "A2A create protection intent input." + }, + "A2ACrossClusterMigrationContainerCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "A2ACrossClusterMigration" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "A2ACrossClusterMigration cloud creation input." + }, + "A2ACrossClusterMigrationEnableProtectionInput": { + "type": "object", + "properties": { + "fabricObjectId": { + "type": "string", + "description": "The fabric specific object Id of the virtual machine." + }, + "instanceType": { + "type": "string", + "enum": [ + "A2ACrossClusterMigration" + ] + }, + "recoveryContainerId": { + "type": "string", + "description": "The recovery container Id." + } + }, + "required": [ + "instanceType" + ], + "description": "A2A Cross-Cluster Migration enable protection input." + }, + "A2ACrossClusterMigrationPolicyCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "A2ACrossClusterMigration" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "A2A Cross-Cluster Migration Policy creation input." + }, + "A2AEnableProtectionInput": { + "type": "object", + "properties": { + "diskEncryptionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery disk encryption info (BEK and KEK)." + }, + "fabricObjectId": { + "type": "string", + "description": "The fabric specific object Id of the virtual machine." + }, + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + }, + "multiVmGroupId": { + "type": "string", + "description": "The multi vm group id." + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi vm group name." + }, + "recoveryAvailabilitySetId": { + "type": "string", + "description": "The recovery availability set Id." + }, + "recoveryAvailabilityZone": { + "type": "string", + "description": "The recovery availability zone." + }, + "recoveryAzureNetworkId": { + "type": "string", + "description": "The recovery Azure virtual network ARM id." + }, + "recoveryBootDiagStorageAccountId": { + "type": "string", + "description": "The boot diagnostic storage account." + }, + "recoveryCapacityReservationGroupId": { + "type": "string", + "description": "The recovery capacity reservation group Id." + }, + "recoveryCloudServiceId": { + "type": "string", + "description": "The recovery cloud service Id. Valid for V1 scenarios." + }, + "recoveryContainerId": { + "type": "string", + "description": "The recovery container Id." + }, + "recoveryExtendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Extended location of the resource." + }, + "recoveryProximityPlacementGroupId": { + "type": "string", + "description": "The recovery proximity placement group Id." + }, + "recoveryResourceGroupId": { + "type": "string", + "description": "The recovery resource group Id. Valid for V2 scenarios." + }, + "recoverySubnetName": { + "type": "string", + "description": "The recovery subnet name." + }, + "recoveryVirtualMachineScaleSetId": { + "type": "string", + "description": "The virtual machine scale set Id." + }, + "vmDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of vm disk details." + }, + "vmManagedDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of vm managed disk details." + } + }, + "required": [ + "fabricObjectId", + "instanceType" + ], + "description": "A2A enable protection input." + }, + "A2APolicyCreationInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + }, + "multiVmSyncStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + } + }, + "required": [ + "instanceType", + "multiVmSyncStatus" + ], + "description": "A2A Policy creation input." + }, + "A2AProtectionIntentDiskInputDetails": { + "type": "object", + "properties": { + "diskUri": { + "type": "string", + "description": "The disk Uri." + }, + "primaryStagingStorageAccountCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/StorageAccountCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage account custom input." + }, + "recoveryAzureStorageAccountCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/StorageAccountCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage account custom input." + } + }, + "required": [ + "diskUri" + ], + "description": "Azure VM unmanaged disk input details." + }, + "A2AProtectionIntentManagedDiskInputDetails": { + "type": "object", + "properties": { + "diskEncryptionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery disk encryption info (BEK and KEK)." + }, + "diskId": { + "type": "string", + "description": "The disk Id." + }, + "primaryStagingStorageAccountCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/StorageAccountCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage account custom input." + }, + "recoveryDiskEncryptionSetId": { + "type": "string", + "description": "The recovery disk encryption set Id." + }, + "recoveryReplicaDiskAccountType": { + "type": "string", + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided." + }, + "recoveryResourceGroupCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/RecoveryResourceGroupCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery Resource Group custom input." + }, + "recoveryTargetDiskAccountType": { + "type": "string", + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided." + } + }, + "required": [ + "diskId" + ], + "description": "Azure VM managed disk input details." + }, + "A2AVmDiskInputDetails": { + "type": "object", + "properties": { + "diskUri": { + "type": "string", + "description": "The disk Uri." + }, + "primaryStagingAzureStorageAccountId": { + "type": "string", + "description": "The primary staging storage account Id." + }, + "recoveryAzureStorageAccountId": { + "type": "string", + "description": "The recovery VHD storage account Id." + } + }, + "required": [ + "diskUri", + "primaryStagingAzureStorageAccountId", + "recoveryAzureStorageAccountId" + ], + "description": "A2A disk input details." + }, + "A2AVmManagedDiskInputDetails": { + "type": "object", + "properties": { + "diskEncryptionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery disk encryption info (BEK and KEK)." + }, + "diskId": { + "type": "string", + "description": "The disk Id." + }, + "primaryStagingAzureStorageAccountId": { + "type": "string", + "description": "The primary staging storage account Arm Id." + }, + "recoveryDiskEncryptionSetId": { + "type": "string", + "description": "The recovery disk encryption set Id." + }, + "recoveryReplicaDiskAccountType": { + "type": "string", + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided." + }, + "recoveryResourceGroupId": { + "type": "string", + "description": "The target resource group Arm Id." + }, + "recoveryTargetDiskAccountType": { + "type": "string", + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided." + } + }, + "required": [ + "diskId", + "primaryStagingAzureStorageAccountId", + "recoveryResourceGroupId" + ], + "description": "A2A managed disk input details." + }, + "AddRecoveryServicesProviderInputProperties": { + "type": "object", + "properties": { + "authenticationIdentityInput": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProviderInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity provider input." + }, + "biosId": { + "type": "string", + "description": "The Bios Id of the machine." + }, + "dataPlaneAuthenticationIdentityInput": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProviderInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity provider input." + }, + "machineId": { + "type": "string", + "description": "The Id of the machine where the provider is getting added." + }, + "machineName": { + "type": "string", + "description": "The name of the machine where the provider is getting added." + }, + "resourceAccessIdentityInput": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProviderInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity provider input." + } + }, + "required": [ + "authenticationIdentityInput", + "machineName", + "resourceAccessIdentityInput" + ], + "description": "The properties of an add provider request." + }, + "AddVCenterRequestProperties": { + "type": "object", + "properties": { + "friendlyName": { + "type": "string", + "description": "The friendly name of the vCenter." + }, + "ipAddress": { + "type": "string", + "description": "The IP address of the vCenter to be discovered." + }, + "port": { + "type": "string", + "description": "The port number for discovery." + }, + "processServerId": { + "type": "string", + "description": "The process server Id from where the discovery is orchestrated." + }, + "runAsAccountId": { + "type": "string", + "description": "The account Id which has privileges to discover the vCenter." + } + }, + "description": "The properties of an add vCenter request." + }, + "AzureFabricCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "Azure" + ] + }, + "location": { + "type": "string", + "description": "The Location." + } + }, + "required": [ + "instanceType" + ], + "description": "Fabric provider specific settings." + }, + "AzureToAzureCreateNetworkMappingInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "AzureToAzure" + ] + }, + "primaryNetworkId": { + "type": "string", + "description": "The primary azure vnet Id." + } + }, + "required": [ + "instanceType", + "primaryNetworkId" + ], + "description": "Create network mappings input properties/behavior specific to Azure to Azure Network mapping." + }, + "ConfigureAlertRequestProperties": { + "type": "object", + "properties": { + "customEmailAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The custom email address for sending emails." + }, + "locale": { + "type": "string", + "description": "The locale for the email notification." + }, + "sendToOwners": { + "type": "string", + "description": "A value indicating whether to send email to subscription administrator." + } + }, + "description": "Properties of a configure alert request." + }, + "CreateNetworkMappingInputProperties": { + "type": "object", + "properties": { + "fabricSpecificDetails": { + "oneOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input details specific to fabrics during Network Mapping." + }, + "recoveryFabricName": { + "type": "string", + "description": "Recovery fabric Name." + }, + "recoveryNetworkId": { + "type": "string", + "description": "Recovery network Id." + } + }, + "required": [ + "recoveryNetworkId" + ], + "description": "Common input details for network mapping operation." + }, + "CreatePolicyInputProperties": { + "type": "object", + "properties": { + "providerSpecificInput": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for provider specific input." + } + }, + "description": "Policy creation properties." + }, + "CreateProtectionContainerInputProperties": { + "type": "object", + "properties": { + "providerSpecificInput": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provider specific inputs for container creation." + } + }, + "description": "Create protection container input properties." + }, + "CreateProtectionContainerMappingInputProperties": { + "type": "object", + "properties": { + "policyId": { + "type": "string", + "description": "Applicable policy." + }, + "providerSpecificInput": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provider specific input for pairing operations." + }, + "targetProtectionContainerId": { + "type": "string", + "description": "The target unique protection container name." + } + }, + "description": "Configure pairing input properties." + }, + "CreateProtectionIntentProperties": { + "type": "object", + "properties": { + "providerSpecificDetails": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionIntentProviderSpecificDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create protection intent provider specific input." + } + }, + "description": "Create protection intent input properties." + }, + "CreateProtectionIntentProviderSpecificDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/A2ACreateProtectionIntentInput" + } + ], + "properties": {}, + "description": "Create protection intent provider specific input." + }, + "CreateRecoveryPlanInputProperties": { + "type": "object", + "properties": { + "failoverDeploymentModel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotApplicable", + "Classic", + "ResourceManager" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The failover deployment model." + }, + "groups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The recovery plan groups." + }, + "primaryFabricId": { + "type": "string", + "description": "The primary fabric Id." + }, + "providerSpecificInput": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provider specific input." + }, + "recoveryFabricId": { + "type": "string", + "description": "The recovery fabric Id." + } + }, + "required": [ + "groups", + "primaryFabricId", + "recoveryFabricId" + ], + "description": "Recovery plan creation properties." + }, + "DiskEncryptionInfo": { + "type": "object", + "properties": { + "diskEncryptionKeyInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionKeyInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows)." + }, + "keyEncryptionKeyInfo": { + "oneOf": [ + { + "$ref": "#/definitions/KeyEncryptionKeyInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Encryption Key (KEK) information." + } + }, + "description": "Recovery disk encryption info (BEK and KEK)." + }, + "DiskEncryptionKeyInfo": { + "type": "object", + "properties": { + "keyVaultResourceArmId": { + "type": "string", + "description": "The KeyVault resource ARM id for secret." + }, + "secretIdentifier": { + "type": "string", + "description": "The secret url / identifier." + } + }, + "description": "Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows)." + }, + "EnableMigrationInputProperties": { + "type": "object", + "properties": { + "policyId": { + "type": "string", + "description": "The policy Id." + }, + "providerSpecificDetails": { + "oneOf": [ + { + "$ref": "#/definitions/EnableMigrationProviderSpecificInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable migration provider specific input." + } + }, + "required": [ + "policyId", + "providerSpecificDetails" + ], + "description": "Enable migration input properties." + }, + "EnableMigrationProviderSpecificInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/VMwareCbtEnableMigrationInput" + } + ], + "properties": {}, + "description": "Enable migration provider specific input." + }, + "EnableProtectionInputProperties": { + "type": "object", + "properties": { + "policyId": { + "type": "string", + "description": "The Policy Id." + }, + "protectableItemId": { + "type": "string", + "description": "The protectable item Id." + }, + "providerSpecificDetails": { + "oneOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable protection provider specific input." + } + }, + "description": "Enable protection input properties." + }, + "EnableProtectionProviderSpecificInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/A2ACrossClusterMigrationEnableProtectionInput" + }, + { + "$ref": "#/definitions/A2AEnableProtectionInput" + }, + { + "$ref": "#/definitions/HyperVReplicaAzureEnableProtectionInput" + }, + { + "$ref": "#/definitions/InMageAzureV2EnableProtectionInput" + }, + { + "$ref": "#/definitions/InMageEnableProtectionInput" + }, + { + "$ref": "#/definitions/InMageRcmEnableProtectionInput" + } + ], + "properties": {}, + "description": "Enable protection provider specific input." + }, + "ExistingProtectionProfile": { + "type": "object", + "properties": { + "protectionProfileId": { + "type": "string", + "description": "The protection profile Arm Id. Throw error, if resource does not exists." + }, + "resourceType": { + "type": "string", + "enum": [ + "Existing" + ] + } + }, + "required": [ + "protectionProfileId", + "resourceType" + ], + "description": "Existing storage account input." + }, + "ExistingRecoveryAvailabilitySet": { + "type": "object", + "properties": { + "recoveryAvailabilitySetId": { + "type": "string", + "description": "The recovery availability set Id. Will throw error, if resource does not exist." + }, + "resourceType": { + "type": "string", + "enum": [ + "Existing" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Existing recovery availability set input." + }, + "ExistingRecoveryProximityPlacementGroup": { + "type": "object", + "properties": { + "recoveryProximityPlacementGroupId": { + "type": "string", + "description": "The recovery proximity placement group Id. Will throw error, if resource does not exist." + }, + "resourceType": { + "type": "string", + "enum": [ + "Existing" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Existing recovery proximity placement group input." + }, + "ExistingRecoveryRecoveryResourceGroup": { + "type": "object", + "properties": { + "recoveryResourceGroupId": { + "type": "string", + "description": "The recovery resource group Id. Valid for V2 scenarios." + }, + "resourceType": { + "type": "string", + "enum": [ + "Existing" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Existing recovery resource group input." + }, + "ExistingRecoveryVirtualNetwork": { + "type": "object", + "properties": { + "recoverySubnetName": { + "type": "string", + "description": "The recovery subnet name." + }, + "recoveryVirtualNetworkId": { + "type": "string", + "description": "The recovery virtual network Id. Will throw error, if resource does not exist." + }, + "resourceType": { + "type": "string", + "enum": [ + "Existing" + ] + } + }, + "required": [ + "recoveryVirtualNetworkId", + "resourceType" + ], + "description": "Existing recovery virtual network input." + }, + "ExistingStorageAccount": { + "type": "object", + "properties": { + "azureStorageAccountId": { + "type": "string", + "description": "The storage account Arm Id. Throw error, if resource does not exists." + }, + "resourceType": { + "type": "string", + "enum": [ + "Existing" + ] + } + }, + "required": [ + "azureStorageAccountId", + "resourceType" + ], + "description": "Existing storage account input." + }, + "ExtendedLocation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "EdgeZone" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The extended location type." + } + }, + "required": [ + "name", + "type" + ], + "description": "Extended location of the resource." + }, + "FabricCreationInputProperties": { + "type": "object", + "properties": { + "customDetails": { + "oneOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fabric provider specific settings." + } + }, + "description": "Properties of site details provided during the time of site creation." + }, + "FabricSpecificCreateNetworkMappingInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureToAzureCreateNetworkMappingInput" + }, + { + "$ref": "#/definitions/VmmToAzureCreateNetworkMappingInput" + }, + { + "$ref": "#/definitions/VmmToVmmCreateNetworkMappingInput" + } + ], + "properties": {}, + "description": "Input details specific to fabrics during Network Mapping." + }, + "FabricSpecificCreationInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureFabricCreationInput" + }, + { + "$ref": "#/definitions/InMageRcmFabricCreationInput" + }, + { + "$ref": "#/definitions/VMwareV2FabricCreationInput" + } + ], + "properties": {}, + "description": "Fabric provider specific settings." + }, + "HyperVReplicaAzureDiskInputDetails": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "The DiskEncryptionSet ARM ID." + }, + "diskId": { + "type": "string", + "description": "The DiskId." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The DiskType." + }, + "logStorageAccountId": { + "type": "string", + "description": "The LogStorageAccountId." + } + }, + "description": "Disk input details." + }, + "HyperVReplicaAzureEnableProtectionInput": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "The DiskEncryptionSet ARM Id." + }, + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of VHD Ids of disks to be protected." + }, + "disksToIncludeForManagedDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/HyperVReplicaAzureDiskInputDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks to include list for managed disks." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The DiskType." + }, + "enableRdpOnTargetOption": { + "type": "string", + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum." + }, + "hvHostVmId": { + "type": "string", + "description": "The Hyper-V host VM Id." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplicaAzure" + ] + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "License type." + }, + "logStorageAccountId": { + "type": "string", + "description": "The storage account to be used for logging during replication." + }, + "osType": { + "type": "string", + "description": "The OS type associated with VM." + }, + "seedManagedDiskTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the seed managed disks." + }, + "sqlServerLicenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SQL Server license type." + }, + "targetAvailabilitySetId": { + "type": "string", + "description": "The target availability set ARM Id for resource manager deployment." + }, + "targetAvailabilityZone": { + "type": "string", + "description": "The target availability zone." + }, + "targetAzureNetworkId": { + "type": "string", + "description": "The selected target Azure network Id." + }, + "targetAzureSubnetId": { + "type": "string", + "description": "The selected target Azure subnet Id." + }, + "targetAzureV1ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created." + }, + "targetAzureV2ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created." + }, + "targetAzureVmName": { + "type": "string", + "description": "The target azure VM Name." + }, + "targetManagedDiskTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the target managed disks." + }, + "targetNicTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the target NICs." + }, + "targetProximityPlacementGroupId": { + "type": "string", + "description": "The proximity placement group ARM Id." + }, + "targetStorageAccountId": { + "type": "string", + "description": "The storage account Id." + }, + "targetVmSize": { + "type": "string", + "description": "The target VM size." + }, + "targetVmTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The target VM tags." + }, + "useManagedDisks": { + "type": "string", + "description": "A value indicating whether managed disks should be used during failover." + }, + "useManagedDisksForReplication": { + "type": "string", + "description": "A value indicating whether managed disks should be used during replication." + }, + "vhdId": { + "type": "string", + "description": "The OS disk VHD id associated with VM." + }, + "vmName": { + "type": "string", + "description": "The VM Name." + } + }, + "required": [ + "instanceType" + ], + "description": "HyperVReplicaAzure specific enable protection input." + }, + "HyperVReplicaAzurePolicyInput": { + "type": "object", + "properties": { + "applicationConsistentSnapshotFrequencyInHours": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplicaAzure" + ] + }, + "onlineReplicationStartTime": { + "type": "string", + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately." + }, + "recoveryPointHistoryDuration": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration (in hours) to which point the recovery history needs to be maintained." + }, + "replicationInterval": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The replication interval." + }, + "storageAccounts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to." + } + }, + "required": [ + "instanceType" + ], + "description": "Hyper-V Replica Azure specific input for creating a protection profile." + }, + "HyperVReplicaBluePolicyInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplica2012R2" + ] + }, + "replicationFrequencyInSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the replication interval." + } + }, + "required": [ + "instanceType" + ], + "description": "HyperV Replica Blue policy input." + }, + "HyperVReplicaPolicyInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/HyperVReplicaBluePolicyInput" + } + ], + "properties": { + "allowedAuthenticationType": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the authentication type." + }, + "applicationConsistentSnapshotFrequencyInHours": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the application consistent frequency." + }, + "compression": { + "type": "string", + "description": "A value indicating whether compression has to be enabled." + }, + "initialReplicationMethod": { + "type": "string", + "description": "A value indicating whether IR is online." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplica2012" + ] + }, + "offlineReplicationExportPath": { + "type": "string", + "description": "A value indicating the offline IR export path." + }, + "offlineReplicationImportPath": { + "type": "string", + "description": "A value indicating the offline IR import path." + }, + "onlineReplicationStartTime": { + "type": "string", + "description": "A value indicating the online IR start time." + }, + "recoveryPoints": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the number of recovery points." + }, + "replicaDeletion": { + "type": "string", + "description": "A value indicating whether the VM has to be auto deleted." + }, + "replicationPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the recovery HTTPS port." + } + }, + "required": [ + "instanceType" + ], + "description": "Hyper-V Replica specific policy Input." + }, + "IdentityProviderInput": { + "type": "object", + "properties": { + "aadAuthority": { + "type": "string", + "description": "The base authority for Azure Active Directory authentication." + }, + "applicationId": { + "type": "string", + "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services." + }, + "audience": { + "type": "string", + "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services." + }, + "objectId": { + "type": "string", + "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services." + }, + "tenantId": { + "type": "string", + "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services." + } + }, + "required": [ + "aadAuthority", + "applicationId", + "audience", + "objectId", + "tenantId" + ], + "description": "Identity provider input." + }, + "InMageAzureV2DiskInputDetails": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "The DiskEncryptionSet ARM ID." + }, + "diskId": { + "type": "string", + "description": "The DiskId." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The DiskType." + }, + "logStorageAccountId": { + "type": "string", + "description": "The LogStorageAccountId." + } + }, + "description": "Disk input details." + }, + "InMageAzureV2EnableProtectionInput": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "The DiskEncryptionSet ARM Id." + }, + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InMageAzureV2DiskInputDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks to include list." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The DiskType." + }, + "enableRdpOnTargetOption": { + "type": "string", + "description": "The selected option to enable RDP\\SSH on target VM after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageAzureV2" + ] + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "License type." + }, + "logStorageAccountId": { + "type": "string", + "description": "The storage account to be used for logging during replication." + }, + "masterTargetId": { + "type": "string", + "description": "The Master target Id." + }, + "multiVmGroupId": { + "type": "string", + "description": "The multi VM group Id." + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi VM group name." + }, + "processServerId": { + "type": "string", + "description": "The Process Server Id." + }, + "runAsAccountId": { + "type": "string", + "description": "The CS account Id." + }, + "seedManagedDiskTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the seed managed disks." + }, + "sqlServerLicenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SQL Server license type." + }, + "storageAccountId": { + "type": "string", + "description": "The storage account Id." + }, + "targetAvailabilitySetId": { + "type": "string", + "description": "The target availability set ARM Id for resource manager deployment." + }, + "targetAvailabilityZone": { + "type": "string", + "description": "The target availability zone." + }, + "targetAzureNetworkId": { + "type": "string", + "description": "The selected target Azure network Id." + }, + "targetAzureSubnetId": { + "type": "string", + "description": "The selected target Azure subnet Id." + }, + "targetAzureV1ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created." + }, + "targetAzureV2ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created." + }, + "targetAzureVmName": { + "type": "string", + "description": "The target azure VM Name." + }, + "targetManagedDiskTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the target managed disks." + }, + "targetNicTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the target NICs." + }, + "targetProximityPlacementGroupId": { + "type": "string", + "description": "The proximity placement group ARM Id." + }, + "targetVmSize": { + "type": "string", + "description": "The target VM size." + }, + "targetVmTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The target VM tags." + } + }, + "required": [ + "instanceType" + ], + "description": "VMware Azure specific enable protection input." + }, + "InMageAzureV2PolicyInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageAzureV2" + ] + }, + "multiVmSyncStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + }, + "recoveryPointThresholdInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The recovery point threshold in minutes." + } + }, + "required": [ + "instanceType", + "multiVmSyncStatus" + ], + "description": "VMWare Azure specific policy Input." + }, + "InMageDiskExclusionInput": { + "type": "object", + "properties": { + "diskSignatureOptions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The guest disk signature based option for disk exclusion." + }, + "volumeOptions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InMageVolumeExclusionOptions" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The volume label based option for disk exclusion." + } + }, + "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider." + }, + "InMageDiskSignatureExclusionOptions": { + "type": "object", + "properties": { + "diskSignature": { + "type": "string", + "description": "The guest signature of disk to be excluded from replication." + } + }, + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider." + }, + "InMageEnableProtectionInput": { + "type": "object", + "properties": { + "datastoreName": { + "type": "string", + "description": "The target datastore name." + }, + "diskExclusionInput": { + "oneOf": [ + { + "$ref": "#/definitions/InMageDiskExclusionInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider." + }, + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks to include list." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMage" + ] + }, + "masterTargetId": { + "type": "string", + "description": "The Master Target Id." + }, + "multiVmGroupId": { + "type": "string", + "description": "The multi VM group Id." + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi VM group name." + }, + "processServerId": { + "type": "string", + "description": "The Process Server Id." + }, + "retentionDrive": { + "type": "string", + "description": "The retention drive to use on the MT." + }, + "runAsAccountId": { + "type": "string", + "description": "The CS account Id." + }, + "vmFriendlyName": { + "type": "string", + "description": "The VM Name." + } + }, + "required": [ + "instanceType", + "masterTargetId", + "multiVmGroupId", + "multiVmGroupName", + "processServerId", + "retentionDrive" + ], + "description": "VMware Azure specific enable protection input." + }, + "InMagePolicyInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMage" + ] + }, + "multiVmSyncStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + }, + "recoveryPointThresholdInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The recovery point threshold in minutes." + } + }, + "required": [ + "instanceType", + "multiVmSyncStatus" + ], + "description": "VMWare Azure specific protection profile Input." + }, + "InMageRcmDiskInput": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "The DiskEncryptionSet ARM Id." + }, + "diskId": { + "type": "string", + "description": "The disk Id." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disk type." + }, + "logStorageAccountId": { + "type": "string", + "description": "The log storage account ARM Id." + } + }, + "required": [ + "diskId", + "diskType", + "logStorageAccountId" + ], + "description": "InMageRcm disk input." + }, + "InMageRcmDisksDefaultInput": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "The DiskEncryptionSet ARM Id." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disk type." + }, + "logStorageAccountId": { + "type": "string", + "description": "The log storage account ARM Id." + } + }, + "required": [ + "diskType", + "logStorageAccountId" + ], + "description": "InMageRcm disk input." + }, + "InMageRcmEnableProtectionInput": { + "type": "object", + "properties": { + "disksDefault": { + "oneOf": [ + { + "$ref": "#/definitions/InMageRcmDisksDefaultInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "InMageRcm disk input." + }, + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmDiskInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks to include list." + }, + "fabricDiscoveryMachineId": { + "type": "string", + "description": "The ARM Id of discovered machine." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageRcm" + ] + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The license type." + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi VM group name." + }, + "processServerId": { + "type": "string", + "description": "The process server Id." + }, + "runAsAccountId": { + "type": "string", + "description": "The run-as account Id." + }, + "targetAvailabilitySetId": { + "type": "string", + "description": "The target availability set ARM Id." + }, + "targetAvailabilityZone": { + "type": "string", + "description": "The target availability zone." + }, + "targetBootDiagnosticsStorageAccountId": { + "type": "string", + "description": "The target boot diagnostics storage account ARM Id." + }, + "targetNetworkId": { + "type": "string", + "description": "The selected target network ARM Id." + }, + "targetProximityPlacementGroupId": { + "type": "string", + "description": "The target proximity placement group Id." + }, + "targetResourceGroupId": { + "type": "string", + "description": "The target resource group ARM Id." + }, + "targetSubnetName": { + "type": "string", + "description": "The selected target subnet name." + }, + "targetVmName": { + "type": "string", + "description": "The target VM name." + }, + "targetVmSize": { + "type": "string", + "description": "The target VM size." + }, + "testNetworkId": { + "type": "string", + "description": "The selected test network ARM Id." + }, + "testSubnetName": { + "type": "string", + "description": "The selected test subnet name." + } + }, + "required": [ + "fabricDiscoveryMachineId", + "instanceType", + "processServerId", + "targetResourceGroupId" + ], + "description": "InMageRcm specific enable protection input." + }, + "InMageRcmFabricCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "InMageRcm" + ] + }, + "physicalSiteId": { + "type": "string", + "description": "The ARM Id of the physical site." + }, + "sourceAgentIdentity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProviderInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity provider input." + }, + "vmwareSiteId": { + "type": "string", + "description": "The ARM Id of the VMware site." + } + }, + "required": [ + "instanceType", + "physicalSiteId", + "sourceAgentIdentity", + "vmwareSiteId" + ], + "description": "InMageRcm fabric provider specific settings." + }, + "InMageRcmFailbackPolicyCreationInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageRcmFailback" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "InMageRcmFailback policy creation input." + }, + "InMageRcmPolicyCreationInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "enableMultiVmSync": { + "type": "string", + "description": "A value indicating whether multi-VM sync has to be enabled." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageRcm" + ] + }, + "recoveryPointHistoryInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + } + }, + "required": [ + "instanceType" + ], + "description": "InMageRcm policy creation input." + }, + "InMageVolumeExclusionOptions": { + "type": "object", + "properties": { + "onlyExcludeIfSingleVolume": { + "type": "string", + "description": "The value indicating whether to exclude multi volume disk or not. If a disk has multiple volumes and one of the volume has label matching with VolumeLabel this disk will be excluded from replication if OnlyExcludeIfSingleVolume is false." + }, + "volumeLabel": { + "type": "string", + "description": "The volume label. The disk having any volume with this label will be excluded from replication." + } + }, + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider." + }, + "KeyEncryptionKeyInfo": { + "type": "object", + "properties": { + "keyIdentifier": { + "type": "string", + "description": "The key URL / identifier." + }, + "keyVaultResourceArmId": { + "type": "string", + "description": "The KeyVault resource ARM Id for key." + } + }, + "description": "Key Encryption Key (KEK) information." + }, + "NewProtectionProfile": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "multiVmSyncStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "policyName": { + "type": "string", + "description": "The protection profile input." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + }, + "resourceType": { + "type": "string", + "enum": [ + "New" + ] + } + }, + "required": [ + "multiVmSyncStatus", + "policyName", + "resourceType" + ], + "description": "New Protection profile input." + }, + "NewRecoveryVirtualNetwork": { + "type": "object", + "properties": { + "recoveryVirtualNetworkName": { + "type": "string", + "description": "The recovery virtual network name." + }, + "recoveryVirtualNetworkResourceGroupName": { + "type": "string", + "description": "The name of the resource group to be used to create the recovery virtual network. If absent, target network would be created in the same resource group as target VM." + }, + "resourceType": { + "type": "string", + "enum": [ + "New" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Recovery virtual network input to create new virtual network from given source network." + }, + "PolicyProviderSpecificInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/A2ACrossClusterMigrationPolicyCreationInput" + }, + { + "$ref": "#/definitions/A2APolicyCreationInput" + }, + { + "$ref": "#/definitions/HyperVReplicaAzurePolicyInput" + }, + { + "$ref": "#/definitions/HyperVReplicaPolicyInput" + }, + { + "$ref": "#/definitions/InMageAzureV2PolicyInput" + }, + { + "$ref": "#/definitions/InMagePolicyInput" + }, + { + "$ref": "#/definitions/InMageRcmFailbackPolicyCreationInput" + }, + { + "$ref": "#/definitions/InMageRcmPolicyCreationInput" + }, + { + "$ref": "#/definitions/VMwareCbtPolicyCreationInput" + } + ], + "properties": {}, + "description": "Base class for provider specific input." + }, + "ProtectionProfileCustomDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ExistingProtectionProfile" + }, + { + "$ref": "#/definitions/NewProtectionProfile" + } + ], + "properties": {}, + "description": "Protection Profile custom input." + }, + "RecoveryAvailabilitySetCustomDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ExistingRecoveryAvailabilitySet" + } + ], + "properties": {}, + "description": "Recovery Availability Set custom input." + }, + "RecoveryPlanA2AInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + }, + "primaryExtendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Extended location of the resource." + }, + "primaryZone": { + "type": "string", + "description": "The primary zone." + }, + "recoveryExtendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Extended location of the resource." + }, + "recoveryZone": { + "type": "string", + "description": "The recovery zone." + } + }, + "required": [ + "instanceType" + ], + "description": "Recovery plan A2A input." + }, + "RecoveryPlanAction": { + "type": "object", + "properties": { + "actionName": { + "type": "string", + "description": "The action name." + }, + "customDetails": { + "oneOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery plan action custom details." + }, + "failoverDirections": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of failover directions." + }, + "failoverTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "ReverseReplicate", + "Commit", + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover", + "TestFailoverCleanup", + "Failback", + "FinalizeFailback", + "CancelFailover", + "ChangePit", + "RepairReplication", + "SwitchProtection", + "CompleteMigration" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of failover types." + } + }, + "required": [ + "actionName", + "customDetails", + "failoverDirections", + "failoverTypes" + ], + "description": "Recovery plan action details." + }, + "RecoveryPlanActionDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/RecoveryPlanAutomationRunbookActionDetails" + }, + { + "$ref": "#/definitions/RecoveryPlanManualActionDetails" + }, + { + "$ref": "#/definitions/RecoveryPlanScriptActionDetails" + } + ], + "properties": {}, + "description": "Recovery plan action custom details." + }, + "RecoveryPlanAutomationRunbookActionDetails": { + "type": "object", + "properties": { + "fabricLocation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Primary", + "Recovery" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The fabric location." + }, + "instanceType": { + "type": "string", + "enum": [ + "AutomationRunbookActionDetails" + ] + }, + "runbookId": { + "type": "string", + "description": "The runbook ARM Id." + }, + "timeout": { + "type": "string", + "description": "The runbook timeout." + } + }, + "required": [ + "fabricLocation", + "instanceType" + ], + "description": "Recovery plan Automation runbook action details." + }, + "RecoveryPlanGroup": { + "type": "object", + "properties": { + "endGroupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The end group actions." + }, + "groupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Shutdown", + "Boot", + "Failover" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The group type." + }, + "replicationProtectedItems": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProtectedItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of protected items." + }, + "startGroupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The start group actions." + } + }, + "required": [ + "groupType" + ], + "description": "Recovery plan group details." + }, + "RecoveryPlanManualActionDetails": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The manual action description." + }, + "instanceType": { + "type": "string", + "enum": [ + "ManualActionDetails" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "Recovery plan manual action details." + }, + "RecoveryPlanProtectedItem": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ARM Id of the recovery plan protected item." + }, + "virtualMachineId": { + "type": "string", + "description": "The virtual machine Id." + } + }, + "description": "Recovery plan protected item." + }, + "RecoveryPlanProviderSpecificInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/RecoveryPlanA2AInput" + } + ], + "properties": {}, + "description": "Recovery plan provider specific input base class." + }, + "RecoveryPlanScriptActionDetails": { + "type": "object", + "properties": { + "fabricLocation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Primary", + "Recovery" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The fabric location." + }, + "instanceType": { + "type": "string", + "enum": [ + "ScriptActionDetails" + ] + }, + "path": { + "type": "string", + "description": "The script path." + }, + "timeout": { + "type": "string", + "description": "The script timeout." + } + }, + "required": [ + "fabricLocation", + "instanceType", + "path" + ], + "description": "Recovery plan script action details." + }, + "RecoveryProximityPlacementGroupCustomDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ExistingRecoveryProximityPlacementGroup" + } + ], + "properties": {}, + "description": "Recovery Proximity placement group custom input." + }, + "RecoveryResourceGroupCustomDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ExistingRecoveryRecoveryResourceGroup" + } + ], + "properties": {}, + "description": "Recovery Resource Group custom input." + }, + "RecoveryVirtualNetworkCustomDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ExistingRecoveryVirtualNetwork" + }, + { + "$ref": "#/definitions/NewRecoveryVirtualNetwork" + } + ], + "properties": {}, + "description": "Recovery Virtual network custom input." + }, + "ReplicationProviderSpecificContainerCreationInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/A2AContainerCreationInput" + }, + { + "$ref": "#/definitions/A2ACrossClusterMigrationContainerCreationInput" + }, + { + "$ref": "#/definitions/VMwareCbtContainerCreationInput" + } + ], + "properties": {}, + "description": "Provider specific input for container creation operation." + }, + "ReplicationProviderSpecificContainerMappingInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/A2AContainerMappingInput" + }, + { + "$ref": "#/definitions/VMwareCbtContainerMappingInput" + } + ], + "properties": {}, + "description": "Provider specific input for pairing operations." + }, + "StorageAccountCustomDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ExistingStorageAccount" + } + ], + "properties": {}, + "description": "Storage account custom input." + }, + "StorageMappingInputProperties": { + "type": "object", + "properties": { + "targetStorageClassificationId": { + "type": "string", + "description": "The ID of the storage object." + } + }, + "description": "Storage mapping input properties." + }, + "VaultSettingCreationInputProperties": { + "type": "object", + "properties": { + "migrationSolutionId": { + "type": "string", + "description": "The migration solution Id." + }, + "vmwareToAzureProviderType": { + "type": "string", + "description": "VMware to Azure provider type." + } + }, + "description": "Input to create vault setting." + }, + "vaults_replicationFabrics_replicationProtectionContainers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Unique protection container ARM name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionContainerInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create protection container input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationProtectionContainers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Migration item name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EnableMigrationInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable migration input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationMigrationItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "A name for the replication protected item." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EnableProtectionInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable protection input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationProtectedItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Protection container mapping name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configure pairing input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationProtectionContainerMappings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings" + }, + "vaults_replicationFabrics_replicationRecoveryServicesProviders_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Recovery services provider name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AddRecoveryServicesProviderInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an add provider request." + }, + "type": { + "type": "string", + "enum": [ + "replicationRecoveryServicesProviders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders" + }, + "vaults_replicationFabrics_replicationvCenters_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "vcenter name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AddVCenterRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an add vCenter request." + }, + "type": { + "type": "string", + "enum": [ + "replicationvCenters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters" + }, + "VmmToAzureCreateNetworkMappingInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VmmToAzure" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "Create network mappings input properties/behavior specific to Vmm to Azure Network mapping." + }, + "VmmToVmmCreateNetworkMappingInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VmmToVmm" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "Create network mappings input properties/behavior specific to vmm to vmm Network mapping." + }, + "VMwareCbtContainerCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VMwareCbt" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "VMwareCbt container creation input." + }, + "VMwareCbtContainerMappingInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VMwareCbt" + ] + }, + "keyVaultId": { + "type": "string", + "description": "The target key vault ARM Id." + }, + "keyVaultUri": { + "type": "string", + "description": "The target key vault URL." + }, + "serviceBusConnectionStringSecretName": { + "type": "string", + "description": "The secret name of the service bus connection string." + }, + "storageAccountId": { + "type": "string", + "description": "The storage account ARM Id." + }, + "storageAccountSasSecretName": { + "type": "string", + "description": "The secret name of the storage account." + }, + "targetLocation": { + "type": "string", + "description": "The target location." + } + }, + "required": [ + "instanceType", + "storageAccountId", + "targetLocation" + ], + "description": "VMwareCbt container mapping input." + }, + "VMwareCbtDiskInput": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "The DiskEncryptionSet ARM Id." + }, + "diskId": { + "type": "string", + "description": "The disk Id." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disk type." + }, + "isOSDisk": { + "type": "string", + "description": "A value indicating whether the disk is the OS disk." + }, + "logStorageAccountId": { + "type": "string", + "description": "The log storage account ARM Id." + }, + "logStorageAccountSasSecretName": { + "type": "string", + "description": "The key vault secret name of the log storage account." + } + }, + "required": [ + "diskId", + "isOSDisk", + "logStorageAccountId", + "logStorageAccountSasSecretName" + ], + "description": "VMwareCbt disk input." + }, + "VMwareCbtEnableMigrationInput": { + "type": "object", + "properties": { + "confidentialVmKeyVaultId": { + "type": "string", + "description": "The confidential VM key vault Id for ADE installation." + }, + "dataMoverRunAsAccountId": { + "type": "string", + "description": "The data mover run as account Id." + }, + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VMwareCbtDiskInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks to include list." + }, + "instanceType": { + "type": "string", + "enum": [ + "VMwareCbt" + ] + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "License type." + }, + "performAutoResync": { + "type": "string", + "description": "A value indicating whether auto resync is to be done." + }, + "performSqlBulkRegistration": { + "type": "string", + "description": "A value indicating whether bulk SQL RP registration to be done." + }, + "seedDiskTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the seed disks." + }, + "snapshotRunAsAccountId": { + "type": "string", + "description": "The snapshot run as account Id." + }, + "sqlServerLicenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SQL Server license type." + }, + "targetAvailabilitySetId": { + "type": "string", + "description": "The target availability set ARM Id." + }, + "targetAvailabilityZone": { + "type": "string", + "description": "The target availability zone." + }, + "targetBootDiagnosticsStorageAccountId": { + "type": "string", + "description": "The target boot diagnostics storage account ARM Id." + }, + "targetDiskTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the target disks." + }, + "targetNetworkId": { + "type": "string", + "description": "The target network ARM Id." + }, + "targetNicTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the target NICs." + }, + "targetProximityPlacementGroupId": { + "type": "string", + "description": "The target proximity placement group ARM Id." + }, + "targetResourceGroupId": { + "type": "string", + "description": "The target resource group ARM Id." + }, + "targetSubnetName": { + "type": "string", + "description": "The target subnet name." + }, + "targetVmName": { + "type": "string", + "description": "The target VM name." + }, + "targetVmSecurityProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VMwareCbtSecurityProfileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VMwareCbt security profile input." + }, + "targetVmSize": { + "type": "string", + "description": "The target VM size." + }, + "targetVmTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The target VM tags." + }, + "testNetworkId": { + "type": "string", + "description": "The selected test network ARM Id." + }, + "testSubnetName": { + "type": "string", + "description": "The selected test subnet name." + }, + "vmwareMachineId": { + "type": "string", + "description": "The ARM Id of the VM discovered in VMware." + } + }, + "required": [ + "dataMoverRunAsAccountId", + "disksToInclude", + "instanceType", + "snapshotRunAsAccountId", + "targetNetworkId", + "targetResourceGroupId", + "vmwareMachineId" + ], + "description": "VMwareCbt specific enable migration input." + }, + "VMwareCbtPolicyCreationInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "VMwareCbt" + ] + }, + "recoveryPointHistoryInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + } + }, + "required": [ + "instanceType" + ], + "description": "VMware Cbt policy creation input." + }, + "VMwareCbtSecurityProfileProperties": { + "type": "object", + "properties": { + "isTargetVmConfidentialEncryptionEnabled": { + "type": "string", + "description": "A value indicating whether confidential compute encryption to be enabled." + }, + "isTargetVmIntegrityMonitoringEnabled": { + "type": "string", + "description": "A value indicating whether integrity monitoring to be enabled." + }, + "isTargetVmSecureBootEnabled": { + "type": "string", + "description": "A value indicating whether secure boot to be enabled." + }, + "isTargetVmTpmEnabled": { + "type": "string", + "description": "A value indicating whether trusted platform module to be enabled." + }, + "targetVmSecurityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "TrustedLaunch", + "ConfidentialVM" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The target VM security type." + } + }, + "description": "VMwareCbt security profile input." + }, + "VMwareV2FabricCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VMwareV2" + ] + }, + "migrationSolutionId": { + "type": "string", + "description": "The ARM Id of the migration solution." + }, + "physicalSiteId": { + "type": "string", + "description": "The ARM Id of the physical site." + }, + "vmwareSiteId": { + "type": "string", + "description": "The ARM Id of the VMware site." + } + }, + "required": [ + "instanceType", + "migrationSolutionId" + ], + "description": "VMwareV2 fabric provider specific settings." + } + } +} \ No newline at end of file diff --git a/schemas/2023-02-01/Microsoft.RecoveryServices.json b/schemas/2023-02-01/Microsoft.RecoveryServices.json new file mode 100644 index 0000000000..1bf2cc3a4f --- /dev/null +++ b/schemas/2023-02-01/Microsoft.RecoveryServices.json @@ -0,0 +1,825 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.RecoveryServices", + "description": "Microsoft RecoveryServices Resource Types", + "resourceDefinitions": { + "vaults": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "etag": { + "type": "string", + "description": "Optional ETag." + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the recovery services vault." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the vault." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vaults_certificates_childResource" + }, + { + "$ref": "#/definitions/vaults_extendedInformation_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifies the unique system identifier for each Azure resource." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults" + }, + "vaults_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Certificate friendly name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RawCertificateData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Raw certificate data." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/certificates" + }, + "vaults_extendedInformation": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "etag": { + "type": "string", + "description": "Optional ETag." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/vaultExtendedInfo$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vault extended information." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/extendedInformation" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/extendedInformation" + } + }, + "definitions": { + "AzureMonitorAlertSettings": { + "type": "object", + "properties": { + "alertsForAllJobFailures": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Settings for Azure Monitor based alerts" + }, + "ClassicAlertSettings": { + "type": "object", + "properties": { + "alertsForCriticalOperations": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Settings for classic alerts" + }, + "CmkKekIdentity": { + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity to be used to grant permissions in case the type of identity used is UserAssigned" + }, + "useSystemAssignedIdentity": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicate that system assigned identity should be used. Mutually exclusive with 'userAssignedIdentity' field" + } + }, + "description": "The details of the identity used for CMK" + }, + "CmkKeyVaultProperties": { + "type": "object", + "properties": { + "keyUri": { + "type": "string", + "description": "The key uri of the Customer Managed Key" + } + }, + "description": "The properties of the Key Vault which hosts CMK" + }, + "CrossSubscriptionRestoreSettings": { + "type": "object", + "properties": { + "crossSubscriptionRestoreState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled", + "PermanentlyDisabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Settings for Cross Subscription Restore Settings" + }, + "IdentityData": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "ImmutabilitySettings": { + "type": "object", + "properties": { + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Unlocked", + "Locked" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Immutability Settings of vault" + }, + "MonitoringSettings": { + "type": "object", + "properties": { + "azureMonitorAlertSettings": { + "oneOf": [ + { + "$ref": "#/definitions/AzureMonitorAlertSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings for Azure Monitor based alerts" + }, + "classicAlertSettings": { + "oneOf": [ + { + "$ref": "#/definitions/ClassicAlertSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings for classic alerts" + } + }, + "description": "Monitoring Settings of the vault" + }, + "RawCertificateData": { + "type": "object", + "properties": { + "authType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "ACS", + "AAD", + "AccessControlService", + "AzureActiveDirectory" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the authentication type." + }, + "certificate": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The base64 encoded certificate raw data string" + } + }, + "description": "Raw certificate data." + }, + "RestoreSettings": { + "type": "object", + "properties": { + "crossSubscriptionRestoreSettings": { + "oneOf": [ + { + "$ref": "#/definitions/CrossSubscriptionRestoreSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings for Cross Subscription Restore Settings" + } + }, + "description": "Restore Settings of the vault" + }, + "SecuritySettings": { + "type": "object", + "properties": { + "immutabilitySettings": { + "oneOf": [ + { + "$ref": "#/definitions/ImmutabilitySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Immutability Settings of vault" + } + }, + "description": "Security Settings of the vault" + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "type": "string", + "description": "The sku capacity" + }, + "family": { + "type": "string", + "description": "The sku family" + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "RS0" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of SKU is RS0 (Recovery Services 0th version) and the tier is standard tier. They do not have affect on backend storage redundancy or any other vault settings. To manage storage redundancy, use the backupstorageconfig." + }, + "size": { + "type": "string", + "description": "The sku size" + }, + "tier": { + "type": "string", + "description": "The Sku tier." + } + }, + "required": [ + "name" + ], + "description": "Identifies the unique system identifier for each Azure resource." + }, + "SystemData": { + "type": "object", + "properties": { + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that last modified the resource." + } + }, + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "UpgradeDetails": { + "type": "object", + "properties": {}, + "description": "Details for upgrading vault." + }, + "UserIdentity": { + "type": "object", + "properties": {}, + "description": "A resource identity that is managed by the user of the service." + }, + "VaultExtendedInfo": { + "type": "object", + "properties": { + "algorithm": { + "type": "string", + "description": "Algorithm for Vault ExtendedInfo" + }, + "encryptionKey": { + "type": "string", + "description": "Encryption key." + }, + "encryptionKeyThumbprint": { + "type": "string", + "description": "Encryption key thumbprint." + }, + "integrityKey": { + "type": "string", + "description": "Integrity key." + } + }, + "description": "Vault extended information." + }, + "VaultProperties": { + "type": "object", + "properties": { + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/VaultPropertiesEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Customer Managed Key details of the resource." + }, + "monitoringSettings": { + "oneOf": [ + { + "$ref": "#/definitions/MonitoringSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monitoring Settings of the vault" + }, + "moveDetails": { + "oneOf": [ + { + "$ref": "#/definitions/VaultPropertiesMoveDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The details of the latest move operation performed on the Azure Resource" + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "property to enable or disable resource provider inbound network traffic from public clients." + }, + "redundancySettings": { + "oneOf": [ + { + "$ref": "#/definitions/VaultPropertiesRedundancySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The redundancy Settings of a Vault" + }, + "restoreSettings": { + "oneOf": [ + { + "$ref": "#/definitions/RestoreSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Restore Settings of the vault" + }, + "securitySettings": { + "oneOf": [ + { + "$ref": "#/definitions/SecuritySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Security Settings of the vault" + }, + "upgradeDetails": { + "oneOf": [ + { + "$ref": "#/definitions/UpgradeDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Details for upgrading vault." + } + }, + "description": "Properties of the vault." + }, + "VaultPropertiesEncryption": { + "type": "object", + "properties": { + "infrastructureEncryption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enabling/Disabling the Double Encryption state." + }, + "kekIdentity": { + "oneOf": [ + { + "$ref": "#/definitions/CmkKekIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The details of the identity used for CMK" + }, + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/CmkKeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the Key Vault which hosts CMK" + } + }, + "description": "Customer Managed Key details of the resource." + }, + "VaultPropertiesMoveDetails": { + "type": "object", + "properties": {}, + "description": "The details of the latest move operation performed on the Azure Resource" + }, + "VaultPropertiesRedundancySettings": { + "type": "object", + "properties": {}, + "description": "The redundancy Settings of a Vault" + }, + "vaults_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "name": { + "type": "string", + "description": "Certificate friendly name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RawCertificateData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Raw certificate data." + }, + "type": { + "type": "string", + "enum": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/certificates" + }, + "vaults_extendedInformation_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01" + ] + }, + "etag": { + "type": "string", + "description": "Optional ETag." + }, + "name": { + "type": "string", + "enum": [ + "vaultExtendedInfo" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vault extended information." + }, + "type": { + "type": "string", + "enum": [ + "extendedInformation" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/extendedInformation" + } + } +} \ No newline at end of file diff --git a/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json b/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json new file mode 100644 index 0000000000..026f719425 --- /dev/null +++ b/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json @@ -0,0 +1,637 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.ContainerStorage", + "description": "Microsoft ContainerStorage Resource Types", + "resourceDefinitions": { + "pools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool Object" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool Properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/pools_volumes_childResource" + }, + { + "$ref": "#/definitions/pools_volumeSnapshots_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerStorage/pools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools" + }, + "pools_volumes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Resource" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerStorage/pools/volumes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools/volumes" + }, + "pools_volumeSnapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Resource" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeSnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerStorage/pools/volumeSnapshots" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools/volumeSnapshots" + } + }, + "definitions": { + "DiskPoolProperties": { + "type": "object", + "properties": { + "csiParams": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of KV pairs to set in StorageClass to configure CSI driver." + }, + "disks": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags)." + }, + "maxVolumeCapacityGiB": { + "oneOf": [ + { + "type": "integer", + "default": "512" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum capacity of the volumes in GiB the user intends to create. Default 512." + } + }, + "description": "Disk Pool Properties" + }, + "ElasticSanPoolProperties": { + "type": "object", + "properties": { + "resourceGroup": { + "type": "string", + "description": "Resource group of an existing SAN." + }, + "sanName": { + "type": "string", + "description": "Name of an existing SAN." + }, + "volumeGroup": { + "type": "string", + "description": "Volume group of an existing SAN." + } + }, + "required": [ + "resourceGroup", + "sanName", + "volumeGroup" + ], + "description": "Elastic San Pool Properties" + }, + "EphemeralPoolProperties": { + "type": "object", + "properties": { + "diskFormat": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Consent to format the local disks." + }, + "disks": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags)." + }, + "diskSelector": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Template name or KV pairs containing disk selection criteria, e.g. model=\"Microsoft NVMe Direct Disk\" to match all Lsv2 NVMe disks." + } + }, + "required": [ + "disks", + "diskSelector" + ], + "description": "Ephemeral Pool Properties" + }, + "PoolProperties": { + "type": "object", + "properties": { + "assignments": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many." + }, + "diskPoolProperties": { + "oneOf": [ + { + "$ref": "#/definitions/DiskPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk Pool Properties" + }, + "elasticSanPoolProperties": { + "oneOf": [ + { + "$ref": "#/definitions/ElasticSanPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Elastic San Pool Properties" + }, + "ephemeralPoolProperties": { + "oneOf": [ + { + "$ref": "#/definitions/EphemeralPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ephemeral Pool Properties" + }, + "poolCapacityGiB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Initial capacity of the pool in GiB." + }, + "poolType": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the Pool: ephemeral, disk, managed, or elasticsan." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of availability zones that resources can be created in." + } + }, + "required": [ + "assignments", + "elasticSanPoolProperties", + "poolCapacityGiB", + "poolType", + "zones" + ], + "description": "Pool Properties" + }, + "pools_volumeSnapshots_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Resource" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeSnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Properties" + }, + "type": { + "type": "string", + "enum": [ + "volumeSnapshots" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools/volumeSnapshots" + }, + "pools_volumes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Resource" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Properties" + }, + "type": { + "type": "string", + "enum": [ + "volumes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools/volumes" + }, + "VolumeProperties": { + "type": "object", + "properties": { + "capacityGiB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Requested capacity in GiB" + }, + "labels": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "String KV pairs indicating labels" + }, + "mountOptions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of string mount options" + }, + "reclaimPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Retain" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reclaim Policy, Delete or Retain." + }, + "volumeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Filesystem", + "Raw" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates how the volume should be attached." + } + }, + "required": [ + "capacityGiB", + "labels", + "mountOptions", + "reclaimPolicy", + "volumeMode" + ], + "description": "Volume Properties" + }, + "VolumeSnapshotProperties": { + "type": "object", + "properties": { + "mountOptions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of string mount options" + }, + "reclaimPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Retain" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reclaim Policy, Delete or Retain." + }, + "source": { + "type": "string", + "description": "Reference to the source volume" + }, + "volumeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Filesystem", + "Raw" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates how the volumes created from the snapshot should be attached." + } + }, + "required": [ + "mountOptions", + "reclaimPolicy", + "source", + "volumeMode" + ], + "description": "Volume Snapshot Properties" + } + } +} \ No newline at end of file diff --git a/schemas/2023-03-01-preview/Microsoft.DocumentDB.json b/schemas/2023-03-01-preview/Microsoft.DocumentDB.json new file mode 100644 index 0000000000..942a847eb7 --- /dev/null +++ b/schemas/2023-03-01-preview/Microsoft.DocumentDB.json @@ -0,0 +1,8681 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DocumentDB", + "description": "Microsoft DocumentDB Resource Types", + "resourceDefinitions": { + "cassandraClusters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedCassandraManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed Cassandra cluster name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a managed Cassandra cluster." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/cassandraClusters_dataCenters_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/cassandraClusters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/cassandraClusters" + }, + "cassandraClusters_dataCenters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data center name in a managed Cassandra cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataCenterResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a managed Cassandra data center." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/cassandraClusters/dataCenters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/cassandraClusters/dataCenters" + }, + "databaseAccounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GlobalDocumentDB", + "MongoDB", + "Parse" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the type of database account. This can only be set at database account creation." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*", + "minLength": 3, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB database account name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB database accounts." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_graphs_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlRoleDefinitions_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlRoleAssignments_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_mongodbDatabases_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_mongodbRoleDefinitions_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_mongodbUserDefinitions_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_tables_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_cassandraKeyspaces_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_gremlinDatabases_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_dataTransferJobs_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_notebookWorkspaces_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_services_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts" + }, + "databaseAccounts_cassandraKeyspaces": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB keyspace name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraKeyspaceCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_cassandraKeyspaces_throughputSettings_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_cassandraKeyspaces_tables_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_cassandraKeyspaces_views_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces" + }, + "databaseAccounts_cassandraKeyspaces_tables": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB table name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraTableCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra table." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_cassandraKeyspaces_tables_throughputSettings_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables" + }, + "databaseAccounts_cassandraKeyspaces_tables_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables/throughputSettings" + }, + "databaseAccounts_cassandraKeyspaces_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings" + }, + "databaseAccounts_cassandraKeyspaces_views": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB view name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraViewCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra view." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_cassandraKeyspaces_views_throughputSettings_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views" + }, + "databaseAccounts_cassandraKeyspaces_views_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views/throughputSettings" + }, + "databaseAccounts_dataTransferJobs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Data Transfer Job" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataTransferJobProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a DataTransfer Job" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs" + }, + "databaseAccounts_graphs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB graph resource name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GraphResourceCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Graph resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/graphs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/graphs" + }, + "databaseAccounts_gremlinDatabases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB database name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinDatabaseCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin database." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_gremlinDatabases_throughputSettings_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_gremlinDatabases_graphs_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases" + }, + "databaseAccounts_gremlinDatabases_graphs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB graph name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinGraphCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin graph." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_gremlinDatabases_graphs_throughputSettings_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs" + }, + "databaseAccounts_gremlinDatabases_graphs_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs/throughputSettings" + }, + "databaseAccounts_gremlinDatabases_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings" + }, + "databaseAccounts_mongodbDatabases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB database name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBDatabaseCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB database." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_mongodbDatabases_throughputSettings_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_mongodbDatabases_collections_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases" + }, + "databaseAccounts_mongodbDatabases_collections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB collection name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBCollectionCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB collection." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_mongodbDatabases_collections_throughputSettings_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections" + }, + "databaseAccounts_mongodbDatabases_collections_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/throughputSettings" + }, + "databaseAccounts_mongodbDatabases_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings" + }, + "databaseAccounts_mongodbRoleDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The ID for the Role Definition {dbName.roleName}." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoRoleDefinitionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB Mongo Role Definition resource object." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions" + }, + "databaseAccounts_mongodbUserDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The ID for the User Definition {dbName.userName}." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoUserDefinitionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB Mongo User Definition resource object." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions" + }, + "databaseAccounts_notebookWorkspaces": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the notebook workspace resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" + }, + "databaseAccounts_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + }, + "databaseAccounts_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 50, + "description": "Cosmos DB service name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceResourceCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties in ServiceResourceCreateUpdateParameters." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/services" + }, + "databaseAccounts_sqlDatabases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB database name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlDatabaseCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB SQL database." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_throughputSettings_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_clientEncryptionKeys_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_containers_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases" + }, + "databaseAccounts_sqlDatabases_clientEncryptionKeys": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB ClientEncryptionKey name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClientEncryptionKeyCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update ClientEncryptionKey." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKeys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKeys" + }, + "databaseAccounts_sqlDatabases_containers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB container name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlContainerCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB container." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_containers_throughputSettings_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_containers_storedProcedures_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_containers_userDefinedFunctions_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_containers_triggers_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + }, + "databaseAccounts_sqlDatabases_containers_storedProcedures": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB storedProcedure name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlStoredProcedureCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB storedProcedure." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures" + }, + "databaseAccounts_sqlDatabases_containers_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/throughputSettings" + }, + "databaseAccounts_sqlDatabases_containers_triggers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB trigger name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlTriggerCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB trigger." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers" + }, + "databaseAccounts_sqlDatabases_containers_userDefinedFunctions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB userDefinedFunction name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions" + }, + "databaseAccounts_sqlDatabases_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings" + }, + "databaseAccounts_sqlRoleAssignments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The GUID for the Role Assignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlRoleAssignmentResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB SQL Role Assignment resource object." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments" + }, + "databaseAccounts_sqlRoleDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The GUID for the Role Definition." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlRoleDefinitionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB SQL Role Definition resource object." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions" + }, + "databaseAccounts_tables": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB table name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TableCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Table." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_tables_throughputSettings_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/tables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/tables" + }, + "databaseAccounts_tables_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings" + }, + "mongoClusters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*", + "minLength": 3, + "maxLength": 40 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the mongo cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a mongo cluster." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/mongoClusters_firewallRules_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/mongoClusters" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/mongoClusters" + }, + "mongoClusters_firewallRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][-_.a-zA-Z0-9]*", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the mongo cluster firewall rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a mongo cluster firewall rule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/mongoClusters/firewallRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/mongoClusters/firewallRules" + } + }, + "definitions": { + "AnalyticalStorageConfiguration": { + "type": "object", + "properties": { + "schemaType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "WellDefined", + "FullFidelity" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Analytical storage specific properties." + }, + "ApiProperties": { + "type": "object", + "properties": { + "serverVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "3.2", + "3.6", + "4.0", + "4.2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the ServerVersion of an a MongoDB account." + } + } + }, + "AuthenticationMethodLdapProperties": { + "type": "object", + "properties": { + "searchBaseDistinguishedName": { + "type": "string", + "description": "Distinguished name of the object to start the recursive search of users from." + }, + "searchFilterTemplate": { + "type": "string", + "description": "Template to use for searching. Defaults to (cn=%s) where %s will be replaced by the username used to login." + }, + "serverCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "serverHostname": { + "type": "string", + "description": "Hostname of the LDAP server." + }, + "serverPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port of the LDAP server." + }, + "serviceUserDistinguishedName": { + "type": "string", + "description": "Distinguished name of the look up user account, who can look up user details on authentication." + }, + "serviceUserPassword": { + "type": "string", + "description": "Password of the look up user." + } + }, + "description": "Ldap authentication method properties. This feature is in preview." + }, + "AutoscaleSettings": { + "type": "object", + "properties": { + "maxThroughput": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents maximum throughput, the resource can scale up to." + } + } + }, + "AutoscaleSettingsResource": { + "type": "object", + "properties": { + "autoUpgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/AutoUpgradePolicyResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB resource auto-upgrade policy" + }, + "maxThroughput": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents maximum throughput container can scale up to." + } + }, + "required": [ + "maxThroughput" + ], + "description": "Cosmos DB provisioned throughput settings object" + }, + "AutoUpgradePolicyResource": { + "type": "object", + "properties": { + "throughputPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputPolicyResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB resource throughput policy" + } + }, + "description": "Cosmos DB resource auto-upgrade policy" + }, + "AzureBlobDataTransferDataSourceSink": { + "type": "object", + "properties": { + "component": { + "type": "string", + "enum": [ + "AzureBlobStorage" + ] + }, + "containerName": { + "type": "string" + }, + "endpointUrl": { + "type": "string" + } + }, + "required": [ + "component", + "containerName" + ], + "description": "An Azure Blob Storage data source/sink" + }, + "BackupPolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/PeriodicModeBackupPolicy" + }, + { + "$ref": "#/definitions/ContinuousModeBackupPolicy" + } + ], + "properties": { + "migrationState": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicyMigrationState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The object representing the state of the migration between the backup policies." + } + }, + "description": "The object representing the policy for taking backups on an account." + }, + "BackupPolicyMigrationState": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "Time at which the backup policy migration started (ISO-8601 format)." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the status of migration between backup policy types." + }, + "targetType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Periodic", + "Continuous" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the target backup policy type of the backup policy migration." + } + }, + "description": "The object representing the state of the migration between the backup policies." + }, + "Capability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB capability. For example, \"name\": \"EnableCassandra\". Current values also include \"EnableTable\" and \"EnableGremlin\"." + } + }, + "description": "Cosmos DB capability object" + }, + "Capacity": { + "type": "object", + "properties": { + "totalThroughputLimit": { + "oneOf": [ + { + "type": "integer", + "minimum": -1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no limits on provisioning of throughput." + } + }, + "description": "The object that represents all properties related to capacity enforcement on an account." + }, + "cassandraClusters_dataCenters_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data center name in a managed Cassandra cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataCenterResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a managed Cassandra data center." + }, + "type": { + "type": "string", + "enum": [ + "dataCenters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/cassandraClusters/dataCenters" + }, + "CassandraKeyspaceCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraKeyspaceResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Cassandra keyspace resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace." + }, + "CassandraKeyspaceResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra keyspace" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB Cassandra keyspace resource object" + }, + "CassandraPartitionKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table partition key" + } + }, + "description": "Cosmos DB Cassandra table partition key" + }, + "CassandraSchema": { + "type": "object", + "properties": { + "clusterKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ClusterKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of cluster key." + }, + "columns": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Column" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Cassandra table columns." + }, + "partitionKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CassandraPartitionKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of partition key." + } + }, + "description": "Cosmos DB Cassandra table schema" + }, + "CassandraTableCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraTableResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Cassandra table resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra table." + }, + "CassandraTableResource": { + "type": "object", + "properties": { + "analyticalStorageTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Analytical TTL." + }, + "defaultTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Time to live of the Cosmos DB Cassandra table" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table" + }, + "schema": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraSchema" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Cassandra table schema" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB Cassandra table resource object" + }, + "CassandraViewCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraViewResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Cassandra view resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra view." + }, + "CassandraViewResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra view" + }, + "viewDefinition": { + "type": "string", + "description": "View Definition of the Cosmos DB Cassandra view" + } + }, + "required": [ + "id", + "viewDefinition" + ], + "description": "Cosmos DB Cassandra view resource object" + }, + "Certificate": { + "type": "object", + "properties": { + "pem": { + "type": "string", + "description": "PEM formatted public key." + } + } + }, + "ClientEncryptionIncludedPath": { + "type": "object", + "properties": { + "clientEncryptionKeyId": { + "type": "string", + "description": "The identifier of the Client Encryption Key to be used to encrypt the path." + }, + "encryptionAlgorithm": { + "type": "string", + "description": "The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256." + }, + "encryptionType": { + "type": "string", + "description": "The type of encryption to be performed. Eg - Deterministic, Randomized." + }, + "path": { + "type": "string", + "description": "Path that needs to be encrypted." + } + }, + "required": [ + "clientEncryptionKeyId", + "encryptionAlgorithm", + "encryptionType", + "path" + ], + "description": "." + }, + "ClientEncryptionKeyCreateUpdateProperties": { + "type": "object", + "properties": { + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/ClientEncryptionKeyResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB client encryption key resource object." + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update ClientEncryptionKey." + }, + "ClientEncryptionKeyResource": { + "type": "object", + "properties": { + "encryptionAlgorithm": { + "type": "string", + "description": "Encryption algorithm that will be used along with this client encryption key to encrypt/decrypt data." + }, + "id": { + "type": "string", + "description": "Name of the ClientEncryptionKey" + }, + "keyWrapMetadata": { + "oneOf": [ + { + "$ref": "#/definitions/KeyWrapMetadata" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents key wrap metadata that a key wrapping provider can use to wrap/unwrap a client encryption key." + }, + "wrappedDataEncryptionKey": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Wrapped (encrypted) form of the key represented as a byte array." + } + }, + "description": "Cosmos DB client encryption key resource object." + }, + "ClientEncryptionPolicy": { + "type": "object", + "properties": { + "includedPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ClientEncryptionIncludedPath" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Paths of the item that need encryption along with path-specific settings." + }, + "policyFormatVersion": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 2 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 supports id and partition key path encryption. " + } + }, + "required": [ + "includedPaths", + "policyFormatVersion" + ], + "description": "Cosmos DB client encryption policy." + }, + "ClusterKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table cluster key" + }, + "orderBy": { + "type": "string", + "description": "Order of the Cosmos DB Cassandra table cluster key, only support \"Asc\" and \"Desc\"" + } + }, + "description": "Cosmos DB Cassandra table cluster key" + }, + "ClusterResourceProperties": { + "type": "object", + "properties": { + "authenticationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Cassandra", + "Ldap" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'. 'Ldap' is in preview." + }, + "cassandraAuditLoggingEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether Cassandra audit logging is enabled" + }, + "cassandraVersion": { + "type": "string", + "description": "Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version." + }, + "clientCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property." + }, + "clusterNameOverride": { + "type": "string", + "description": "If you need to set the clusterName property in cassandra.yaml to something besides the resource name of the cluster, set the value to use on this property." + }, + "deallocated": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the cluster and associated data centers has been deallocated." + }, + "delegatedManagementSubnetId": { + "type": "string", + "description": "Resource id of a subnet that this cluster's management service should have its network interface attached to. The subnet must be routable to all subnets that will be delegated to data centers. The resource id must be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'" + }, + "externalGossipCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of TLS certificates used to authorize gossip from unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be verifiable using one of the certificates provided in this property." + }, + "externalSeedNodes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SeedNode" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of IP addresses of seed nodes in unmanaged data centers. These will be added to the seed node lists of all managed nodes." + }, + "hoursBetweenBackups": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of hours to wait between taking a backup of the cluster. To disable backups, set this property to 0." + }, + "initialCassandraAdminPassword": { + "type": "string", + "description": "Initial password for clients connecting as admin to the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'." + }, + "prometheusEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/SeedNode" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "repairEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Should automatic repairs run on this cluster? If omitted, this is true, and should stay true unless you are running a hybrid cluster where you are already doing your own repairs." + }, + "restoreFromBackupId": { + "type": "string", + "description": "To create an empty cluster, omit this field or set it to null. To restore a backup into a new cluster, set this field to the resource id of the backup." + } + }, + "description": "Properties of a managed Cassandra cluster." + }, + "Column": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table column" + }, + "type": { + "type": "string", + "description": "Type of the Cosmos DB Cassandra table column" + } + }, + "description": "Cosmos DB Cassandra table column" + }, + "Components1jq1t4ischemasmanagedserviceidentitypropertiesuserassignedidentitiesadditionalproperties": { + "type": "object", + "properties": {} + }, + "CompositePath": { + "type": "object", + "properties": { + "order": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ascending", + "descending" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sort order for composite paths." + }, + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + } + } + }, + "ConflictResolutionPolicy": { + "type": "object", + "properties": { + "conflictResolutionPath": { + "type": "string", + "description": "The conflict resolution path in the case of LastWriterWins mode." + }, + "conflictResolutionProcedure": { + "type": "string", + "description": "The procedure to resolve conflicts in the case of custom mode." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "LastWriterWins", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the conflict resolution mode." + } + }, + "description": "The conflict resolution policy for the container." + }, + "ConsistencyPolicy": { + "type": "object", + "properties": { + "defaultConsistencyLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Eventual", + "Session", + "BoundedStaleness", + "Strong", + "ConsistentPrefix" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The default consistency level and configuration settings of the Cosmos DB account." + }, + "maxIntervalInSeconds": { + "oneOf": [ + { + "type": "integer", + "minimum": 5, + "maximum": 86400 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'." + }, + "maxStalenessPrefix": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 2147483647 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'." + } + }, + "required": [ + "defaultConsistencyLevel" + ], + "description": "The consistency policy for the Cosmos DB database account." + }, + "ContainerPartitionKey": { + "type": "object", + "properties": { + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Hash", + "Range", + "MultiHash" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) are supported for container create." + }, + "paths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of paths using which data within the container can be partitioned" + }, + "version": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 2 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the version of the partition key definition" + } + }, + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "ContinuousModeBackupPolicy": { + "type": "object", + "properties": { + "continuousModeProperties": { + "oneOf": [ + { + "$ref": "#/definitions/ContinuousModeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration values for periodic mode backup" + }, + "type": { + "type": "string", + "enum": [ + "Continuous" + ] + } + }, + "required": [ + "type" + ], + "description": "The object representing continuous mode backup policy." + }, + "ContinuousModeProperties": { + "type": "object", + "properties": { + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Continuous7Days", + "Continuous30Days" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum to indicate type of Continuos backup mode." + } + }, + "description": "Configuration values for periodic mode backup" + }, + "CorsPolicy": { + "type": "object", + "properties": { + "allowedHeaders": { + "type": "string", + "description": "The request headers that the origin domain may specify on the CORS request." + }, + "allowedMethods": { + "type": "string", + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request." + }, + "allowedOrigins": { + "type": "string", + "description": "The origin domains that are permitted to make a request against the service via CORS." + }, + "exposedHeaders": { + "type": "string", + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer." + }, + "maxAgeInSeconds": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 2147483647 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request." + } + }, + "required": [ + "allowedOrigins" + ], + "description": "The CORS policy for the Cosmos DB database account." + }, + "CosmosCassandraDataTransferDataSourceSink": { + "type": "object", + "properties": { + "component": { + "type": "string", + "enum": [ + "CosmosDBCassandra" + ] + }, + "keyspaceName": { + "type": "string" + }, + "tableName": { + "type": "string" + } + }, + "required": [ + "component", + "keyspaceName", + "tableName" + ], + "description": "A CosmosDB Cassandra API data source/sink" + }, + "CosmosSqlDataTransferDataSourceSink": { + "type": "object", + "properties": { + "component": { + "type": "string", + "enum": [ + "CosmosDBSql" + ] + }, + "containerName": { + "type": "string" + }, + "databaseName": { + "type": "string" + } + }, + "required": [ + "component", + "containerName", + "databaseName" + ], + "description": "A CosmosDB Cassandra API data source/sink" + }, + "CreateUpdateOptions": { + "type": "object", + "properties": { + "autoscaleSettings": { + "oneOf": [ + { + "$ref": "#/definitions/AutoscaleSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "throughput": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Request Units per second. For example, \"throughput\": 10000." + } + }, + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "DatabaseAccountCreateUpdateProperties": { + "type": "object", + "properties": { + "analyticalStorageConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Analytical storage specific properties." + }, + "apiProperties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "backupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The object representing the policy for taking backups on an account." + }, + "capabilities": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Cosmos DB capabilities for the account" + }, + "capacity": { + "oneOf": [ + { + "$ref": "#/definitions/Capacity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The object that represents all properties related to capacity enforcement on an account." + }, + "connectorOffer": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Small" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cassandra connector offer type for the Cosmos DB database C* account." + }, + "consistencyPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ConsistencyPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The consistency policy for the Cosmos DB database account." + }, + "cors": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CORS policy for the Cosmos DB database account." + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Restore", + "PointInTimeRestore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum to indicate the mode of account creation." + }, + "databaseAccountOfferType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The offer type for the database" + }, + "defaultIdentity": { + "type": "string", + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more." + }, + "diagnosticLogSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticLogSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates what diagnostic log settings are to be enabled." + }, + "disableKeyBasedMetadataWriteAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys" + }, + "disableLocalAuth": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication." + }, + "enableAnalyticalStorage": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether to enable storage analytics." + }, + "enableAutomaticFailover": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account." + }, + "enableBurstCapacity": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate enabling/disabling of Burst Capacity Preview feature on the account" + }, + "enableCassandraConnector": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables the cassandra connector on the Cosmos DB C* account" + }, + "enableFreeTier": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether Free Tier is enabled." + }, + "enableMaterializedViews": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether to enable MaterializedViews on the Cosmos DB account" + }, + "enableMultipleWriteLocations": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables the account to write in multiple locations" + }, + "enablePartitionMerge": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate enabling/disabling of Partition Merge feature on the account" + }, + "ipRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpAddressOrRange" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of IpAddressOrRange objects." + }, + "isVirtualNetworkFilterEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules." + }, + "keysMetadata": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseAccountKeysMetadata" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The metadata related to each access key for the given Cosmos DB database account." + }, + "keyVaultKeyUri": { + "type": "string", + "description": "The URI of the key vault" + }, + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Location" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array that contains the georeplication locations enabled for the Cosmos DB account." + }, + "minimalTlsVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Tls", + "Tls11", + "Tls12" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the minimum allowed Tls version. The default is Tls 1.0, except for Cassandra and Mongo API's, which only work with Tls 1.2." + }, + "networkAclBypass": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "AzureServices" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates what services are allowed to bypass firewall checks." + }, + "networkAclBypassResourceIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether requests from Public Network are allowed." + }, + "restoreParameters": { + "oneOf": [ + { + "$ref": "#/definitions/RestoreParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters to indicate the information about the restore." + }, + "virtualNetworkRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account." + } + }, + "required": [ + "databaseAccountOfferType", + "locations" + ], + "description": "Properties to create and update Azure Cosmos DB database accounts." + }, + "DatabaseAccountKeysMetadata": { + "type": "object", + "properties": {}, + "description": "The metadata related to each access key for the given Cosmos DB database account." + }, + "databaseAccounts_cassandraKeyspaces_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB keyspace name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraKeyspaceCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "cassandraKeyspaces" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces" + }, + "databaseAccounts_cassandraKeyspaces_tables_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB table name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraTableCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra table." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "tables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables" + }, + "databaseAccounts_cassandraKeyspaces_tables_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables/throughputSettings" + }, + "databaseAccounts_cassandraKeyspaces_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings" + }, + "databaseAccounts_cassandraKeyspaces_views_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB view name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraViewCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra view." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "views" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views" + }, + "databaseAccounts_cassandraKeyspaces_views_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views/throughputSettings" + }, + "databaseAccounts_dataTransferJobs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Data Transfer Job" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataTransferJobProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a DataTransfer Job" + }, + "type": { + "type": "string", + "enum": [ + "dataTransferJobs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs" + }, + "databaseAccounts_graphs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB graph resource name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GraphResourceCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Graph resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "graphs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/graphs" + }, + "databaseAccounts_gremlinDatabases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB database name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinDatabaseCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin database." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "gremlinDatabases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases" + }, + "databaseAccounts_gremlinDatabases_graphs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB graph name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinGraphCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin graph." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "graphs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs" + }, + "databaseAccounts_gremlinDatabases_graphs_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs/throughputSettings" + }, + "databaseAccounts_gremlinDatabases_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings" + }, + "databaseAccounts_mongodbDatabases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB database name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBDatabaseCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB database." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "mongodbDatabases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases" + }, + "databaseAccounts_mongodbDatabases_collections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB collection name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBCollectionCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB collection." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "collections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections" + }, + "databaseAccounts_mongodbDatabases_collections_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/throughputSettings" + }, + "databaseAccounts_mongodbDatabases_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings" + }, + "databaseAccounts_mongodbRoleDefinitions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The ID for the Role Definition {dbName.roleName}." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoRoleDefinitionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB Mongo Role Definition resource object." + }, + "type": { + "type": "string", + "enum": [ + "mongodbRoleDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions" + }, + "databaseAccounts_mongodbUserDefinitions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The ID for the User Definition {dbName.userName}." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoUserDefinitionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB Mongo User Definition resource object." + }, + "type": { + "type": "string", + "enum": [ + "mongodbUserDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions" + }, + "databaseAccounts_notebookWorkspaces_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the notebook workspace resource." + }, + "type": { + "type": "string", + "enum": [ + "notebookWorkspaces" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" + }, + "databaseAccounts_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + }, + "databaseAccounts_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 50, + "description": "Cosmos DB service name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceResourceCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties in ServiceResourceCreateUpdateParameters." + }, + "type": { + "type": "string", + "enum": [ + "services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/services" + }, + "databaseAccounts_sqlDatabases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB database name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlDatabaseCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB SQL database." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "sqlDatabases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases" + }, + "databaseAccounts_sqlDatabases_clientEncryptionKeys_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB ClientEncryptionKey name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClientEncryptionKeyCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update ClientEncryptionKey." + }, + "type": { + "type": "string", + "enum": [ + "clientEncryptionKeys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKeys" + }, + "databaseAccounts_sqlDatabases_containers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB container name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlContainerCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB container." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "containers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + }, + "databaseAccounts_sqlDatabases_containers_storedProcedures_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB storedProcedure name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlStoredProcedureCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB storedProcedure." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "storedProcedures" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures" + }, + "databaseAccounts_sqlDatabases_containers_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/throughputSettings" + }, + "databaseAccounts_sqlDatabases_containers_triggers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB trigger name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlTriggerCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB trigger." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "triggers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers" + }, + "databaseAccounts_sqlDatabases_containers_userDefinedFunctions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB userDefinedFunction name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "userDefinedFunctions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions" + }, + "databaseAccounts_sqlDatabases_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings" + }, + "databaseAccounts_sqlRoleAssignments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The GUID for the Role Assignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlRoleAssignmentResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB SQL Role Assignment resource object." + }, + "type": { + "type": "string", + "enum": [ + "sqlRoleAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments" + }, + "databaseAccounts_sqlRoleDefinitions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The GUID for the Role Definition." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlRoleDefinitionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB SQL Role Definition resource object." + }, + "type": { + "type": "string", + "enum": [ + "sqlRoleDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions" + }, + "databaseAccounts_tables_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB table name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TableCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Table." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "tables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/tables" + }, + "databaseAccounts_tables_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings" + }, + "DatabaseRestoreResource": { + "type": "object", + "properties": { + "collectionNames": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The names of the collections available for restore." + }, + "databaseName": { + "type": "string", + "description": "The name of the database available for restore." + } + }, + "description": "Specific Databases to restore." + }, + "DataCenterResourceProperties": { + "type": "object", + "properties": { + "authenticationMethodLdapProperties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthenticationMethodLdapProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ldap authentication method properties. This feature is in preview." + }, + "availabilityZone": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the data center has Availability Zone feature, apply it to the Virtual Machine ScaleSet that host the cassandra data center virtual machines." + }, + "backupStorageCustomerKeyUri": { + "type": "string", + "description": "Indicates the Key Uri of the customer key to use for encryption of the backup storage account." + }, + "base64EncodedCassandraYamlFragment": { + "type": "string", + "description": "A fragment of a cassandra.yaml configuration file to be included in the cassandra.yaml for all nodes in this data center. The fragment should be Base64 encoded, and only a subset of keys are allowed." + }, + "dataCenterLocation": { + "type": "string", + "description": "The region this data center should be created in." + }, + "delegatedSubnetId": { + "type": "string", + "description": "Resource id of a subnet the nodes in this data center should have their network interfaces connected to. The subnet must be in the same region specified in 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's 'delegatedManagementSubnetId' property. This resource id will be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'." + }, + "diskCapacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of disk used for data centers. Default value is 4." + }, + "diskSku": { + "type": "string", + "description": "Disk SKU used for data centers. Default value is P30." + }, + "managedDiskCustomerKeyUri": { + "type": "string", + "description": "Key uri to use for encryption of managed disks. Ensure the system assigned identity of the cluster has been assigned appropriate permissions(key get/wrap/unwrap permissions) on the key." + }, + "nodeCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of nodes the data center should have. This is the desired number. After it is set, it may take some time for the data center to be scaled to match. To monitor the number of nodes and their status, use the fetchNodeStatus method on the cluster." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sku": { + "type": "string", + "description": "Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2" + } + }, + "description": "Properties of a managed Cassandra data center." + }, + "DataTransferDataSourceSink": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/CosmosCassandraDataTransferDataSourceSink" + }, + { + "$ref": "#/definitions/CosmosSqlDataTransferDataSourceSink" + }, + { + "$ref": "#/definitions/AzureBlobDataTransferDataSourceSink" + } + ], + "properties": {}, + "description": "Base class for all DataTransfer source/sink" + }, + "DataTransferJobProperties": { + "type": "object", + "properties": { + "destination": { + "oneOf": [ + { + "$ref": "#/definitions/DataTransferDataSourceSink" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all DataTransfer source/sink" + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/DataTransferDataSourceSink" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all DataTransfer source/sink" + }, + "workerCount": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Worker count" + } + }, + "required": [ + "destination", + "source" + ], + "description": "The properties of a DataTransfer Job" + }, + "DiagnosticLogSettings": { + "type": "object", + "properties": { + "enableFullTextQuery": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "True", + "False" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describe the level of detail with which queries are to be logged." + } + }, + "description": "Indicates what diagnostic log settings are to be enabled." + }, + "ExcludedPath": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + } + } + }, + "FirewallRuleProperties": { + "type": "object", + "properties": { + "endIpAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The end IP address of the mongo cluster firewall rule. Must be IPv4 format." + }, + "startIpAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The start IP address of the mongo cluster firewall rule. Must be IPv4 format." + } + }, + "required": [ + "endIpAddress", + "startIpAddress" + ], + "description": "The properties of a mongo cluster firewall rule." + }, + "GraphResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Graph" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB Graph resource object" + }, + "GraphResourceCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/GraphResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Graph resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Graph resource." + }, + "GremlinDatabaseCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinDatabaseResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Gremlin database resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin database." + }, + "GremlinDatabaseResource": { + "type": "object", + "properties": { + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Restore", + "PointInTimeRestore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum to indicate the mode of resource creation." + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin database" + }, + "restoreParameters": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRestoreParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters to indicate the information about the restore." + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB Gremlin database resource object" + }, + "GremlinDatabaseRestoreResource": { + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the gremlin database available for restore." + }, + "graphNames": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The names of the graphs available for restore." + } + }, + "description": "Specific Gremlin Databases to restore." + }, + "GremlinGraphCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinGraphResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Gremlin graph resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin graph." + }, + "GremlinGraphResource": { + "type": "object", + "properties": { + "analyticalStorageTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Analytical TTL." + }, + "conflictResolutionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ConflictResolutionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The conflict resolution policy for the container." + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Restore", + "PointInTimeRestore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum to indicate the mode of resource creation." + }, + "defaultTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Default time to live" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin graph" + }, + "indexingPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/IndexingPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB indexing policy" + }, + "partitionKey": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerPartitionKey" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "restoreParameters": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRestoreParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters to indicate the information about the restore." + }, + "uniqueKeyPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/UniqueKeyPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB Gremlin graph resource object" + }, + "IncludedPath": { + "type": "object", + "properties": { + "indexes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Indexes" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of indexes for this path" + }, + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + } + }, + "description": "The paths that are included in indexing" + }, + "Indexes": { + "type": "object", + "properties": { + "dataType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "String", + "Number", + "Point", + "Polygon", + "LineString", + "MultiPolygon" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The datatype for which the indexing behavior is applied to." + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Hash", + "Range", + "Spatial" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the type of index." + }, + "precision": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The precision of the index. -1 is maximum precision." + } + }, + "description": "The indexes for the path." + }, + "IndexingPolicy": { + "type": "object", + "properties": { + "automatic": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the indexing policy is automatic" + }, + "compositeIndexes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/CompositePath" + } + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of composite path list" + }, + "excludedPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExcludedPath" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of paths to exclude from indexing" + }, + "includedPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IncludedPath" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of paths to include in the indexing" + }, + "indexingMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "consistent", + "lazy", + "none" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the indexing mode." + }, + "spatialIndexes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SpatialSpec" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of spatial specifics" + } + }, + "description": "Cosmos DB indexing policy" + }, + "IpAddressOrRange": { + "type": "object", + "properties": { + "ipAddressOrRange": { + "type": "string", + "description": "A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or “23.40.210.0/8”." + } + }, + "description": "IpAddressOrRange object" + }, + "KeyWrapMetadata": { + "type": "object", + "properties": { + "algorithm": { + "type": "string", + "description": "Algorithm used in wrapping and unwrapping of the data encryption key." + }, + "name": { + "type": "string", + "description": "The name of associated KeyEncryptionKey (aka CustomerManagedKey)." + }, + "type": { + "type": "string", + "description": "ProviderName of KeyStoreProvider." + }, + "value": { + "type": "string", + "description": "Reference / link to the KeyEncryptionKey." + } + }, + "description": "Represents key wrap metadata that a key wrapping provider can use to wrap/unwrap a client encryption key." + }, + "Location": { + "type": "object", + "properties": { + "failoverPriority": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists." + }, + "isZoneRedundant": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether or not this region is an AvailabilityZone region" + }, + "locationName": { + "type": "string", + "description": "The name of the region." + }, + "provisioningState": { + "type": "string", + "description": "The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed." + } + }, + "description": "A region in which the Azure Cosmos DB database account is deployed." + }, + "ManagedCassandraManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the resource." + } + }, + "description": "Identity for the resource." + }, + "ManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Components1jq1t4ischemasmanagedserviceidentitypropertiesuserassignedidentitiesadditionalproperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource." + }, + "MongoClusterProperties": { + "type": "object", + "properties": { + "administratorLogin": { + "type": "string", + "description": "The administrator's login for the mongo cluster." + }, + "administratorLoginPassword": { + "type": "string", + "format": "password", + "description": "The password of the administrator login." + }, + "clusterStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Ready", + "Provisioning", + "Updating", + "Starting", + "Stopping", + "Stopped", + "Dropping" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A status of the mongo cluster." + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Restore", + "PointInTimeRestore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The mode to create a mongo cluster." + }, + "nodeGroupSpecs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NodeGroupSpec" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of node group specifications for the cluster. Must include one node group spec with kind = 'Shard'." + }, + "restoreParameters": { + "oneOf": [ + { + "$ref": "#/definitions/MongoClusterRestoreParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters used for restore operations" + }, + "serverVersion": { + "type": "string", + "description": "The Mongo DB server version. Defaults to the latest available version if not specified." + } + }, + "description": "The properties of a mongo cluster." + }, + "MongoClusterRestoreParameters": { + "type": "object", + "properties": { + "pointInTimeUTC": { + "type": "string", + "format": "date-time", + "description": "UTC point in time to restore a mongo cluster" + }, + "sourceResourceId": { + "type": "string", + "description": "Resource ID to locate the source cluster to restore" + } + }, + "description": "Parameters used for restore operations" + }, + "mongoClusters_firewallRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][-_.a-zA-Z0-9]*", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the mongo cluster firewall rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a mongo cluster firewall rule." + }, + "type": { + "type": "string", + "enum": [ + "firewallRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/mongoClusters/firewallRules" + }, + "MongoDBCollectionCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBCollectionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB MongoDB collection resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB collection." + }, + "MongoDBCollectionResource": { + "type": "object", + "properties": { + "analyticalStorageTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Analytical TTL." + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Restore", + "PointInTimeRestore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum to indicate the mode of resource creation." + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB collection" + }, + "indexes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MongoIndex" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of index keys" + }, + "restoreParameters": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRestoreParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters to indicate the information about the restore." + }, + "shardKey": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The shard key and partition kind pair, only support \"Hash\" partition kind" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB MongoDB collection resource object" + }, + "MongoDBDatabaseCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBDatabaseResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB MongoDB database resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB database." + }, + "MongoDBDatabaseResource": { + "type": "object", + "properties": { + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Restore", + "PointInTimeRestore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum to indicate the mode of resource creation." + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB database" + }, + "restoreParameters": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRestoreParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters to indicate the information about the restore." + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB MongoDB database resource object" + }, + "MongoIndex": { + "type": "object", + "properties": { + "key": { + "oneOf": [ + { + "$ref": "#/definitions/MongoIndexKeys" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB MongoDB collection resource object" + }, + "options": { + "oneOf": [ + { + "$ref": "#/definitions/MongoIndexOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB MongoDB collection index options" + } + }, + "description": "Cosmos DB MongoDB collection index key" + }, + "MongoIndexKeys": { + "type": "object", + "properties": { + "keys": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of keys for each MongoDB collection in the Azure Cosmos DB service" + } + }, + "description": "Cosmos DB MongoDB collection resource object" + }, + "MongoIndexOptions": { + "type": "object", + "properties": { + "expireAfterSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Expire after seconds" + }, + "unique": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Is unique or not" + } + }, + "description": "Cosmos DB MongoDB collection index options" + }, + "MongoRoleDefinitionResource": { + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "The database name for which access is being granted for this Role Definition." + }, + "privileges": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Privilege" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A set of privileges contained by the Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Scopes higher than Database are not enforceable as privilege." + }, + "roleName": { + "type": "string", + "description": "A user-friendly name for the Role Definition. Must be unique for the database account." + }, + "roles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of roles inherited by this Role Definition." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BuiltInRole", + "CustomRole" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the Role Definition was built-in or user created." + } + }, + "description": "Azure Cosmos DB Mongo Role Definition resource object." + }, + "MongoUserDefinitionResource": { + "type": "object", + "properties": { + "customData": { + "type": "string", + "description": "A custom definition for the USer Definition." + }, + "databaseName": { + "type": "string", + "description": "The database name for which access is being granted for this User Definition." + }, + "mechanisms": { + "type": "string", + "description": "The Mongo Auth mechanism. For now, we only support auth mechanism SCRAM-SHA-256." + }, + "password": { + "type": "string", + "description": "The password for User Definition. Response does not contain user password." + }, + "roles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of roles inherited by the User Definition." + }, + "userName": { + "type": "string", + "description": "The user name for User Definition." + } + }, + "description": "Azure Cosmos DB Mongo User Definition resource object." + }, + "NodeGroupSpec": { + "type": "object", + "properties": { + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disk storage size for the node group in GB. Example values: 128, 256, 512, 1024." + }, + "enableHa": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether high availability is enabled on the node group." + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Shard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The node type deployed in the node group." + }, + "nodeCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of nodes in the node group." + }, + "sku": { + "type": "string", + "description": "The resource sku for the node group. This defines the size of CPU and memory that is provisioned for each node. Example values: 'M30', 'M40'." + } + }, + "description": "Specification for a node group." + }, + "PeriodicModeBackupPolicy": { + "type": "object", + "properties": { + "periodicModeProperties": { + "oneOf": [ + { + "$ref": "#/definitions/PeriodicModeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration values for periodic mode backup" + }, + "type": { + "type": "string", + "enum": [ + "Periodic" + ] + } + }, + "required": [ + "type" + ], + "description": "The object representing periodic mode backup policy." + }, + "PeriodicModeProperties": { + "type": "object", + "properties": { + "backupIntervalInMinutes": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An integer representing the interval in minutes between two backups" + }, + "backupRetentionIntervalInHours": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An integer representing the time (in hours) that each backup is retained" + }, + "backupStorageRedundancy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Geo", + "Local", + "Zone" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum to indicate type of backup residency." + } + }, + "description": "Configuration values for periodic mode backup" + }, + "Permission": { + "type": "object", + "properties": { + "dataActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of data actions that are allowed." + }, + "notDataActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of data actions that are denied." + } + }, + "description": "The set of data plane operations permitted through this Role Definition." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Group id of the private endpoint." + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection State of the Private Endpoint Connection." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the private endpoint." + } + }, + "description": "Properties of a private endpoint connection." + }, + "PrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + }, + "description": "Private endpoint which the connection belongs to." + }, + "PrivateLinkServiceConnectionStateProperty": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The private link service connection description." + }, + "status": { + "type": "string", + "description": "The private link service connection status." + } + }, + "description": "Connection State of the Private Endpoint Connection." + }, + "Privilege": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of actions that are allowed." + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/PrivilegeResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure Cosmos DB Mongo DB Resource." + } + }, + "description": "The set of data plane operations permitted through this Role Definition." + }, + "PrivilegeResource": { + "type": "object", + "properties": { + "collection": { + "type": "string", + "description": "The collection name the role is applied." + }, + "db": { + "type": "string", + "description": "The database name the role is applied." + } + }, + "description": "An Azure Cosmos DB Mongo DB Resource." + }, + "ResourceRestoreParameters": { + "type": "object", + "properties": { + "restoreSource": { + "type": "string", + "description": "The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}" + }, + "restoreTimestampInUtc": { + "type": "string", + "format": "date-time", + "description": "Time to which the account has to be restored (ISO-8601 format)." + } + }, + "description": "Parameters to indicate the information about the restore." + }, + "RestoreParameters": { + "type": "object", + "properties": { + "databasesToRestore": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseRestoreResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of specific databases available for restore." + }, + "gremlinDatabasesToRestore": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GremlinDatabaseRestoreResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of specific gremlin databases available for restore." + }, + "restoreMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "PointInTime" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mode of the restore." + }, + "restoreSource": { + "type": "string", + "description": "The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}" + }, + "restoreTimestampInUtc": { + "type": "string", + "format": "date-time", + "description": "Time to which the account has to be restored (ISO-8601 format)." + }, + "sourceBackupLocation": { + "type": "string", + "description": "The source backup location for restore." + }, + "tablesToRestore": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of specific tables available for restore." + } + }, + "description": "Parameters to indicate the information about the restore." + }, + "Role": { + "type": "object", + "properties": { + "db": { + "type": "string", + "description": "The database name the role is applied." + }, + "role": { + "type": "string", + "description": "The role name." + } + }, + "description": "The set of roles permitted through this Role Definition." + }, + "SeedNode": { + "type": "object", + "properties": { + "ipAddress": { + "type": "string", + "description": "IP address of this seed node." + } + } + }, + "ServiceResourceCreateUpdateProperties": { + "type": "object", + "properties": { + "instanceCount": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Instance count for the service." + }, + "instanceSize": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Cosmos.D4s", + "Cosmos.D8s", + "Cosmos.D16s" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "serviceType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SqlDedicatedGateway", + "DataTransfer", + "GraphAPICompute", + "MaterializedViewsBuilder" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Properties in ServiceResourceCreateUpdateParameters." + }, + "SpatialSpec": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "types": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Point", + "LineString", + "Polygon", + "MultiPolygon" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of path's spatial type" + } + } + }, + "SqlContainerCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/SqlContainerResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB SQL container resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB container." + }, + "SqlContainerResource": { + "type": "object", + "properties": { + "analyticalStorageTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Analytical TTL." + }, + "clientEncryptionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ClientEncryptionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB client encryption policy." + }, + "conflictResolutionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ConflictResolutionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The conflict resolution policy for the container." + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Restore", + "PointInTimeRestore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum to indicate the mode of resource creation." + }, + "defaultTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Default time to live" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL container" + }, + "indexingPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/IndexingPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB indexing policy" + }, + "partitionKey": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerPartitionKey" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "restoreParameters": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRestoreParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters to indicate the information about the restore." + }, + "uniqueKeyPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/UniqueKeyPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB SQL container resource object" + }, + "SqlDatabaseCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/SqlDatabaseResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB SQL database resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB SQL database." + }, + "SqlDatabaseResource": { + "type": "object", + "properties": { + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Restore", + "PointInTimeRestore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum to indicate the mode of resource creation." + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL database" + }, + "restoreParameters": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRestoreParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters to indicate the information about the restore." + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB SQL database resource object" + }, + "SqlRoleAssignmentResource": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription." + }, + "roleDefinitionId": { + "type": "string", + "description": "The unique identifier for the associated Role Definition." + }, + "scope": { + "type": "string", + "description": "The data plane resource path for which access is being granted through this Role Assignment." + } + }, + "description": "Azure Cosmos DB SQL Role Assignment resource object." + }, + "SqlRoleDefinitionResource": { + "type": "object", + "properties": { + "assignableScopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A set of fully qualified Scopes at or below which Role Assignments may be created using this Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Must have at least one element. Scopes higher than Database account are not enforceable as assignable Scopes. Note that resources referenced in assignable Scopes need not exist." + }, + "permissions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of operations allowed through this Role Definition." + }, + "roleName": { + "type": "string", + "description": "A user-friendly name for the Role Definition. Must be unique for the database account." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BuiltInRole", + "CustomRole" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the Role Definition was built-in or user created." + } + }, + "description": "Azure Cosmos DB SQL Role Definition resource object." + }, + "SqlStoredProcedureCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/SqlStoredProcedureResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB SQL storedProcedure resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB storedProcedure." + }, + "SqlStoredProcedureResource": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "Body of the Stored Procedure" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL storedProcedure" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB SQL storedProcedure resource object" + }, + "SqlTriggerCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/SqlTriggerResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB SQL trigger resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB trigger." + }, + "SqlTriggerResource": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "Body of the Trigger" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL trigger" + }, + "triggerOperation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "All", + "Create", + "Update", + "Delete", + "Replace" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The operation the trigger is associated with." + }, + "triggerType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pre", + "Post" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the Trigger." + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB SQL trigger resource object" + }, + "SqlUserDefinedFunctionCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/SqlUserDefinedFunctionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB SQL userDefinedFunction resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction." + }, + "SqlUserDefinedFunctionResource": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "Body of the User Defined Function" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL userDefinedFunction" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB SQL userDefinedFunction resource object" + }, + "TableCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/TableResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB table resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Table." + }, + "TableResource": { + "type": "object", + "properties": { + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Restore", + "PointInTimeRestore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum to indicate the mode of resource creation." + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB table" + }, + "restoreParameters": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRestoreParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters to indicate the information about the restore." + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB table resource object" + }, + "ThroughputPolicyResource": { + "type": "object", + "properties": { + "incrementPercent": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents the percentage by which throughput can increase every time throughput policy kicks in." + }, + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether the ThroughputPolicy is active or not" + } + }, + "description": "Cosmos DB resource throughput policy" + }, + "ThroughputSettingsResource": { + "type": "object", + "properties": { + "autoscaleSettings": { + "oneOf": [ + { + "$ref": "#/definitions/AutoscaleSettingsResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB provisioned throughput settings object" + }, + "throughput": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, but not both." + } + }, + "description": "Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both." + }, + "ThroughputSettingsUpdateProperties": { + "type": "object", + "properties": { + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both." + } + }, + "required": [ + "resource" + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "UniqueKey": { + "type": "object", + "properties": { + "paths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of paths must be unique for each document in the Azure Cosmos DB service" + } + }, + "description": "The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service." + }, + "UniqueKeyPolicy": { + "type": "object", + "properties": { + "uniqueKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/UniqueKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service." + } + }, + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + }, + "VirtualNetworkRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}." + }, + "ignoreMissingVNetServiceEndpoint": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create firewall rule before the virtual network has vnet service endpoint enabled." + } + }, + "description": "Virtual Network ACL Rule object" + } + } +} \ No newline at end of file diff --git a/schemas/2023-03-01/Microsoft.AlertsManagement.json b/schemas/2023-03-01/Microsoft.AlertsManagement.json new file mode 100644 index 0000000000..6c877b5a49 --- /dev/null +++ b/schemas/2023-03-01/Microsoft.AlertsManagement.json @@ -0,0 +1,289 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-03-01/Microsoft.AlertsManagement.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.AlertsManagement", + "description": "Microsoft AlertsManagement Resource Types", + "resourceDefinitions": { + "prometheusRuleGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^:@/#{}%&+*<>?]+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the rule group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrometheusRuleGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure Prometheus rule group." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AlertsManagement/prometheusRuleGroups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.AlertsManagement/prometheusRuleGroups" + } + }, + "definitions": { + "PrometheusRule": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PrometheusRuleGroupAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved. Only relevant for alerts." + }, + "alert": { + "type": "string", + "description": "Alert rule name." + }, + "annotations": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The annotations clause specifies a set of informational labels that can be used to store longer additional information such as alert descriptions or runbook links. The annotation values can be templated." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable/disable rule." + }, + "expression": { + "type": "string", + "description": "The PromQL expression to evaluate. https://prometheus.io/docs/prometheus/latest/querying/basics/. Evaluated periodically as given by 'interval', and the result recorded as a new set of time series with the metric name as given by 'record'." + }, + "for": { + "type": "string", + "format": "duration", + "description": "The amount of time alert must be active before firing." + }, + "labels": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Labels to add or overwrite before storing the result." + }, + "record": { + "type": "string", + "description": "Recorded metrics name." + }, + "resolveConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/PrometheusRuleResolveConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Prometheus alert rule configuration." + }, + "severity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The severity of the alerts fired by the rule. Must be between 0 and 4." + } + }, + "required": [ + "expression" + ], + "description": "An Azure Prometheus alerting or recording rule." + }, + "PrometheusRuleGroupAction": { + "type": "object", + "properties": { + "actionGroupId": { + "type": "string", + "description": "The resource id of the action group to use." + }, + "actionProperties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an action group object." + } + }, + "description": "An alert action. Only relevant for alerts." + }, + "PrometheusRuleGroupProperties": { + "type": "object", + "properties": { + "clusterName": { + "type": "string", + "description": "Apply rule to data from a specific cluster." + }, + "description": { + "type": "string", + "description": "Rule group description." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable/disable rule group." + }, + "interval": { + "type": "string", + "format": "duration", + "description": "The interval in which to run the Prometheus rule group represented in ISO 8601 duration format. Should be between 1 and 15 minutes" + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PrometheusRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the rules in the Prometheus rule group." + }, + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target Azure Monitor workspaces resource ids. This api-version is currently limited to creating with one scope. This may change in future." + } + }, + "required": [ + "rules", + "scopes" + ], + "description": "An Azure Prometheus rule group." + }, + "PrometheusRuleResolveConfiguration": { + "type": "object", + "properties": { + "autoResolved": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable alert auto-resolution." + }, + "timeToResolve": { + "type": "string", + "format": "duration", + "description": "Alert auto-resolution timeout." + } + }, + "description": "Specifies the Prometheus alert rule configuration." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index cb022e645d..aa8826063c 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -106,6 +106,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-08-08-preview/Microsoft.AlertsManagement.json#/resourceDefinitions/actionRules" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01/Microsoft.AlertsManagement.json#/resourceDefinitions/prometheusRuleGroups" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-05-16/Microsoft.AnalysisServices.json#/resourceDefinitions/servers" }, @@ -7192,6 +7195,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-01-02-preview/Microsoft.ContainerService.json#/resourceDefinitions/snapshots" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json#/resourceDefinitions/pools" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json#/resourceDefinitions/pools_volumes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json#/resourceDefinitions/pools_volumeSnapshots" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-05-31/Microsoft.CostManagement.json#/resourceDefinitions/reportconfigs" }, @@ -9544,6 +9556,18 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-04-30-preview/Microsoft.Devices.json#/resourceDefinitions/iotHubs_privateEndpointConnections" }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-15-preview/Microsoft.Devices.json#/resourceDefinitions/IotHubs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-15-preview/Microsoft.Devices.json#/resourceDefinitions/IotHubs_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-15-preview/Microsoft.Devices.json#/resourceDefinitions/IotHubs_eventHubEndpoints_ConsumerGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-15-preview/Microsoft.Devices.json#/resourceDefinitions/iotHubs_privateEndpointConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2017-08-21-preview/Microsoft.Devices.Provisioning.json#/resourceDefinitions/provisioningServices" }, @@ -12172,6 +12196,120 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-11-15-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_tables_throughputSettings" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/cassandraClusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/cassandraClusters_dataCenters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_cassandraKeyspaces" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_cassandraKeyspaces_tables" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_cassandraKeyspaces_tables_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_cassandraKeyspaces_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_cassandraKeyspaces_views" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_cassandraKeyspaces_views_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_dataTransferJobs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_graphs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_gremlinDatabases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_gremlinDatabases_graphs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_gremlinDatabases_graphs_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_gremlinDatabases_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_mongodbDatabases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_mongodbDatabases_collections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_mongodbDatabases_collections_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_mongodbDatabases_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_mongodbRoleDefinitions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_mongodbUserDefinitions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_notebookWorkspaces" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_clientEncryptionKeys" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_containers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_containers_storedProcedures" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_containers_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_containers_triggers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_containers_userDefinedFunctions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlRoleAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlRoleDefinitions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_tables" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_tables_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/mongoClusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/mongoClusters_firewallRules" + }, { "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DomainRegistration.json#/resourceDefinitions/domains" }, @@ -13687,6 +13825,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Insights.json#/resourceDefinitions/actionGroups" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.Insights.json#/resourceDefinitions/activityLogAlerts" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-09-01/Microsoft.IotCentral.json#/resourceDefinitions/iotApps" }, @@ -13915,6 +14056,30 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-11-01/Microsoft.KeyVault.json#/resourceDefinitions/vaults_secrets" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.KeyVault.json#/resourceDefinitions/managedHSMs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.KeyVault.json#/resourceDefinitions/managedHSMs_keys" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.KeyVault.json#/resourceDefinitions/managedHSMs_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.KeyVault.json#/resourceDefinitions/vaults" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.KeyVault.json#/resourceDefinitions/vaults_accessPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.KeyVault.json#/resourceDefinitions/vaults_keys" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.KeyVault.json#/resourceDefinitions/vaults_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.KeyVault.json#/resourceDefinitions/vaults_secrets" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.Kubernetes.json#/resourceDefinitions/connectedClusters" }, @@ -15643,9 +15808,30 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Media.json#/resourceDefinitions/mediaservices" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Media.json#/resourceDefinitions/mediaServices_accountFilters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Media.json#/resourceDefinitions/mediaServices_assets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Media.json#/resourceDefinitions/mediaServices_assets_assetFilters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Media.json#/resourceDefinitions/mediaServices_assets_tracks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Media.json#/resourceDefinitions/mediaServices_contentKeyPolicies" + }, { "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Media.json#/resourceDefinitions/mediaservices_privateEndpointConnections" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Media.json#/resourceDefinitions/mediaServices_streamingLocators" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.Media.json#/resourceDefinitions/mediaServices_streamingPolicies" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-02-02/Microsoft.Migrate.json#/resourceDefinitions/projects" }, @@ -24697,6 +24883,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_extendedInformation" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_extendedInformation" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationAlertSettings" }, @@ -25561,6 +25756,48 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationVaultSettings" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationAlertSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationNetworks_replicationNetworkMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationRecoveryServicesProviders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationStorageClassifications_replicationStorageClassificationMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationvCenters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationProtectionIntents" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationRecoveryPlans" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationVaultSettings" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-04-30/Microsoft.RedHatOpenShift.json#/resourceDefinitions/openShiftClusters" }, @@ -26524,6 +26761,24 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applications_services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedclusters_applicationTypes_versions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ServiceFabric.json#/resourceDefinitions/managedClusters_nodeTypes" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-07-01-preview/Microsoft.ServiceFabricMesh.json#/resourceDefinitions/applications" }, @@ -31222,6 +31477,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-02-14/Microsoft.VirtualMachineImages.json#/resourceDefinitions/imageTemplates" }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-07-01/Microsoft.VirtualMachineImages.json#/resourceDefinitions/imageTemplates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-07-01/Microsoft.VirtualMachineImages.json#/resourceDefinitions/imageTemplates_triggers" + }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01-preview/Microsoft.VisualStudio.json#/resourceDefinitions/account" },