From d9aae81d3608d92ea3f52053694a457968f7e36c Mon Sep 17 00:00:00 2001 From: anthony-c-martin Date: Thu, 24 Aug 2023 23:22:07 +0000 Subject: [PATCH] Update Generated Schemas --- .../subscriptionDeploymentTemplate.json | 6 + .../managementGroupDeploymentTemplate.json | 9 + .../2021-06-03-preview/Microsoft.Monitor.json | 2 +- .../2022-11-01-preview/Microsoft.NetApp.json | 3110 ++ schemas/2023-02-01-preview/Microsoft.Sql.json | 11977 +++++++ schemas/2023-04-01/Microsoft.Cache.json | 2 +- schemas/2023-04-03/Microsoft.Monitor.json | 2 +- .../2023-05-01/Microsoft.DataProtection.json | 20 + schemas/2023-05-01/Microsoft.Network.NRP.json | 26462 ++++++++++++++++ .../2023-06-01-preview/Microsoft.Quota.json | 432 + ...crosoft.RecoveryServices.SiteRecovery.json | 4514 +++ .../Microsoft.DelegatedNetwork.json | 381 + .../Microsoft.AppPlatform.json | 6875 ++++ .../Microsoft.RedHatOpenShift.json | 993 + .../2023-08-01/Microsoft.CostManagement.json | 371 + .../Microsoft.Migrate.ResourceMover.json | 1222 + .../Microsoft.HDInsight.json | 1961 ++ schemas/common/autogeneratedResources.json | 720 + 18 files changed, 59056 insertions(+), 3 deletions(-) create mode 100644 schemas/2022-11-01-preview/Microsoft.NetApp.json create mode 100644 schemas/2023-02-01-preview/Microsoft.Sql.json create mode 100644 schemas/2023-05-01/Microsoft.Network.NRP.json create mode 100644 schemas/2023-06-01-preview/Microsoft.Quota.json create mode 100644 schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json create mode 100644 schemas/2023-06-27-preview/Microsoft.DelegatedNetwork.json create mode 100644 schemas/2023-07-01-preview/Microsoft.AppPlatform.json create mode 100644 schemas/2023-07-01-preview/Microsoft.RedHatOpenShift.json create mode 100644 schemas/2023-08-01/Microsoft.Migrate.ResourceMover.json create mode 100644 schemas/2023-08-15-preview/Microsoft.HDInsight.json diff --git a/schemas/2018-05-01/subscriptionDeploymentTemplate.json b/schemas/2018-05-01/subscriptionDeploymentTemplate.json index 7835eb4000..31edcc510f 100644 --- a/schemas/2018-05-01/subscriptionDeploymentTemplate.json +++ b/schemas/2018-05-01/subscriptionDeploymentTemplate.json @@ -986,6 +986,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-08-01/Microsoft.CostManagement.json#/unknown_resourceDefinitions/scheduledActions" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-08-01/Microsoft.CostManagement.json#/unknown_resourceDefinitions/settings" + }, { "$ref": "https://schema.management.azure.com/schemas/2023-08-01/Microsoft.CostManagement.json#/unknown_resourceDefinitions/views" }, @@ -1157,6 +1160,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-04-01/Microsoft.Network.NRP.json#/subscription_resourceDefinitions/networkManagerConnections" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/subscription_resourceDefinitions/networkManagerConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2017-09-01-preview/Microsoft.Network.TrafficManager.json#/subscription_resourceDefinitions/trafficManagerUserMetricsKeys" }, diff --git a/schemas/2019-08-01/managementGroupDeploymentTemplate.json b/schemas/2019-08-01/managementGroupDeploymentTemplate.json index a2b9ebc12d..ab246c3d70 100644 --- a/schemas/2019-08-01/managementGroupDeploymentTemplate.json +++ b/schemas/2019-08-01/managementGroupDeploymentTemplate.json @@ -854,6 +854,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-04-01/Microsoft.Network.NRP.json#/managementGroup_resourceDefinitions/networkManagerConnections" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/managementGroup_resourceDefinitions/networkManagerConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-07-01-preview/Microsoft.PolicyInsights.json#/unknown_resourceDefinitions/remediations" }, @@ -863,6 +866,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-10-01/Microsoft.PolicyInsights.json#/unknown_resourceDefinitions/remediations" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.Quota.json#/managementGroup_resourceDefinitions/groupQuotas" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.Quota.json#/managementGroup_resourceDefinitions/groupQuotas_subscriptions" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-05-01/Microsoft.Resources.json#/managementGroup_resourceDefinitions/deployments" }, diff --git a/schemas/2021-06-03-preview/Microsoft.Monitor.json b/schemas/2021-06-03-preview/Microsoft.Monitor.json index ac1e54227f..f21e1fbf51 100644 --- a/schemas/2021-06-03-preview/Microsoft.Monitor.json +++ b/schemas/2021-06-03-preview/Microsoft.Monitor.json @@ -27,7 +27,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The name of the Azure Monitor workspace. The name is case insensitive" + "description": "The name of the Azure Monitor Workspace. The name is case insensitive" }, "properties": { "oneOf": [ diff --git a/schemas/2022-11-01-preview/Microsoft.NetApp.json b/schemas/2022-11-01-preview/Microsoft.NetApp.json new file mode 100644 index 0000000000..0d8c83bda7 --- /dev/null +++ b/schemas/2022-11-01-preview/Microsoft.NetApp.json @@ -0,0 +1,3110 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.NetApp.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.NetApp", + "description": "Microsoft NetApp Resource Types", + "resourceDefinitions": { + "netAppAccounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,127}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the NetApp account" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AccountProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NetApp account properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_snapshotPolicies_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_backupPolicies_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_volumeGroups_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_backupVaults_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.NetApp/netAppAccounts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts" + }, + "netAppAccounts_backupPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup policy properties" + }, + "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.NetApp/netAppAccounts/backupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupPolicies" + }, + "netAppAccounts_backupVaults": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Backup Vault" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Vault properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_backupVaults_backups_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.NetApp/netAppAccounts/backupVaults" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupVaults" + }, + "netAppAccounts_backupVaults_backups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,255}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the backup" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/backupVaults/backups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupVaults/backups" + }, + "netAppAccounts_capacityPools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the capacity pool" + }, + "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/netAppAccounts_capacityPools_volumes_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.NetApp/netAppAccounts/capacityPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools" + }, + "netAppAccounts_capacityPools_volumes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the volume" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_snapshots_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_volumeQuotaRules_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_subvolumes_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.NetApp/netAppAccounts/capacityPools/volumes" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Availability Zone" + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + }, + "netAppAccounts_capacityPools_volumes_snapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + }, + "netAppAccounts_capacityPools_volumes_subvolumes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the subvolume." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SubvolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This represents path associated with the subvolume" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes" + }, + "netAppAccounts_capacityPools_volumes_volumeQuotaRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of volume quota rule" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeQuotaRulesProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Quota Rule properties" + }, + "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.NetApp/netAppAccounts/capacityPools/volumes/volumeQuotaRules" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/volumeQuotaRules" + }, + "netAppAccounts_snapshotPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the snapshot policy" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot policy properties" + }, + "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.NetApp/netAppAccounts/snapshotPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + }, + "netAppAccounts_volumeGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the volumeGroup" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume group properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/volumeGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/volumeGroups" + } + }, + "definitions": { + "AccountEncryption": { + "type": "object", + "properties": { + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity used to authenticate with key vault." + }, + "keySource": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft.NetApp", + "Microsoft.KeyVault" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault." + }, + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of key vault." + } + }, + "description": "Encryption settings" + }, + "AccountProperties": { + "type": "object", + "properties": { + "activeDirectories": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ActiveDirectory" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Active Directories" + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/AccountEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption settings" + } + }, + "description": "NetApp account properties" + }, + "ActiveDirectory": { + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "description": "Id of the Active Directory" + }, + "administrators": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier" + }, + "adName": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume" + }, + "aesEncryption": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If enabled, AES encryption will be enabled for SMB communication." + }, + "allowLocalNfsUsersWithLdap": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": " If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes." + }, + "backupOperators": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier" + }, + "dns": { + "oneOf": [ + { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain" + }, + "domain": { + "type": "string", + "description": "Name of the Active Directory domain" + }, + "encryptDCConnections": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted." + }, + "kdcIP": { + "oneOf": [ + { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume." + }, + "ldapOverTLS": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether or not the LDAP traffic needs to be secured via TLS." + }, + "ldapSearchScope": { + "oneOf": [ + { + "$ref": "#/definitions/LdapSearchScopeOpt" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "LDAP search scope " + }, + "ldapSigning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether or not the LDAP traffic needs to be signed." + }, + "organizationalUnit": { + "type": "string", + "default": "CN=Computers", + "description": "The Organizational Unit (OU) within the Windows Active Directory" + }, + "password": { + "type": "string", + "description": "Plain text password of Active Directory domain administrator, value is masked in the response" + }, + "preferredServersForLdapClient": { + "oneOf": [ + { + "type": "string", + "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$", + "maxLength": 32 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed." + }, + "securityOperators": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier" + }, + "serverRootCACertificate": { + "type": "string", + "minLength": 1, + "maxLength": 10240, + "description": "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes." + }, + "site": { + "type": "string", + "description": "The Active Directory site the service will limit Domain Controller discovery to" + }, + "smbServerName": { + "type": "string", + "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes" + }, + "username": { + "type": "string", + "description": "A domain user account with permission to create machine accounts" + } + }, + "description": "Active Directory" + }, + "BackupPolicyProperties": { + "type": "object", + "properties": { + "dailyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily backups count to keep" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The property to decide policy is enabled or not" + }, + "monthlyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly backups count to keep" + }, + "weeklyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly backups count to keep" + } + }, + "description": "Backup policy properties" + }, + "BackupProperties": { + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Label for backup" + }, + "snapshotName": { + "type": "string", + "description": "The name of the snapshot" + }, + "useExistingSnapshot": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Manual backup an already existing snapshot. This will always be false for scheduled backups and true/false for manual backups" + }, + "volumeResourceId": { + "type": "string", + "description": "ResourceId used to identify the Volume" + } + }, + "required": [ + "volumeResourceId" + ], + "description": "Backup properties" + }, + "BackupVaultProperties": { + "type": "object", + "properties": {}, + "description": "Backup Vault properties" + }, + "DailySchedule": { + "type": "object", + "properties": { + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Daily Schedule properties" + }, + "EncryptionIdentity": { + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities." + } + }, + "description": "Identity used to authenticate with key vault." + }, + "ExportPolicyRule": { + "type": "object", + "properties": { + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + }, + "chownMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Restricted", + "Unrestricted" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own." + }, + "cifs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows CIFS protocol" + }, + "hasRootAccess": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Has root access to volume" + }, + "kerberos5iReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5iReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5pReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5pReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5ReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5ReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "nfsv3": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes" + }, + "nfsv41": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes" + }, + "ruleIndex": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Order index" + }, + "unixReadOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read only access" + }, + "unixReadWrite": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read and write access" + } + }, + "description": "Volume Export Policy Rule" + }, + "HourlySchedule": { + "type": "object", + "properties": { + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Hourly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Hourly Schedule properties" + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "The name of KeyVault key." + }, + "keyVaultResourceId": { + "type": "string", + "description": "The resource ID of KeyVault." + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of KeyVault." + } + }, + "required": [ + "keyName", + "keyVaultResourceId", + "keyVaultUri" + ], + "description": "Properties of key vault." + }, + "LdapSearchScopeOpt": { + "type": "object", + "properties": { + "groupDN": { + "type": "string", + "maxLength": 255, + "description": "This specifies the group DN, which overrides the base DN for group lookups." + }, + "groupMembershipFilter": { + "type": "string", + "maxLength": 255, + "description": "This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server." + }, + "userDN": { + "type": "string", + "maxLength": 255, + "description": "This specifies the user DN, which overrides the base DN for user lookups." + } + }, + "description": "LDAP search scope " + }, + "ManagedServiceIdentity": { + "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 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." + } + }, + "required": [ + "type" + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "MonthlySchedule": { + "type": "object", + "properties": { + "daysOfMonth": { + "type": "string", + "description": "Indicates which days of the month snapshot should be taken. A comma delimited string." + }, + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Monthly Schedule properties" + }, + "netAppAccounts_backupPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup policy properties" + }, + "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": [ + "backupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupPolicies" + }, + "netAppAccounts_backupVaults_backups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,255}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the backup" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup properties" + }, + "type": { + "type": "string", + "enum": [ + "backups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupVaults/backups" + }, + "netAppAccounts_backupVaults_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Backup Vault" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Vault properties" + }, + "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": [ + "backupVaults" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupVaults" + }, + "netAppAccounts_capacityPools_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the capacity pool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool properties" + }, + "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": [ + "capacityPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools" + }, + "netAppAccounts_capacityPools_volumes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the volume" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume properties" + }, + "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": [ + "volumes" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Availability Zone" + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + }, + "netAppAccounts_capacityPools_volumes_snapshots_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot properties" + }, + "type": { + "type": "string", + "enum": [ + "snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + }, + "netAppAccounts_capacityPools_volumes_subvolumes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the subvolume." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SubvolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This represents path associated with the subvolume" + }, + "type": { + "type": "string", + "enum": [ + "subvolumes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes" + }, + "netAppAccounts_capacityPools_volumes_volumeQuotaRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of volume quota rule" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeQuotaRulesProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Quota Rule properties" + }, + "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": [ + "volumeQuotaRules" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/volumeQuotaRules" + }, + "netAppAccounts_snapshotPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the snapshot policy" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot policy properties" + }, + "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": [ + "snapshotPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + }, + "netAppAccounts_volumeGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the volumeGroup" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume group properties" + }, + "type": { + "type": "string", + "enum": [ + "volumeGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/volumeGroups" + }, + "PlacementKeyValuePairs": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Key for an application specific parameter for the placement of volumes in the volume group" + }, + "value": { + "type": "string", + "description": "Value for an application specific parameter for the placement of volumes in the volume group" + } + }, + "required": [ + "key", + "value" + ], + "description": "Application specific parameters for the placement of volumes in the volume group" + }, + "PoolProperties": { + "type": "object", + "properties": { + "coolAccess": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If enabled (true) the pool can contain cool Access enabled volumes." + }, + "encryptionType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Single", + "Double" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool." + }, + "qosType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Auto", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The qos type of the pool." + }, + "serviceLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "Ultra", + "StandardZRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "size": { + "oneOf": [ + { + "type": "integer", + "default": "4398046511104" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioned size of the pool (in bytes). Allowed values are in 1TiB chunks (value must be multiply of 4398046511104)." + } + }, + "required": [ + "serviceLevel", + "size" + ], + "description": "Pool properties" + }, + "ReplicationObject": { + "type": "object", + "properties": { + "endpointType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "src", + "dst" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the local volume is the source or destination for the Volume Replication." + }, + "remoteVolumeRegion": { + "type": "string", + "description": "The remote region for the other end of the Volume Replication." + }, + "remoteVolumeResourceId": { + "type": "string", + "description": "The resource ID of the remote volume." + }, + "replicationId": { + "type": "string", + "description": "Id" + }, + "replicationSchedule": { + "oneOf": [ + { + "type": "string", + "enum": [ + "_10minutely", + "hourly", + "daily" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schedule." + } + }, + "required": [ + "remoteVolumeResourceId" + ], + "description": "Replication properties" + }, + "SnapshotPolicyProperties": { + "type": "object", + "properties": { + "dailySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/DailySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily Schedule properties" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The property to decide policy is enabled or not" + }, + "hourlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/HourlySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Hourly Schedule properties" + }, + "monthlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/MonthlySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly Schedule properties" + }, + "weeklySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days" + } + }, + "description": "Snapshot policy properties" + }, + "SnapshotProperties": { + "type": "object", + "properties": {}, + "description": "Snapshot properties" + }, + "SubvolumeProperties": { + "type": "object", + "properties": { + "parentPath": { + "type": "string", + "description": "parent path to the subvolume" + }, + "path": { + "type": "string", + "description": "Path to the subvolume" + }, + "size": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Truncate subvolume to the provided size in bytes" + } + }, + "description": "This represents path associated with the subvolume" + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + }, + "VolumeBackupProperties": { + "type": "object", + "properties": { + "backupEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Enabled" + }, + "backupPolicyId": { + "type": "string", + "description": "Backup Policy Resource ID" + }, + "backupVaultId": { + "type": "string", + "description": "Backup Vault Resource ID" + }, + "policyEnforced": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy Enforced" + } + }, + "description": "Volume Backup Properties" + }, + "VolumeGroupMetaData": { + "type": "object", + "properties": { + "applicationIdentifier": { + "type": "string", + "description": "Application specific identifier" + }, + "applicationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SAP-HANA" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application Type." + }, + "deploymentSpecId": { + "type": "string", + "description": "Application specific identifier of deployment rules for the volume group" + }, + "globalPlacementRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PlacementKeyValuePairs" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application specific placement rules for the volume group" + }, + "groupDescription": { + "type": "string", + "description": "Group Description" + } + }, + "description": "Volume group properties" + }, + "VolumeGroupProperties": { + "type": "object", + "properties": { + "groupMetaData": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeGroupMetaData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume group properties" + }, + "volumes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeGroupVolumeProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of volumes from group" + } + }, + "description": "Volume group properties" + }, + "VolumeGroupVolumeProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Resource name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume properties" + }, + "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" + } + }, + "required": [ + "properties" + ], + "description": "Volume resource" + }, + "VolumeProperties": { + "type": "object", + "properties": { + "avsDataStore": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose." + }, + "backupId": { + "type": "string", + "description": "UUID v4 or resource identifier used to identify the Backup." + }, + "capacityPoolResourceId": { + "type": "string", + "description": "Pool Resource Id used in case of creating a volume through volume group" + }, + "coolAccess": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether Cool Access(tiering) is enabled for the volume." + }, + "coolnessPeriod": { + "oneOf": [ + { + "type": "integer", + "minimum": 7, + "maximum": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the number of days after which data that is not accessed by clients will be tiered." + }, + "creationToken": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A unique file path for the volume. Used when creating mount targets" + }, + "dataProtection": { + "oneOf": [ + { + "$ref": "#/definitions/VolumePropertiesDataProtection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DataProtection type volumes include an object containing details of the replication" + }, + "defaultGroupQuotaInKiBs": { + "oneOf": [ + { + "type": "integer", + "default": "0" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies." + }, + "defaultUserQuotaInKiBs": { + "oneOf": [ + { + "type": "integer", + "default": "0" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies ." + }, + "deleteBaseSnapshot": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If enabled (true) the snapshot the volume was created from will be automatically deleted after the volume create operation has finished. Defaults to false" + }, + "enableSubvolumes": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag indicating whether subvolume operations are enabled on the volume." + }, + "encryptionKeySource": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft.NetApp", + "Microsoft.KeyVault" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault'." + }, + "exportPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/VolumePropertiesExportPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of export policy rules" + }, + "isDefaultQuotaEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies if default quota is enabled for the volume." + }, + "isLargeVolume": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether volume is a Large Volume or Regular Volume." + }, + "isRestoring": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Restoring" + }, + "kerberosEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later" + }, + "keyVaultPrivateEndpointResourceId": { + "type": "string", + "description": "The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'." + }, + "ldapEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether LDAP is enabled or not for a given NFS volume." + }, + "networkFeatures": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Basic network, or Standard features available to the volume." + }, + "placementRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PlacementKeyValuePairs" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application specific placement rules for the particular volume" + }, + "protocolTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of protocol types, default NFSv3, CIFS for SMB protocol" + }, + "proximityPlacementGroup": { + "type": "string", + "description": "Proximity placement group associated with the volume" + }, + "securityStyle": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ntfs", + "unix" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol." + }, + "serviceLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "Ultra", + "StandardZRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "smbAccessBasedEnumeration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables access based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume." + }, + "smbContinuouslyAvailable": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables continuously available share property for smb volume. Only applicable for SMB volume" + }, + "smbEncryption": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later" + }, + "smbNonBrowsable": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables non browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume." + }, + "snapshotDirectoryVisible": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots (defaults to true)." + }, + "snapshotId": { + "type": "string", + "description": "UUID v4 or resource identifier used to identify the Snapshot." + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + }, + "throughputMibps": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "unixPermissions": { + "type": "string", + "minLength": 4, + "maxLength": 4, + "default": "0770", + "description": "UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users." + }, + "usageThreshold": { + "oneOf": [ + { + "type": "integer", + "minimum": 107374182400, + "maximum": 549755813888000, + "default": "107374182400" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB, 500Tib for LargeVolume. Specified in bytes." + }, + "volumeSpecName": { + "type": "string", + "description": "Volume spec name is the application specific designation or identifier for the particular volume in a volume group for e.g. data, log" + }, + "volumeType": { + "type": "string", + "description": "What type of volume is this. For destination volumes in Cross Region Replication, set type to DataProtection" + } + }, + "required": [ + "creationToken", + "subnetId", + "usageThreshold" + ], + "description": "Volume properties" + }, + "VolumePropertiesDataProtection": { + "type": "object", + "properties": { + "backup": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeBackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Backup Properties" + }, + "replication": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationObject" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Replication properties" + }, + "snapshot": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeSnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Properties" + }, + "volumeRelocation": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeRelocationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume relocation properties" + } + }, + "description": "DataProtection type volumes include an object containing details of the replication" + }, + "VolumePropertiesExportPolicy": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExportPolicyRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Export policy rule" + } + }, + "description": "Set of export policy rules" + }, + "VolumeQuotaRulesProperties": { + "type": "object", + "properties": { + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Accepted", + "Creating", + "Patching", + "Deleting", + "Moving", + "Failed", + "Succeeded" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "quotaSizeInKiBs": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Size of quota" + }, + "quotaTarget": { + "type": "string", + "description": "UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running " + }, + "quotaType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DefaultUserQuota", + "DefaultGroupQuota", + "IndividualUserQuota", + "IndividualGroupQuota" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of quota." + } + }, + "description": "Volume Quota Rule properties" + }, + "VolumeRelocationProperties": { + "type": "object", + "properties": { + "relocationRequested": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Has relocation been requested for this volume" + } + }, + "description": "Volume relocation properties" + }, + "VolumeSnapshotProperties": { + "type": "object", + "properties": { + "snapshotPolicyId": { + "type": "string", + "description": "Snapshot Policy ResourceId" + } + }, + "description": "Volume Snapshot Properties" + }, + "WeeklySchedule": { + "type": "object", + "properties": { + "day": { + "type": "string", + "description": "Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english" + }, + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days" + } + } +} \ No newline at end of file diff --git a/schemas/2023-02-01-preview/Microsoft.Sql.json b/schemas/2023-02-01-preview/Microsoft.Sql.json new file mode 100644 index 0000000000..fb83b92dc7 --- /dev/null +++ b/schemas/2023-02-01-preview/Microsoft.Sql.json @@ -0,0 +1,11977 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Sql", + "description": "Microsoft Sql Resource Types", + "resourceDefinitions": { + "instancePools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the instance pool to be created or updated." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/InstancePoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an instance pool." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An ARM Resource SKU." + }, + "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.Sql/instancePools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/instancePools" + }, + "locations_instanceFailoverGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the failover group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/InstanceFailoverGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a instance failover group." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/locations/instanceFailoverGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/locations/instanceFailoverGroups" + }, + "locations_serverTrustGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the server trust group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerTrustGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a server trust group." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/locations/serverTrustGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/locations/serverTrustGroups" + }, + "managedInstances": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory identity configuration for a resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the managed instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a managed instance." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/managedInstances_distributedAvailabilityGroups_childResource" + }, + { + "$ref": "#/definitions/managedInstances_databases_childResource" + }, + { + "$ref": "#/definitions/managedInstances_administrators_childResource" + }, + { + "$ref": "#/definitions/managedInstances_advancedThreatProtectionSettings_childResource" + }, + { + "$ref": "#/definitions/managedInstances_azureADOnlyAuthentications_childResource" + }, + { + "$ref": "#/definitions/managedInstances_dtc_childResource" + }, + { + "$ref": "#/definitions/managedInstances_encryptionProtector_childResource" + }, + { + "$ref": "#/definitions/managedInstances_keys_childResource" + }, + { + "$ref": "#/definitions/managedInstances_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/managedInstances_vulnerabilityAssessments_childResource" + }, + { + "$ref": "#/definitions/managedInstances_dnsAliases_childResource" + }, + { + "$ref": "#/definitions/managedInstances_securityAlertPolicies_childResource" + }, + { + "$ref": "#/definitions/managedInstances_serverConfigurationOptions_childResource" + }, + { + "$ref": "#/definitions/managedInstances_serverTrustCertificates_childResource" + }, + { + "$ref": "#/definitions/managedInstances_sqlAgent_childResource" + }, + { + "$ref": "#/definitions/managedInstances_startStopSchedules_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An ARM Resource SKU." + }, + "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.Sql/managedInstances" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances" + }, + "managedInstances_administrators": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/ActiveDirectory$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceAdministratorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a managed instance administrator." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/administrators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/administrators" + }, + "managedInstances_advancedThreatProtectionSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 Advanced Threat Protection state." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdvancedThreatProtectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an Advanced Threat Protection state." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/advancedThreatProtectionSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/advancedThreatProtectionSettings" + }, + "managedInstances_azureADOnlyAuthentications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/Default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of server azure active directory only authentication." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a active directory only authentication for Managed Instance." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/azureADOnlyAuthentications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/azureADOnlyAuthentications" + }, + "managedInstances_databases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the database." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedDatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed database's properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/managedInstances_databases_backupShortTermRetentionPolicies_childResource" + }, + { + "$ref": "#/definitions/managedInstances_databases_advancedThreatProtectionSettings_childResource" + }, + { + "$ref": "#/definitions/managedInstances_databases_securityAlertPolicies_childResource" + }, + { + "$ref": "#/definitions/managedInstances_databases_transparentDataEncryption_childResource" + }, + { + "$ref": "#/definitions/managedInstances_databases_vulnerabilityAssessments_childResource" + }, + { + "$ref": "#/definitions/managedInstances_databases_backupLongTermRetentionPolicies_childResource" + }, + { + "$ref": "#/definitions/managedInstances_databases_ledgerDigestUploads_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.Sql/managedInstances/databases" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases" + }, + "managedInstances_databases_advancedThreatProtectionSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 Advanced Threat Protection state." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdvancedThreatProtectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an Advanced Threat Protection state." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/databases/advancedThreatProtectionSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/advancedThreatProtectionSettings" + }, + "managedInstances_databases_backupLongTermRetentionPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy name. Should always be Default." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BaseLongTermRetentionPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a long term retention policy" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/databases/backupLongTermRetentionPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/backupLongTermRetentionPolicies" + }, + "managedInstances_databases_backupShortTermRetentionPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy name. Should always be \"default\"." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a short term retention policy" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/databases/backupShortTermRetentionPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/backupShortTermRetentionPolicies" + }, + "managedInstances_databases_ledgerDigestUploads": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/current$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Ledger Digest Upload Configurations." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedLedgerDigestUploadsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a database ledger digest upload settings." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/databases/ledgerDigestUploads" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/ledgerDigestUploads" + }, + "managedInstances_databases_schemas_tables_columns_sensitivityLabels": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The source of the sensitivity label." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SensitivityLabelProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a sensitivity label." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels" + }, + "managedInstances_databases_securityAlertPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 security alert policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAlertPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a security alert policy." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/databases/securityAlertPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/securityAlertPolicies" + }, + "managedInstances_databases_transparentDataEncryption": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/current$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the transparent data encryption configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedTransparentDataEncryptionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a transparent data encryption." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/databases/transparentDataEncryption" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/transparentDataEncryption" + }, + "managedInstances_databases_vulnerabilityAssessments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 vulnerability assessment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database Vulnerability Assessment." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments" + }, + "managedInstances_databases_vulnerabilityAssessments_rules_baselines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "master", + "default" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the vulnerability assessment rule baseline (default implies a baseline on a database level rule and master for server level rule)." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentRuleBaselineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database Vulnerability Assessment rule baseline." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments/rules/baselines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments/rules/baselines" + }, + "managedInstances_distributedAvailabilityGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The distributed availability group name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateOrUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties for creating and updating distributed availability group" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/distributedAvailabilityGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/distributedAvailabilityGroups" + }, + "managedInstances_dnsAliases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "createDnsRecord": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not DNS record should be created for this alias." + }, + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/dnsAliases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Sql/managedInstances/dnsAliases" + }, + "managedInstances_dtc": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/current$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the managed instance DTC." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceDtcProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of managed instance DTC." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/dtc" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/dtc" + }, + "managedInstances_encryptionProtector": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/current$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the encryption protector to be updated." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceEncryptionProtectorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties for an encryption protector execution." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/encryptionProtector" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/encryptionProtector" + }, + "managedInstances_keys": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the managed instance key to be operated on (updated or created)." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceKeyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties for a key execution." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/keys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/keys" + }, + "managedInstances_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstancePrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/privateEndpointConnections" + }, + "managedInstances_restorableDroppedDatabases_backupShortTermRetentionPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy name. Should always be \"default\"." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a short term retention policy" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies" + }, + "managedInstances_securityAlertPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 security alert policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAlertsPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a security alert policy." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/securityAlertPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/securityAlertPolicies" + }, + "managedInstances_serverConfigurationOptions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/allowPolybaseExport$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the server configuration option." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerConfigurationOptionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of server configuration option." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/serverConfigurationOptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/serverConfigurationOptions" + }, + "managedInstances_serverTrustCertificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of of the certificate to upload." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerTrustCertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a server trust certificate." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/serverTrustCertificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/serverTrustCertificates" + }, + "managedInstances_sqlAgent": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/current$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlAgentConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sql agent configuration properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/sqlAgent" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/sqlAgent" + }, + "managedInstances_startStopSchedules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the managed instance Start/Stop schedule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StartStopManagedInstanceScheduleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of managed instance's Start/Stop schedule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/startStopSchedules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/startStopSchedules" + }, + "managedInstances_vulnerabilityAssessments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 vulnerability assessment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceVulnerabilityAssessmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a managed instance vulnerability assessment." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/managedInstances/vulnerabilityAssessments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/vulnerabilityAssessments" + }, + "servers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory identity configuration for a resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the server." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a server." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/servers_auditingSettings_childResource" + }, + { + "$ref": "#/definitions/servers_extendedAuditingSettings_childResource" + }, + { + "$ref": "#/definitions/servers_databases_childResource" + }, + { + "$ref": "#/definitions/servers_elasticPools_childResource" + }, + { + "$ref": "#/definitions/servers_encryptionProtector_childResource" + }, + { + "$ref": "#/definitions/servers_failoverGroups_childResource" + }, + { + "$ref": "#/definitions/servers_firewallRules_childResource" + }, + { + "$ref": "#/definitions/servers_ipv6FirewallRules_childResource" + }, + { + "$ref": "#/definitions/servers_jobAgents_childResource" + }, + { + "$ref": "#/definitions/servers_outboundFirewallRules_childResource" + }, + { + "$ref": "#/definitions/servers_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/servers_advancedThreatProtectionSettings_childResource" + }, + { + "$ref": "#/definitions/servers_administrators_childResource" + }, + { + "$ref": "#/definitions/servers_azureADOnlyAuthentications_childResource" + }, + { + "$ref": "#/definitions/servers_connectionPolicies_childResource" + }, + { + "$ref": "#/definitions/servers_devOpsAuditingSettings_childResource" + }, + { + "$ref": "#/definitions/servers_dnsAliases_childResource" + }, + { + "$ref": "#/definitions/servers_keys_childResource" + }, + { + "$ref": "#/definitions/servers_securityAlertPolicies_childResource" + }, + { + "$ref": "#/definitions/servers_vulnerabilityAssessments_childResource" + }, + { + "$ref": "#/definitions/servers_sqlVulnerabilityAssessments_childResource" + }, + { + "$ref": "#/definitions/servers_syncAgents_childResource" + }, + { + "$ref": "#/definitions/servers_virtualNetworkRules_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.Sql/servers" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers" + }, + "servers_administrators": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/ActiveDirectory$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of server active directory administrator." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdministratorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a active directory administrator." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/administrators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/administrators" + }, + "servers_advancedThreatProtectionSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 Advanced Threat Protection state." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdvancedThreatProtectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an Advanced Threat Protection state." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/advancedThreatProtectionSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/advancedThreatProtectionSettings" + }, + "servers_auditingSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 blob auditing policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerBlobAuditingPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a server blob auditing policy." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/auditingSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/auditingSettings" + }, + "servers_azureADOnlyAuthentications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/Default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of server azure active directory only authentication." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AzureADOnlyAuthProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a active directory only authentication." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/azureADOnlyAuthentications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/azureADOnlyAuthentications" + }, + "servers_connectionPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 connection policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerConnectionPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a server connection policy." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/connectionPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/connectionPolicies" + }, + "servers_databases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory identity configuration for a resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the database." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The database's properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/servers_databases_backupShortTermRetentionPolicies_childResource" + }, + { + "$ref": "#/definitions/servers_databases_auditingSettings_childResource" + }, + { + "$ref": "#/definitions/servers_databases_extendedAuditingSettings_childResource" + }, + { + "$ref": "#/definitions/servers_databases_dataMaskingPolicies_childResource" + }, + { + "$ref": "#/definitions/servers_databases_advancedThreatProtectionSettings_childResource" + }, + { + "$ref": "#/definitions/servers_databases_extensions_childResource" + }, + { + "$ref": "#/definitions/servers_databases_securityAlertPolicies_childResource" + }, + { + "$ref": "#/definitions/servers_databases_vulnerabilityAssessments_childResource" + }, + { + "$ref": "#/definitions/servers_databases_geoBackupPolicies_childResource" + }, + { + "$ref": "#/definitions/servers_databases_ledgerDigestUploads_childResource" + }, + { + "$ref": "#/definitions/servers_databases_backupLongTermRetentionPolicies_childResource" + }, + { + "$ref": "#/definitions/servers_databases_maintenanceWindows_childResource" + }, + { + "$ref": "#/definitions/servers_databases_syncGroups_childResource" + }, + { + "$ref": "#/definitions/servers_databases_transparentDataEncryption_childResource" + }, + { + "$ref": "#/definitions/servers_databases_workloadGroups_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An ARM Resource SKU." + }, + "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.Sql/servers/databases" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases" + }, + "servers_databases_advancedThreatProtectionSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 Advanced Threat Protection state." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdvancedThreatProtectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an Advanced Threat Protection state." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/advancedThreatProtectionSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/advancedThreatProtectionSettings" + }, + "servers_databases_auditingSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 blob auditing policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseBlobAuditingPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database blob auditing policy." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/auditingSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/auditingSettings" + }, + "servers_databases_backupLongTermRetentionPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy name. Should always be Default." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LongTermRetentionPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a long term retention policy" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/backupLongTermRetentionPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/backupLongTermRetentionPolicies" + }, + "servers_databases_backupShortTermRetentionPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy name. Should always be \"default\"." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupShortTermRetentionPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a short term retention policy" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/backupShortTermRetentionPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/backupShortTermRetentionPolicies" + }, + "servers_databases_dataMaskingPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 database for which the data masking policy applies." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataMaskingPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a database data masking policy." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/servers_databases_dataMaskingPolicies_rules_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/dataMaskingPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/dataMaskingPolicies" + }, + "servers_databases_dataMaskingPolicies_rules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the data masking rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataMaskingRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a database data masking rule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/dataMaskingPolicies/rules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/dataMaskingPolicies/rules" + }, + "servers_databases_extendedAuditingSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 blob auditing policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an extended database blob auditing policy." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/extendedAuditingSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/extendedAuditingSettings" + }, + "servers_databases_extensions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseExtensionsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Contains the database information after a successful Import, Export, or PolybaseImport" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/extensions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/extensions" + }, + "servers_databases_geoBackupPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 Geo backup policy. This should always be 'Default'." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GeoBackupPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the geo backup policy." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/geoBackupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/geoBackupPolicies" + }, + "servers_databases_ledgerDigestUploads": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/current$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LedgerDigestUploadsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a database ledger digest upload settings." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/ledgerDigestUploads" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/ledgerDigestUploads" + }, + "servers_databases_maintenanceWindows": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/current$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MaintenanceWindowsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maintenance windows resource properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/maintenanceWindows" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/maintenanceWindows" + }, + "servers_databases_schemas_tables_columns_sensitivityLabels": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The source of the sensitivity label." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SensitivityLabelProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a sensitivity label." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels" + }, + "servers_databases_securityAlertPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 security alert policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAlertsPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a security alert policy." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/securityAlertPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/securityAlertPolicies" + }, + "servers_databases_sqlVulnerabilityAssessments_baselines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseSqlVulnerabilityAssessmentRuleBaselineListInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database Sql Vulnerability Assessment rule baseline." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/servers_databases_sqlVulnerabilityAssessments_baselines_rules_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines" + }, + "servers_databases_sqlVulnerabilityAssessments_baselines_rules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The vulnerability assessment rule ID." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseSqlVulnerabilityAssessmentRuleBaselineInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database Sql Vulnerability Assessment rule baseline." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines/rules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines/rules" + }, + "servers_databases_syncGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the sync group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SyncGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a sync group." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/servers_databases_syncGroups_syncMembers_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An ARM Resource SKU." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/syncGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/syncGroups" + }, + "servers_databases_syncGroups_syncMembers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the sync member." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SyncMemberProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a sync member." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + }, + "servers_databases_transparentDataEncryption": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/current$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the transparent data encryption configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TransparentDataEncryptionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a transparent data encryption." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/transparentDataEncryption" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/transparentDataEncryption" + }, + "servers_databases_vulnerabilityAssessments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 vulnerability assessment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database Vulnerability Assessment." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/vulnerabilityAssessments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/vulnerabilityAssessments" + }, + "servers_databases_vulnerabilityAssessments_rules_baselines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "master", + "default" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the vulnerability assessment rule baseline (default implies a baseline on a database level rule and master for server level rule)." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentRuleBaselineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database Vulnerability Assessment rule baseline." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines" + }, + "servers_databases_workloadGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the workload group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WorkloadGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workload group definition. For more information look at sys.workload_management_workload_groups (DMV)." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/servers_databases_workloadGroups_workloadClassifiers_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/workloadGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/workloadGroups" + }, + "servers_databases_workloadGroups_workloadClassifiers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the workload classifier to create/update." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WorkloadClassifierProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workload classifier definition. For more information look at sys.workload_management_workload_classifiers (DMV)." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers" + }, + "servers_devOpsAuditingSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/Default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerDevOpsAuditSettingsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a server DevOps audit settings." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/devOpsAuditingSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/devOpsAuditingSettings" + }, + "servers_dnsAliases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the server dns alias." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/dnsAliases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Sql/servers/dnsAliases" + }, + "servers_elasticPools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the elastic pool." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ElasticPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an elastic pool" + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An ARM Resource SKU." + }, + "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.Sql/servers/elasticPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/elasticPools" + }, + "servers_encryptionProtector": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/current$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the encryption protector to be updated." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionProtectorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties for an encryption protector execution." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/encryptionProtector" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/encryptionProtector" + }, + "servers_extendedAuditingSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 blob auditing policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedServerBlobAuditingPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an extended server blob auditing policy." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/extendedAuditingSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/extendedAuditingSettings" + }, + "servers_failoverGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the failover group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FailoverGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a failover 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.Sql/servers/failoverGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/failoverGroups" + }, + "servers_firewallRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/firewallRules$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/firewallRules" + ] + }, + "values": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Sql/servers/firewallRules" + }, + "servers_ipv6FirewallRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the firewall rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IPv6ServerFirewallRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an IPv6 server firewall rule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/ipv6FirewallRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/ipv6FirewallRules" + }, + "servers_jobAgents": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the job agent to be created or updated." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JobAgentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a job agent." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/servers_jobAgents_credentials_childResource" + }, + { + "$ref": "#/definitions/servers_jobAgents_targetGroups_childResource" + }, + { + "$ref": "#/definitions/servers_jobAgents_jobs_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An ARM Resource SKU." + }, + "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.Sql/servers/jobAgents" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/jobAgents" + }, + "servers_jobAgents_credentials": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the credential." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JobCredentialProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a job credential." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/jobAgents/credentials" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/jobAgents/credentials" + }, + "servers_jobAgents_jobs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the job to get." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JobProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a job." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/servers_jobAgents_jobs_executions_childResource" + }, + { + "$ref": "#/definitions/servers_jobAgents_jobs_steps_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/jobAgents/jobs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/jobAgents/jobs" + }, + "servers_jobAgents_jobs_executions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "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 job execution id to create the job execution under." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/jobAgents/jobs/executions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Sql/servers/jobAgents/jobs/executions" + }, + "servers_jobAgents_jobs_steps": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the job step." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JobStepProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a job step." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/jobAgents/jobs/steps" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/jobAgents/jobs/steps" + }, + "servers_jobAgents_targetGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the target group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JobTargetGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of job target group." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/jobAgents/targetGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/jobAgents/targetGroups" + }, + "servers_keys": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the server key to be operated on (updated or created). The key name is required to be in the format of 'vault_key_version'. For example, if the keyId is https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion, then the server key name should be formatted as: YourVaultName_YourKeyName_YourKeyVersion" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerKeyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties for a server key execution." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/keys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/keys" + }, + "servers_outboundFirewallRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/outboundFirewallRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Sql/servers/outboundFirewallRules" + }, + "servers_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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.Sql/servers/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/privateEndpointConnections" + }, + "servers_securityAlertPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 threat detection policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAlertsPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a security alert policy." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/securityAlertPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/securityAlertPolicies" + }, + "servers_sqlVulnerabilityAssessments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 SQL Vulnerability Assessment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlVulnerabilityAssessmentPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/servers_sqlVulnerabilityAssessments_baselines_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/sqlVulnerabilityAssessments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/sqlVulnerabilityAssessments" + }, + "servers_sqlVulnerabilityAssessments_baselines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseSqlVulnerabilityAssessmentRuleBaselineListInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database Sql Vulnerability Assessment rule baseline." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/servers_sqlVulnerabilityAssessments_baselines_rules_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/sqlVulnerabilityAssessments/baselines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/sqlVulnerabilityAssessments/baselines" + }, + "servers_sqlVulnerabilityAssessments_baselines_rules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The vulnerability assessment rule ID." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseSqlVulnerabilityAssessmentRuleBaselineInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database Sql Vulnerability Assessment rule baseline." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/sqlVulnerabilityAssessments/baselines/rules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/sqlVulnerabilityAssessments/baselines/rules" + }, + "servers_syncAgents": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the sync agent." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SyncAgentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an Azure SQL Database sync agent." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/syncAgents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/syncAgents" + }, + "servers_virtualNetworkRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the virtual network rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a virtual network rule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/virtualNetworkRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/virtualNetworkRules" + }, + "servers_vulnerabilityAssessments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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 vulnerability assessment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerVulnerabilityAssessmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a server Vulnerability Assessment." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/vulnerabilityAssessments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/vulnerabilityAssessments" + } + }, + "definitions": { + "AdministratorProperties": { + "type": "object", + "properties": { + "administratorType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ActiveDirectory" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the sever administrator." + }, + "login": { + "type": "string", + "description": "Login name of the server administrator." + }, + "sid": { + "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": "SID (object ID) of the server administrator." + }, + "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": "Tenant ID of the administrator." + } + }, + "required": [ + "administratorType", + "login", + "sid" + ], + "description": "Properties of a active directory administrator." + }, + "AdvancedThreatProtectionProperties": { + "type": "object", + "properties": { + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "New", + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been applied yet on the specific database or server." + } + }, + "required": [ + "state" + ], + "description": "Properties of an Advanced Threat Protection state." + }, + "AzureADOnlyAuthProperties": { + "type": "object", + "properties": { + "azureADOnlyAuthentication": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory only Authentication enabled." + } + }, + "required": [ + "azureADOnlyAuthentication" + ], + "description": "Properties of a active directory only authentication." + }, + "BackupShortTermRetentionPolicyProperties": { + "type": "object", + "properties": { + "diffBackupIntervalInHours": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The differential backup interval in hours. This is how many interval hours between each differential backup will be supported. This is only applicable to live databases but not dropped databases." + }, + "retentionDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The backup retention period in days. This is how many days Point-in-Time Restore will be supported." + } + }, + "description": "Properties of a short term retention policy" + }, + "BaseLongTermRetentionPolicyProperties": { + "type": "object", + "properties": { + "monthlyRetention": { + "type": "string", + "description": "The monthly retention policy for an LTR backup." + }, + "weeklyRetention": { + "type": "string", + "description": "The weekly retention policy for an LTR backup." + }, + "weekOfYear": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The week of year to take the yearly backup." + }, + "yearlyRetention": { + "type": "string", + "description": "The yearly retention policy for an LTR backup." + } + }, + "description": "Properties of a long term retention policy" + }, + "CreateOrUpdateProperties": { + "type": "object", + "properties": { + "primaryAvailabilityGroupName": { + "type": "string", + "description": "The primary availability group name" + }, + "replicationMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Async", + "Sync" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The replication mode of a distributed availability group. Parameter will be ignored during link creation." + }, + "secondaryAvailabilityGroupName": { + "type": "string", + "description": "The secondary availability group name" + }, + "sourceEndpoint": { + "type": "string", + "description": "The source endpoint" + }, + "targetDatabase": { + "type": "string", + "description": "The name of the target database" + } + }, + "description": "Properties for creating and updating distributed availability group" + }, + "DatabaseBlobAuditingPolicyProperties": { + "type": "object", + "properties": { + "auditActionsAndGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Actions-Groups and Actions to audit.\r\n\r\nThe recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\r\n\r\nBATCH_COMPLETED_GROUP,\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\r\nFAILED_DATABASE_AUTHENTICATION_GROUP.\r\n\r\nThis above combination is also the set that is configured by default when enabling auditing from the Azure portal.\r\n\r\nThe supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\r\n\r\nAPPLICATION_ROLE_CHANGE_PASSWORD_GROUP\r\nBACKUP_RESTORE_GROUP\r\nDATABASE_LOGOUT_GROUP\r\nDATABASE_OBJECT_CHANGE_GROUP\r\nDATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_OBJECT_PERMISSION_CHANGE_GROUP\r\nDATABASE_OPERATION_GROUP\r\nDATABASE_PERMISSION_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_IMPERSONATION_GROUP\r\nDATABASE_ROLE_MEMBER_CHANGE_GROUP\r\nFAILED_DATABASE_AUTHENTICATION_GROUP\r\nSCHEMA_OBJECT_ACCESS_GROUP\r\nSCHEMA_OBJECT_CHANGE_GROUP\r\nSCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nSCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\r\nUSER_CHANGE_PASSWORD_GROUP\r\nBATCH_STARTED_GROUP\r\nBATCH_COMPLETED_GROUP\r\nDBCC_GROUP\r\nDATABASE_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_CHANGE_GROUP\r\nLEDGER_OPERATION_GROUP\r\n\r\nThese are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\r\n\r\nFor more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\r\n\r\nFor Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\r\nSELECT\r\nUPDATE\r\nINSERT\r\nDELETE\r\nEXECUTE\r\nRECEIVE\r\nREFERENCES\r\n\r\nThe general form for defining an action to be audited is:\r\n{action} ON {object} BY {principal}\r\n\r\nNote that in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\r\n\r\nFor example:\r\nSELECT on dbo.myTable by public\r\nSELECT on DATABASE::myDatabase by public\r\nSELECT on SCHEMA::mySchema by public\r\n\r\nFor more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)" + }, + "isAzureMonitorTargetEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether audit events are sent to Azure Monitor. \r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\r\n\r\nWhen using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\r\nNote that for server level audit you should use the 'master' database as {databaseName}.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n" + }, + "isManagedIdentityInUse": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether Managed Identity is used to access blob storage" + }, + "isStorageSecondaryKeyInUse": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether storageAccountAccessKey value is the storage's secondary key." + }, + "queueDelayMs": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\r\nThe default minimum value is 1000 (1 second). The maximum is 2,147,483,647." + }, + "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 audit logs in the storage account." + }, + "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 audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required." + }, + "storageAccountAccessKey": { + "type": "string", + "description": "Specifies the identifier key of the auditing storage account. \r\nIf state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\r\nPrerequisites for using managed identity authentication:\r\n1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\r\n2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\r\nFor more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)" + }, + "storageAccountSubscriptionId": { + "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": "Specifies the blob storage subscription Id." + }, + "storageEndpoint": { + "type": "string", + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required." + } + }, + "required": [ + "state" + ], + "description": "Properties of a database blob auditing policy." + }, + "DatabaseExtensionsProperties": { + "type": "object", + "properties": { + "administratorLogin": { + "type": "string", + "description": "Administrator login name." + }, + "administratorLoginPassword": { + "type": "string", + "description": "Administrator login password." + }, + "authenticationType": { + "type": "string", + "description": "Authentication type: SQL authentication or AD password." + }, + "databaseEdition": { + "type": "string", + "description": "Database edition for the newly created database in the case of an import operation." + }, + "maxSizeBytes": { + "type": "string", + "description": "Database max size in bytes for the newly created database in the case of an import operation." + }, + "networkIsolation": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkIsolationSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Contains the ARM resources for which to create private endpoint connection." + }, + "operationMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "PolybaseImport", + "Import", + "Export" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Operation mode of the operation: Import, Export, or PolybaseImport." + }, + "serviceObjectiveName": { + "type": "string", + "description": "Database service level objective for the newly created database in the case of an import operation." + }, + "storageKey": { + "type": "string", + "description": "Storage key for the storage account." + }, + "storageKeyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SharedAccessKey", + "StorageAccessKey" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage key type: StorageAccessKey or SharedAccessKey." + }, + "storageUri": { + "type": "string", + "description": "Storage Uri for the storage account." + } + }, + "required": [ + "operationMode", + "storageKey", + "storageKeyType", + "storageUri" + ], + "description": "Contains the database information after a successful Import, Export, or PolybaseImport" + }, + "DatabaseIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DatabaseUserIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource ids of the user assigned identities to use" + } + }, + "description": "Azure Active Directory identity configuration for a resource." + }, + "DatabaseKey": { + "type": "object", + "properties": {}, + "description": "Database level key used for encryption at rest." + }, + "DatabaseProperties": { + "type": "object", + "properties": { + "autoPauseDelay": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled" + }, + "availabilityZone": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NoPreference", + "1", + "2", + "3" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zone the database is pinned to." + }, + "catalogCollation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DATABASE_DEFAULT", + "SQL_Latin1_General_CP1_CI_AS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collation of the metadata catalog." + }, + "collation": { + "type": "string", + "description": "The collation of the database." + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Copy", + "Secondary", + "PointInTimeRestore", + "Restore", + "Recovery", + "RestoreExternalBackup", + "RestoreExternalBackupSecondary", + "RestoreLongTermRetentionBackup", + "OnlineSecondary" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the mode of database creation.\r\n\r\nDefault: regular database creation.\r\n\r\nCopy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.\r\n\r\nSecondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.\r\n\r\nPointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.\r\n\r\nRecovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.\r\n\r\nRestore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.\r\n\r\nRestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\r\n\r\nCopy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition." + }, + "elasticPoolId": { + "type": "string", + "format": "arm-id", + "description": "The resource identifier of the elastic pool containing this database." + }, + "encryptionProtector": { + "type": "string", + "description": "The azure key vault URI of the database if it's configured with per Database Customer Managed Keys." + }, + "encryptionProtectorAutoRotation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag to enable or disable auto rotation of database encryption protector AKV key." + }, + "federatedClientId": { + "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 Client id used for cross tenant per database CMK scenario" + }, + "freeLimitExhaustionBehavior": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AutoPause", + "BillOverUsage" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the behavior when monthly free limits are exhausted for the free database.\r\n\r\nAutoPause: The database will be auto paused upon exhaustion of free limits for remainder of the month.\r\n\r\nBillForUsage: The database will continue to be online upon exhaustion of free limits and any overage will be billed." + }, + "highAvailabilityReplicaCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of secondary replicas associated with the database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool." + }, + "isLedgerOn": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created." + }, + "keys": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DatabaseKey" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource ids of the user assigned identities to use" + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "LicenseIncluded", + "BasePrice" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit." + }, + "longTermRetentionBackupResourceId": { + "type": "string", + "format": "arm-id", + "description": "The resource identifier of the long term retention backup associated with create operation of this database." + }, + "maintenanceConfigurationId": { + "type": "string", + "description": "Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur." + }, + "manualCutover": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not customer controlled manual cutover needs to be done during Update Database operation to Hyperscale tier.\r\n\r\nThis property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier.\r\n\r\nWhen manualCutover is specified, the scaling operation will wait for user input to trigger cutover to Hyperscale database.\r\n\r\nTo trigger cutover, please provide 'performCutover' parameter when the Scaling operation is in Waiting state." + }, + "maxSizeBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The max size of the database expressed in bytes." + }, + "minCapacity": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimal capacity that database will always have allocated, if not paused" + }, + "performCutover": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To trigger customer controlled manual cutover during the wait state while Scaling operation is in progress.\r\n\r\nThis property parameter is only applicable for scaling operations that are initiated along with 'manualCutover' parameter.\r\n\r\nThis property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier is already in progress.\r\n\r\nWhen performCutover is specified, the scaling operation will trigger cutover and perform role-change to Hyperscale database." + }, + "preferredEnclaveType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "VBS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of enclave requested on the database i.e. Default or VBS enclaves." + }, + "readScale": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool." + }, + "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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage account type to be used to store backups for this database." + }, + "restorableDroppedDatabaseId": { + "type": "string", + "format": "arm-id", + "description": "The resource identifier of the restorable dropped database associated with create operation of this database." + }, + "restorePointInTime": { + "type": "string", + "format": "date-time", + "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database." + }, + "sampleName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AdventureWorksLT", + "WideWorldImportersStd", + "WideWorldImportersFull" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the sample schema to apply when creating this database." + }, + "secondaryType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Geo", + "Named", + "Standby" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The secondary type of the database if it is a secondary. Valid values are Geo, Named and Standby." + }, + "sourceDatabaseDeletionDate": { + "type": "string", + "format": "date-time", + "description": "Specifies the time that the database was deleted." + }, + "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 " + }, + "useFreeLimit": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not the database uses free monthly limits. Allowed on one database in a subscription." + }, + "zoneRedundant": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones." + } + }, + "description": "The database's properties." + }, + "DatabaseSqlVulnerabilityAssessmentRuleBaselineInputProperties": { + "type": "object", + "properties": { + "latestScan": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The latest scan flag" + }, + "results": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rule baseline result" + } + }, + "required": [ + "latestScan", + "results" + ], + "description": "Properties of a database Sql Vulnerability Assessment rule baseline." + }, + "DatabaseSqlVulnerabilityAssessmentRuleBaselineListInputProperties": { + "type": "object", + "properties": { + "latestScan": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The latest scan flag" + }, + "results": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rule baseline result list" + } + }, + "required": [ + "latestScan", + "results" + ], + "description": "Properties of a database Sql Vulnerability Assessment rule baseline." + }, + "DatabaseUserIdentity": { + "type": "object", + "properties": {}, + "description": "Azure Active Directory identity configuration for a resource." + }, + "DatabaseVulnerabilityAssessmentProperties": { + "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": { + "result": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rule baseline result" + } + }, + "required": [ + "result" + ], + "description": "Properties for an Azure SQL Database Vulnerability Assessment rule baseline's result." + }, + "DatabaseVulnerabilityAssessmentRuleBaselineProperties": { + "type": "object", + "properties": { + "baselineResults": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentRuleBaselineItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rule baseline result" + } + }, + "required": [ + "baselineResults" + ], + "description": "Properties of a database Vulnerability Assessment rule baseline." + }, + "DataMaskingPolicyProperties": { + "type": "object", + "properties": { + "dataMaskingState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of the data masking policy." + }, + "exemptPrincipals": { + "type": "string", + "description": "The list of the exempt principals. Specifies the semicolon-separated list of database users for which the data masking policy does not apply. The specified users receive data results without masking for all of the database queries." + } + }, + "required": [ + "dataMaskingState" + ], + "description": "The properties of a database data masking policy." + }, + "DataMaskingRuleProperties": { + "type": "object", + "properties": { + "aliasName": { + "type": "string", + "description": "The alias name. This is a legacy parameter and is no longer used." + }, + "columnName": { + "type": "string", + "description": "The column name on which the data masking rule is applied." + }, + "maskingFunction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "CCN", + "Email", + "Number", + "SSN", + "Text" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The masking function that is used for the data masking rule." + }, + "numberFrom": { + "type": "string", + "description": "The numberFrom property of the masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored." + }, + "numberTo": { + "type": "string", + "description": "The numberTo property of the data masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored." + }, + "prefixSize": { + "type": "string", + "description": "If maskingFunction is set to Text, the number of characters to show unmasked in the beginning of the string. Otherwise, this parameter will be ignored." + }, + "replacementString": { + "type": "string", + "description": "If maskingFunction is set to Text, the character to use for masking the unexposed part of the string. Otherwise, this parameter will be ignored." + }, + "ruleState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rule state. Used to delete a rule. To delete an existing rule, specify the schemaName, tableName, columnName, maskingFunction, and specify ruleState as disabled. However, if the rule doesn't already exist, the rule will be created with ruleState set to enabled, regardless of the provided value of ruleState." + }, + "schemaName": { + "type": "string", + "description": "The schema name on which the data masking rule is applied." + }, + "suffixSize": { + "type": "string", + "description": "If maskingFunction is set to Text, the number of characters to show unmasked at the end of the string. Otherwise, this parameter will be ignored." + }, + "tableName": { + "type": "string", + "description": "The table name on which the data masking rule is applied." + } + }, + "required": [ + "columnName", + "maskingFunction", + "schemaName", + "tableName" + ], + "description": "The properties of a database data masking rule." + }, + "ElasticPoolPerDatabaseSettings": { + "type": "object", + "properties": { + "maxCapacity": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum capacity any one database can consume." + }, + "minCapacity": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum capacity all databases are guaranteed." + } + }, + "description": "Per database settings of an elastic pool." + }, + "ElasticPoolProperties": { + "type": "object", + "properties": { + "availabilityZone": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NoPreference", + "1", + "2", + "3" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the availability zone the pool's primary replica is pinned to." + }, + "highAvailabilityReplicaCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of secondary replicas associated with the elastic pool that are used to provide high availability. Applicable only to Hyperscale elastic pools." + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "LicenseIncluded", + "BasePrice" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The license type to apply for this elastic pool." + }, + "maintenanceConfigurationId": { + "type": "string", + "description": "Maintenance configuration id assigned to the elastic pool. This configuration defines the period when the maintenance updates will will occur." + }, + "maxSizeBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage limit for the database elastic pool in bytes." + }, + "minCapacity": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimal capacity that serverless pool will not shrink below, if not paused" + }, + "perDatabaseSettings": { + "oneOf": [ + { + "$ref": "#/definitions/ElasticPoolPerDatabaseSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Per database settings of an elastic pool." + }, + "preferredEnclaveType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "VBS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of enclave requested on the elastic pool." + }, + "zoneRedundant": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be spread across multiple availability zones." + } + }, + "description": "Properties of an elastic pool" + }, + "EncryptionProtectorProperties": { + "type": "object", + "properties": { + "autoRotationEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key auto rotation opt-in flag. Either true or false." + }, + "serverKeyName": { + "type": "string", + "description": "The name of the server key." + }, + "serverKeyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ServiceManaged", + "AzureKeyVault" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The encryption protector type like 'ServiceManaged', 'AzureKeyVault'." + } + }, + "required": [ + "serverKeyType" + ], + "description": "Properties for an encryption protector execution." + }, + "ExtendedDatabaseBlobAuditingPolicyProperties": { + "type": "object", + "properties": { + "auditActionsAndGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Actions-Groups and Actions to audit.\r\n\r\nThe recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\r\n\r\nBATCH_COMPLETED_GROUP,\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\r\nFAILED_DATABASE_AUTHENTICATION_GROUP.\r\n\r\nThis above combination is also the set that is configured by default when enabling auditing from the Azure portal.\r\n\r\nThe supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\r\n\r\nAPPLICATION_ROLE_CHANGE_PASSWORD_GROUP\r\nBACKUP_RESTORE_GROUP\r\nDATABASE_LOGOUT_GROUP\r\nDATABASE_OBJECT_CHANGE_GROUP\r\nDATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_OBJECT_PERMISSION_CHANGE_GROUP\r\nDATABASE_OPERATION_GROUP\r\nDATABASE_PERMISSION_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_IMPERSONATION_GROUP\r\nDATABASE_ROLE_MEMBER_CHANGE_GROUP\r\nFAILED_DATABASE_AUTHENTICATION_GROUP\r\nSCHEMA_OBJECT_ACCESS_GROUP\r\nSCHEMA_OBJECT_CHANGE_GROUP\r\nSCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nSCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\r\nUSER_CHANGE_PASSWORD_GROUP\r\nBATCH_STARTED_GROUP\r\nBATCH_COMPLETED_GROUP\r\nDBCC_GROUP\r\nDATABASE_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_CHANGE_GROUP\r\nLEDGER_OPERATION_GROUP\r\n\r\nThese are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\r\n\r\nFor more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\r\n\r\nFor Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\r\nSELECT\r\nUPDATE\r\nINSERT\r\nDELETE\r\nEXECUTE\r\nRECEIVE\r\nREFERENCES\r\n\r\nThe general form for defining an action to be audited is:\r\n{action} ON {object} BY {principal}\r\n\r\nNote that in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\r\n\r\nFor example:\r\nSELECT on dbo.myTable by public\r\nSELECT on DATABASE::myDatabase by public\r\nSELECT on SCHEMA::mySchema by public\r\n\r\nFor more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)" + }, + "isAzureMonitorTargetEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether audit events are sent to Azure Monitor. \r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\r\n\r\nWhen using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\r\nNote that for server level audit you should use the 'master' database as {databaseName}.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n" + }, + "isManagedIdentityInUse": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether Managed Identity is used to access blob storage" + }, + "isStorageSecondaryKeyInUse": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether storageAccountAccessKey value is the storage's secondary key." + }, + "predicateExpression": { + "type": "string", + "description": "Specifies condition of where clause when creating an audit." + }, + "queueDelayMs": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\r\nThe default minimum value is 1000 (1 second). The maximum is 2,147,483,647." + }, + "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 audit logs in the storage account." + }, + "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 audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required." + }, + "storageAccountAccessKey": { + "type": "string", + "description": "Specifies the identifier key of the auditing storage account. \r\nIf state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\r\nPrerequisites for using managed identity authentication:\r\n1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\r\n2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\r\nFor more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)" + }, + "storageAccountSubscriptionId": { + "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": "Specifies the blob storage subscription Id." + }, + "storageEndpoint": { + "type": "string", + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required." + } + }, + "required": [ + "state" + ], + "description": "Properties of an extended database blob auditing policy." + }, + "ExtendedServerBlobAuditingPolicyProperties": { + "type": "object", + "properties": { + "auditActionsAndGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Actions-Groups and Actions to audit.\r\n\r\nThe recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\r\n\r\nBATCH_COMPLETED_GROUP,\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\r\nFAILED_DATABASE_AUTHENTICATION_GROUP.\r\n\r\nThis above combination is also the set that is configured by default when enabling auditing from the Azure portal.\r\n\r\nThe supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\r\n\r\nAPPLICATION_ROLE_CHANGE_PASSWORD_GROUP\r\nBACKUP_RESTORE_GROUP\r\nDATABASE_LOGOUT_GROUP\r\nDATABASE_OBJECT_CHANGE_GROUP\r\nDATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_OBJECT_PERMISSION_CHANGE_GROUP\r\nDATABASE_OPERATION_GROUP\r\nDATABASE_PERMISSION_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_IMPERSONATION_GROUP\r\nDATABASE_ROLE_MEMBER_CHANGE_GROUP\r\nFAILED_DATABASE_AUTHENTICATION_GROUP\r\nSCHEMA_OBJECT_ACCESS_GROUP\r\nSCHEMA_OBJECT_CHANGE_GROUP\r\nSCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nSCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\r\nUSER_CHANGE_PASSWORD_GROUP\r\nBATCH_STARTED_GROUP\r\nBATCH_COMPLETED_GROUP\r\nDBCC_GROUP\r\nDATABASE_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_CHANGE_GROUP\r\nLEDGER_OPERATION_GROUP\r\n\r\nThese are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\r\n\r\nFor more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\r\n\r\nFor Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\r\nSELECT\r\nUPDATE\r\nINSERT\r\nDELETE\r\nEXECUTE\r\nRECEIVE\r\nREFERENCES\r\n\r\nThe general form for defining an action to be audited is:\r\n{action} ON {object} BY {principal}\r\n\r\nNote that in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\r\n\r\nFor example:\r\nSELECT on dbo.myTable by public\r\nSELECT on DATABASE::myDatabase by public\r\nSELECT on SCHEMA::mySchema by public\r\n\r\nFor more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)" + }, + "isAzureMonitorTargetEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether audit events are sent to Azure Monitor. \r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\r\n\r\nWhen using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\r\nNote that for server level audit you should use the 'master' database as {databaseName}.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n" + }, + "isDevopsAuditEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure Monitor.\r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and 'IsDevopsAuditEnabled' as true\r\n\r\nWhen using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should also be created.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n" + }, + "isManagedIdentityInUse": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether Managed Identity is used to access blob storage" + }, + "isStorageSecondaryKeyInUse": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether storageAccountAccessKey value is the storage's secondary key." + }, + "predicateExpression": { + "type": "string", + "description": "Specifies condition of where clause when creating an audit." + }, + "queueDelayMs": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\r\nThe default minimum value is 1000 (1 second). The maximum is 2,147,483,647." + }, + "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 audit logs in the storage account." + }, + "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 audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required." + }, + "storageAccountAccessKey": { + "type": "string", + "description": "Specifies the identifier key of the auditing storage account. \r\nIf state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\r\nPrerequisites for using managed identity authentication:\r\n1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\r\n2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\r\nFor more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)" + }, + "storageAccountSubscriptionId": { + "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": "Specifies the blob storage subscription Id." + }, + "storageEndpoint": { + "type": "string", + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required." + } + }, + "required": [ + "state" + ], + "description": "Properties of an extended server blob auditing policy." + }, + "FailoverGroupProperties": { + "type": "object", + "properties": { + "databases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of databases in the failover group." + }, + "partnerServers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PartnerInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of partner server information for the failover group." + }, + "readOnlyEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/FailoverGroupReadOnlyEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read-only endpoint of the failover group instance." + }, + "readWriteEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/FailoverGroupReadWriteEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read-write endpoint of the failover group instance." + } + }, + "required": [ + "partnerServers", + "readWriteEndpoint" + ], + "description": "Properties of a failover group." + }, + "FailoverGroupReadOnlyEndpoint": { + "type": "object", + "properties": { + "failoverPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Failover policy of the read-only endpoint for the failover group." + }, + "targetServer": { + "type": "string", + "format": "arm-id", + "description": "The target partner server where the read-only endpoint points to." + } + }, + "description": "Read-only endpoint of the failover group instance." + }, + "FailoverGroupReadWriteEndpoint": { + "type": "object", + "properties": { + "failoverPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Manual", + "Automatic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required." + }, + "failoverWithDataLossGracePeriodMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Grace period before failover with data loss is attempted for the read-write endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required." + } + }, + "required": [ + "failoverPolicy" + ], + "description": "Read-write endpoint of the failover group instance." + }, + "FirewallRule": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Resource name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerFirewallRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a server firewall rule." + } + }, + "description": "A server firewall rule." + }, + "GeoBackupPolicyProperties": { + "type": "object", + "properties": { + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of the geo backup policy." + } + }, + "required": [ + "state" + ], + "description": "The properties of the geo backup policy." + }, + "InstanceFailoverGroupProperties": { + "type": "object", + "properties": { + "managedInstancePairs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstancePairInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of managed instance pairs in the failover group." + }, + "partnerRegions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PartnerRegionInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Partner region information for the failover group." + }, + "readOnlyEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/InstanceFailoverGroupReadOnlyEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read-only endpoint of the failover group instance." + }, + "readWriteEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/InstanceFailoverGroupReadWriteEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read-write endpoint of the failover group instance." + }, + "secondaryType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Geo", + "Standby" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the geo-secondary instance. Set 'Standby' if the instance is used as a DR option only." + } + }, + "required": [ + "managedInstancePairs", + "partnerRegions", + "readWriteEndpoint" + ], + "description": "Properties of a instance failover group." + }, + "InstanceFailoverGroupReadOnlyEndpoint": { + "type": "object", + "properties": { + "failoverPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Failover policy of the read-only endpoint for the failover group." + } + }, + "description": "Read-only endpoint of the failover group instance." + }, + "InstanceFailoverGroupReadWriteEndpoint": { + "type": "object", + "properties": { + "failoverPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Manual", + "Automatic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required." + }, + "failoverWithDataLossGracePeriodMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Grace period before failover with data loss is attempted for the read-write endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required." + } + }, + "required": [ + "failoverPolicy" + ], + "description": "Read-write endpoint of the failover group instance." + }, + "InstancePoolProperties": { + "type": "object", + "properties": { + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "LicenseIncluded", + "BasePrice" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) and 'BasePrice' (without SQL license price)." + }, + "subnetId": { + "type": "string", + "description": "Resource ID of the subnet to place this instance pool in." + }, + "vCores": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Count of vCores belonging to this instance pool." + } + }, + "required": [ + "licenseType", + "subnetId", + "vCores" + ], + "description": "Properties of an instance pool." + }, + "IPv6ServerFirewallRuleProperties": { + "type": "object", + "properties": { + "endIPv6Address": { + "type": "string", + "description": "The end IP address of the firewall rule. Must be IPv6 format. Must be greater than or equal to startIpAddress." + }, + "startIPv6Address": { + "type": "string", + "description": "The start IP address of the firewall rule. Must be IPv6 format." + } + }, + "description": "The properties of an IPv6 server firewall rule." + }, + "JobAgentProperties": { + "type": "object", + "properties": { + "databaseId": { + "type": "string", + "format": "arm-id", + "description": "Resource ID of the database to store job metadata in." + } + }, + "required": [ + "databaseId" + ], + "description": "Properties of a job agent." + }, + "JobCredentialProperties": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "The credential password." + }, + "username": { + "type": "string", + "description": "The credential user name." + } + }, + "required": [ + "password", + "username" + ], + "description": "Properties of a job credential." + }, + "JobProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "default": "", + "description": "User-defined description of the job." + }, + "schedule": { + "oneOf": [ + { + "$ref": "#/definitions/JobSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scheduling properties of a job." + } + }, + "description": "Properties of a job." + }, + "JobSchedule": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not the schedule is enabled." + }, + "endTime": { + "type": "string", + "default": "9999-12-31T03:59:59-08:00", + "format": "date-time", + "description": "Schedule end time." + }, + "interval": { + "type": "string", + "description": "Value of the schedule's recurring interval, if the ScheduleType is recurring. ISO8601 duration format." + }, + "startTime": { + "type": "string", + "default": "0001-01-01T16:00:00-08:00", + "format": "date-time", + "description": "Schedule start time." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Once", + "Recurring" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schedule interval type." + } + }, + "description": "Scheduling properties of a job." + }, + "JobStepAction": { + "type": "object", + "properties": { + "source": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Inline" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source of the action to execute." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TSql" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of action being executed by the job step." + }, + "value": { + "type": "string", + "description": "The action value, for example the text of the T-SQL script to execute." + } + }, + "required": [ + "value" + ], + "description": "The action to be executed by a job step." + }, + "JobStepExecutionOptions": { + "type": "object", + "properties": { + "initialRetryIntervalSeconds": { + "oneOf": [ + { + "type": "integer", + "default": "1" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Initial delay between retries for job step execution." + }, + "maximumRetryIntervalSeconds": { + "oneOf": [ + { + "type": "integer", + "default": "120" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum amount of time to wait between retries for job step execution." + }, + "retryAttempts": { + "oneOf": [ + { + "type": "integer", + "default": "10" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum number of times the job step will be reattempted if the first attempt fails." + }, + "retryIntervalBackoffMultiplier": { + "oneOf": [ + { + "type": "number", + "default": 2 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The backoff multiplier for the time between retries." + }, + "timeoutSeconds": { + "oneOf": [ + { + "type": "integer", + "default": "43200" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Execution timeout for the job step." + } + }, + "description": "The execution options of a job step." + }, + "JobStepOutput": { + "type": "object", + "properties": { + "credential": { + "type": "string", + "description": "The resource ID of the credential to use to connect to the output destination." + }, + "databaseName": { + "type": "string", + "description": "The output destination database." + }, + "resourceGroupName": { + "type": "string", + "description": "The output destination resource group." + }, + "schemaName": { + "type": "string", + "default": "dbo", + "description": "The output destination schema." + }, + "serverName": { + "type": "string", + "description": "The output destination server name." + }, + "subscriptionId": { + "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 output destination subscription id." + }, + "tableName": { + "type": "string", + "description": "The output destination table." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SqlDatabase" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The output destination type." + } + }, + "required": [ + "credential", + "databaseName", + "serverName", + "tableName" + ], + "description": "The output configuration of a job step." + }, + "JobStepProperties": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "$ref": "#/definitions/JobStepAction" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The action to be executed by a job step." + }, + "credential": { + "type": "string", + "description": "The resource ID of the job credential that will be used to connect to the targets." + }, + "executionOptions": { + "oneOf": [ + { + "$ref": "#/definitions/JobStepExecutionOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The execution options of a job step." + }, + "output": { + "oneOf": [ + { + "$ref": "#/definitions/JobStepOutput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The output configuration of a job step." + }, + "stepId": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The job step's index within the job. If not specified when creating the job step, it will be created as the last step. If not specified when updating the job step, the step id is not modified." + }, + "targetGroup": { + "type": "string", + "description": "The resource ID of the target group that the job step will be executed on." + } + }, + "required": [ + "action", + "credential", + "targetGroup" + ], + "description": "Properties of a job step." + }, + "JobTarget": { + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "The target database name." + }, + "elasticPoolName": { + "type": "string", + "description": "The target elastic pool name." + }, + "membershipType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Include", + "Exclude" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the target is included or excluded from the group." + }, + "refreshCredential": { + "type": "string", + "description": "The resource ID of the credential that is used during job execution to connect to the target and determine the list of databases inside the target." + }, + "serverName": { + "type": "string", + "description": "The target server name." + }, + "shardMapName": { + "type": "string", + "description": "The target shard map." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TargetGroup", + "SqlDatabase", + "SqlElasticPool", + "SqlShardMap", + "SqlServer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The target type." + } + }, + "required": [ + "type" + ], + "description": "A job target, for example a specific database or a container of databases that is evaluated during job execution." + }, + "JobTargetGroupProperties": { + "type": "object", + "properties": { + "members": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/JobTarget" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Members of the target group." + } + }, + "required": [ + "members" + ], + "description": "Properties of job target group." + }, + "LedgerDigestUploadsProperties": { + "type": "object", + "properties": { + "digestStorageEndpoint": { + "type": "string", + "description": "The digest storage endpoint, which must be either an Azure blob storage endpoint or an URI for Azure Confidential Ledger." + } + }, + "description": "The properties of a database ledger digest upload settings." + }, + "LongTermRetentionPolicyProperties": { + "type": "object", + "properties": { + "makeBackupsImmutable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The setting whether to make LTR backups immutable" + }, + "monthlyRetention": { + "type": "string", + "description": "The monthly retention policy for an LTR backup in an ISO 8601 format." + }, + "weeklyRetention": { + "type": "string", + "description": "The weekly retention policy for an LTR backup in an ISO 8601 format." + }, + "weekOfYear": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The week of year to take the yearly backup in an ISO 8601 format." + }, + "yearlyRetention": { + "type": "string", + "description": "The yearly retention policy for an LTR backup in an ISO 8601 format." + } + }, + "description": "Properties of a long term retention policy" + }, + "MaintenanceWindowsProperties": { + "type": "object", + "properties": { + "timeRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceWindowTimeRange" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Maintenance windows resource properties." + }, + "MaintenanceWindowTimeRange": { + "type": "object", + "properties": { + "dayOfWeek": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Day of maintenance window." + }, + "duration": { + "type": "string", + "description": "Duration of maintenance window in minutes." + }, + "startTime": { + "type": "string", + "description": "Start time minutes offset from 12am." + } + }, + "description": "Maintenance window time range." + }, + "ManagedBackupShortTermRetentionPolicyProperties": { + "type": "object", + "properties": { + "retentionDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The backup retention period in days. This is how many days Point-in-Time Restore will be supported." + } + }, + "description": "Properties of a short term retention policy" + }, + "ManagedDatabaseProperties": { + "type": "object", + "properties": { + "autoCompleteRestore": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to auto complete restore of this managed database." + }, + "catalogCollation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DATABASE_DEFAULT", + "SQL_Latin1_General_CP1_CI_AS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collation of the metadata catalog." + }, + "collation": { + "type": "string", + "description": "Collation of the managed database." + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "RestoreExternalBackup", + "PointInTimeRestore", + "Recovery", + "RestoreLongTermRetentionBackup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. RestoreLongTermRetentionBackup: Create a database by restoring from a long term retention backup (longTermRetentionBackupResourceId required)." + }, + "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": { + "type": "string", + "description": "Target managed instance id used in cross-subscription restore." + }, + "isLedgerOn": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created." + }, + "lastBackupName": { + "type": "string", + "description": "Last backup file name for restore of this managed database." + }, + "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": { + "type": "string", + "format": "date-time", + "description": "Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database." + }, + "sourceDatabaseId": { + "type": "string", + "format": "arm-id", + "description": "The resource identifier of the source database associated with create operation of this database." + }, + "storageContainerIdentity": { + "type": "string", + "description": "Conditional. If createMode is RestoreExternalBackup, this value is used. Specifies the identity used for storage container authentication. Can be 'SharedAccessSignature' or 'ManagedIdentity'; if not specified 'SharedAccessSignature' is assumed." + }, + "storageContainerSasToken": { + "type": "string", + "description": "Conditional. If createMode is RestoreExternalBackup and storageContainerIdentity is not ManagedIdentity, this value is required. Specifies the storage container sas token." + }, + "storageContainerUri": { + "type": "string", + "description": "Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the uri of the storage container where backups for this restore are stored." + } + }, + "description": "The managed database's properties." + }, + "ManagedInstanceAdministratorProperties": { + "type": "object", + "properties": { + "administratorType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ActiveDirectory" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the managed instance administrator." + }, + "login": { + "type": "string", + "description": "Login name of the managed instance administrator." + }, + "sid": { + "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": "SID (object ID) of the managed instance administrator." + }, + "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": "Tenant ID of the managed instance administrator." + } + }, + "required": [ + "administratorType", + "login", + "sid" + ], + "description": "The properties of a managed instance administrator." + }, + "ManagedInstanceAzureADOnlyAuthProperties": { + "type": "object", + "properties": { + "azureADOnlyAuthentication": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory only Authentication enabled." + } + }, + "required": [ + "azureADOnlyAuthentication" + ], + "description": "Properties of a active directory only authentication for Managed Instance." + }, + "ManagedInstanceDtcProperties": { + "type": "object", + "properties": { + "dtcEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Active status of managed instance DTC." + }, + "externalDnsSuffixSearchList": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "External dns suffix search list of managed instance DTC." + }, + "securitySettings": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceDtcSecuritySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Security Settings of managed instance DTC." + } + }, + "description": "The properties of managed instance DTC." + }, + "ManagedInstanceDtcSecuritySettings": { + "type": "object", + "properties": { + "snaLu6point2TransactionsEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allow SNA LU 6.2 Transactions to managed instance DTC." + }, + "transactionManagerCommunicationSettings": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceDtcTransactionManagerCommunicationSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Transaction Manager Communication Settings of managed instance DTC." + }, + "xaTransactionsDefaultTimeout": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Default timeout for XA Transactions (in seconds)." + }, + "xaTransactionsEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allow XA Transactions to managed instance DTC." + }, + "xaTransactionsMaximumTimeout": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum timeout for XA Transactions (in seconds)." + } + }, + "description": "The Security Settings of managed instance DTC." + }, + "ManagedInstanceDtcTransactionManagerCommunicationSettings": { + "type": "object", + "properties": { + "allowInboundEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allow Inbound traffic to managed instance DTC." + }, + "allowOutboundEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allow Outbound traffic of managed instance DTC." + }, + "authentication": { + "type": "string", + "description": "Authentication type of managed instance DTC." + } + }, + "description": "The Transaction Manager Communication Settings of managed instance DTC." + }, + "ManagedInstanceEncryptionProtectorProperties": { + "type": "object", + "properties": { + "autoRotationEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key auto rotation opt-in flag. Either true or false." + }, + "serverKeyName": { + "type": "string", + "description": "The name of the managed instance key." + }, + "serverKeyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ServiceManaged", + "AzureKeyVault" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The encryption protector type like 'ServiceManaged', 'AzureKeyVault'." + } + }, + "required": [ + "serverKeyType" + ], + "description": "Properties for an encryption protector execution." + }, + "ManagedInstanceExternalAdministrator": { + "type": "object", + "properties": { + "administratorType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ActiveDirectory" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the sever administrator." + }, + "azureADOnlyAuthentication": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory only Authentication enabled." + }, + "login": { + "type": "string", + "description": "Login name of the server administrator." + }, + "principalType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Group", + "Application" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Principal Type of the sever administrator." + }, + "sid": { + "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": "SID (object ID) of the server administrator." + }, + "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": "Tenant ID of the administrator." + } + }, + "description": "Properties of a active directory administrator." + }, + "ManagedInstanceKeyProperties": { + "type": "object", + "properties": { + "serverKeyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ServiceManaged", + "AzureKeyVault" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The key type like 'ServiceManaged', 'AzureKeyVault'." + }, + "uri": { + "type": "string", + "description": "The URI of the key. If the ServerKeyType is AzureKeyVault, then the URI is required." + } + }, + "required": [ + "serverKeyType" + ], + "description": "Properties for a key execution." + }, + "ManagedInstancePairInfo": { + "type": "object", + "properties": { + "partnerManagedInstanceId": { + "type": "string", + "description": "Id of Partner Managed Instance in pair." + }, + "primaryManagedInstanceId": { + "type": "string", + "description": "Id of Primary Managed Instance in pair." + } + }, + "description": "Pairs of Managed Instances in the failover group." + }, + "ManagedInstancePrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstancePrivateEndpointProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstancePrivateLinkServiceConnectionStateProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Properties of a private endpoint connection." + }, + "ManagedInstancePrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + } + }, + "ManagedInstancePrivateLinkServiceConnectionStateProperty": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The private link service connection description." + }, + "status": { + "type": "string", + "description": "The private link service connection status." + } + }, + "required": [ + "description", + "status" + ] + }, + "ManagedInstanceProperties": { + "type": "object", + "properties": { + "administratorLogin": { + "type": "string", + "description": "Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation)." + }, + "administratorLoginPassword": { + "type": "string", + "description": "The administrator login password (required for managed instance creation)." + }, + "administrators": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceExternalAdministrator" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a active directory administrator." + }, + "collation": { + "type": "string", + "description": "Collation of the managed instance." + }, + "dnsZonePartner": { + "type": "string", + "format": "arm-id", + "description": "The resource id of another managed instance whose DNS zone this managed instance will share after creation." + }, + "hybridSecondaryUsage": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Active", + "Passive" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Hybrid secondary usage. Possible values are 'Active' (default value) and 'Passive' (customer uses the secondary as Passive DR)." + }, + "instancePoolId": { + "type": "string", + "description": "The Id of the instance pool this managed server belongs to." + }, + "isGeneralPurposeV2": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not this is a GPv2 variant of General Purpose edition." + }, + "keyId": { + "type": "string", + "description": "A CMK URI of the key to use for encryption." + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "LicenseIncluded", + "BasePrice" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses)." + }, + "maintenanceConfigurationId": { + "type": "string", + "description": "Specifies maintenance configuration id to apply to this managed instance." + }, + "managedInstanceCreateMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "PointInTimeRestore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the mode of database creation.\r\n\r\nDefault: Regular instance creation.\r\n\r\nRestore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified." + }, + "minimalTlsVersion": { + "type": "string", + "description": "Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'" + }, + "pricingModel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Regular", + "Freemium" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weather or not Managed Instance is freemium." + }, + "primaryUserAssignedIdentityId": { + "type": "string", + "format": "arm-id", + "description": "The resource id of a user assigned identity to be used by default." + }, + "proxyOverride": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Proxy", + "Redirect", + "Default" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection type used for connecting to the instance." + }, + "publicDataEndpointEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not the public data endpoint is enabled." + }, + "requestedBackupStorageRedundancy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage account type to be used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)." + }, + "restorePointInTime": { + "type": "string", + "format": "date-time", + "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database." + }, + "servicePrincipal": { + "oneOf": [ + { + "$ref": "#/definitions/ServicePrincipal" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed instance's service principal configuration for a resource." + }, + "sourceManagedInstanceId": { + "type": "string", + "format": "arm-id", + "description": "The resource identifier of the source managed instance associated with create operation of this instance." + }, + "storageIOps": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage IOps. Minimum value: 120. Maximum value: 120000. Increments of 1 IOps allowed only. Maximum value depends on the selected hardware family and number of vCores." + }, + "storageSizeInGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage size in GB. Minimum value: 32. Maximum value: 16384. Increments of 32 GB allowed only. Maximum value depends on the selected hardware family and number of vCores." + }, + "storageThroughputMBps": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage throughput in MBps. Minimum value: 25. Maximum value: 4000. Increments of 1 MBps allowed only. Maximum value depends on the selected hardware family and number of vCores." + }, + "subnetId": { + "type": "string", + "format": "arm-id", + "description": "Subnet resource ID for the managed instance." + }, + "timezoneId": { + "type": "string", + "description": "Id of the timezone. Allowed values are timezones supported by Windows.\r\nWindows keeps details on supported timezones, including the id, in registry under\r\nKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones.\r\nYou can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info.\r\nList of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell.\r\nAn example of valid timezone id is \"Pacific Standard Time\" or \"W. Europe Standard Time\"." + }, + "vCores": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80." + }, + "zoneRedundant": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not the multi-az is enabled." + } + }, + "description": "The properties of a managed instance." + }, + "managedInstances_administrators_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "ActiveDirectory" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceAdministratorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a managed instance administrator." + }, + "type": { + "type": "string", + "enum": [ + "administrators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/administrators" + }, + "managedInstances_advancedThreatProtectionSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "Default" + ], + "description": "The name of the Advanced Threat Protection state." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdvancedThreatProtectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an Advanced Threat Protection state." + }, + "type": { + "type": "string", + "enum": [ + "advancedThreatProtectionSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/advancedThreatProtectionSettings" + }, + "managedInstances_azureADOnlyAuthentications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "Default" + ], + "description": "The name of server azure active directory only authentication." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a active directory only authentication for Managed Instance." + }, + "type": { + "type": "string", + "enum": [ + "azureADOnlyAuthentications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/azureADOnlyAuthentications" + }, + "managedInstances_databases_advancedThreatProtectionSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "Default" + ], + "description": "The name of the Advanced Threat Protection state." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdvancedThreatProtectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an Advanced Threat Protection state." + }, + "type": { + "type": "string", + "enum": [ + "advancedThreatProtectionSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/advancedThreatProtectionSettings" + }, + "managedInstances_databases_backupLongTermRetentionPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The policy name. Should always be Default." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BaseLongTermRetentionPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a long term retention policy" + }, + "type": { + "type": "string", + "enum": [ + "backupLongTermRetentionPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/backupLongTermRetentionPolicies" + }, + "managedInstances_databases_backupShortTermRetentionPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The policy name. Should always be \"default\"." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedBackupShortTermRetentionPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a short term retention policy" + }, + "type": { + "type": "string", + "enum": [ + "backupShortTermRetentionPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/backupShortTermRetentionPolicies" + }, + "managedInstances_databases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the database." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedDatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed database's properties." + }, + "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": [ + "databases" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases" + }, + "managedInstances_databases_ledgerDigestUploads_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "current" + ], + "description": "The name of the Ledger Digest Upload Configurations." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedLedgerDigestUploadsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a database ledger digest upload settings." + }, + "type": { + "type": "string", + "enum": [ + "ledgerDigestUploads" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/ledgerDigestUploads" + }, + "managedInstances_databases_securityAlertPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the security alert policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAlertPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a security alert policy." + }, + "type": { + "type": "string", + "enum": [ + "securityAlertPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/securityAlertPolicies" + }, + "managedInstances_databases_transparentDataEncryption_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "current" + ], + "description": "The name of the transparent data encryption configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedTransparentDataEncryptionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a transparent data encryption." + }, + "type": { + "type": "string", + "enum": [ + "transparentDataEncryption" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/transparentDataEncryption" + }, + "managedInstances_databases_vulnerabilityAssessments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the vulnerability assessment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database Vulnerability Assessment." + }, + "type": { + "type": "string", + "enum": [ + "vulnerabilityAssessments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments" + }, + "managedInstances_distributedAvailabilityGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The distributed availability group name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateOrUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties for creating and updating distributed availability group" + }, + "type": { + "type": "string", + "enum": [ + "distributedAvailabilityGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/distributedAvailabilityGroups" + }, + "managedInstances_dnsAliases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "createDnsRecord": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not DNS record should be created for this alias." + }, + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "dnsAliases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Sql/managedInstances/dnsAliases" + }, + "managedInstances_dtc_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "current" + ], + "description": "The name of the managed instance DTC." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceDtcProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of managed instance DTC." + }, + "type": { + "type": "string", + "enum": [ + "dtc" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/dtc" + }, + "managedInstances_encryptionProtector_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "current" + ], + "description": "The name of the encryption protector to be updated." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceEncryptionProtectorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties for an encryption protector execution." + }, + "type": { + "type": "string", + "enum": [ + "encryptionProtector" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/encryptionProtector" + }, + "managedInstances_keys_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the managed instance key to be operated on (updated or created)." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceKeyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties for a key execution." + }, + "type": { + "type": "string", + "enum": [ + "keys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/keys" + }, + "managedInstances_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstancePrivateEndpointConnectionProperties" + }, + { + "$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.Sql/managedInstances/privateEndpointConnections" + }, + "managedInstances_securityAlertPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the security alert policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAlertsPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a security alert policy." + }, + "type": { + "type": "string", + "enum": [ + "securityAlertPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/securityAlertPolicies" + }, + "managedInstances_serverConfigurationOptions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "allowPolybaseExport" + ], + "description": "The name of the server configuration option." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerConfigurationOptionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of server configuration option." + }, + "type": { + "type": "string", + "enum": [ + "serverConfigurationOptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/serverConfigurationOptions" + }, + "managedInstances_serverTrustCertificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of of the certificate to upload." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerTrustCertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a server trust certificate." + }, + "type": { + "type": "string", + "enum": [ + "serverTrustCertificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/serverTrustCertificates" + }, + "managedInstances_sqlAgent_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "current" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlAgentConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sql agent configuration properties." + }, + "type": { + "type": "string", + "enum": [ + "sqlAgent" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/sqlAgent" + }, + "managedInstances_startStopSchedules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "Name of the managed instance Start/Stop schedule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StartStopManagedInstanceScheduleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of managed instance's Start/Stop schedule." + }, + "type": { + "type": "string", + "enum": [ + "startStopSchedules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/startStopSchedules" + }, + "managedInstances_vulnerabilityAssessments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the vulnerability assessment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedInstanceVulnerabilityAssessmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a managed instance vulnerability assessment." + }, + "type": { + "type": "string", + "enum": [ + "vulnerabilityAssessments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/managedInstances/vulnerabilityAssessments" + }, + "ManagedInstanceVulnerabilityAssessmentProperties": { + "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/)." + }, + "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" + } + }, + "required": [ + "storageContainerPath" + ], + "description": "Properties of a managed instance vulnerability assessment." + }, + "ManagedLedgerDigestUploadsProperties": { + "type": "object", + "properties": { + "digestStorageEndpoint": { + "type": "string", + "description": "The digest storage endpoint, which must be either an Azure blob storage endpoint or an URI for Azure Confidential Ledger." + } + }, + "description": "The properties of a database ledger digest upload settings." + }, + "ManagedTransparentDataEncryptionProperties": { + "type": "object", + "properties": { + "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 transparent data encryption." + } + }, + "required": [ + "state" + ], + "description": "Properties of a transparent data encryption." + }, + "NetworkIsolationSettings": { + "type": "object", + "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." + } + }, + "description": "Contains the ARM resources for which to create private endpoint connection." + }, + "PartnerInfo": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "description": "Resource identifier of the partner server." + } + }, + "required": [ + "id" + ], + "description": "Partner server information for the failover group." + }, + "PartnerRegionInfo": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Geo location of the partner managed instances." + } + }, + "description": "Partner region information for the failover group." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Properties of a private endpoint connection." + }, + "PrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + } + }, + "PrivateLinkServiceConnectionStateProperty": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The private link service connection description." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private link service connection status." + } + }, + "required": [ + "description", + "status" + ] + }, + "ResourceIdentity": { + "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" + } + ], + "description": "The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource ids of the user assigned identities to use" + } + }, + "description": "Azure Active Directory identity configuration for a resource." + }, + "ScheduleItem": { + "type": "object", + "properties": { + "startDay": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Start day." + }, + "startTime": { + "type": "string", + "description": "Start time." + }, + "stopDay": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Stop day." + }, + "stopTime": { + "type": "string", + "description": "Stop time." + } + }, + "required": [ + "startDay", + "startTime", + "stopDay", + "stopTime" + ], + "description": "Schedule info describing when the server should be started or stopped." + }, + "SecurityAlertPolicyProperties": { + "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": [ + "New", + "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." + }, + "SecurityAlertsPolicyProperties": { + "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": { + "clientClassificationSource": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Native", + "Recommended", + "MIP" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "informationType": { + "type": "string", + "description": "The information type." + }, + "informationTypeId": { + "type": "string", + "description": "The information type ID." + }, + "labelId": { + "type": "string", + "description": "The label ID." + }, + "labelName": { + "type": "string", + "description": "The label name." + }, + "rank": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Low", + "Medium", + "High", + "Critical" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Properties of a sensitivity label." + }, + "ServerBlobAuditingPolicyProperties": { + "type": "object", + "properties": { + "auditActionsAndGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Actions-Groups and Actions to audit.\r\n\r\nThe recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\r\n\r\nBATCH_COMPLETED_GROUP,\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\r\nFAILED_DATABASE_AUTHENTICATION_GROUP.\r\n\r\nThis above combination is also the set that is configured by default when enabling auditing from the Azure portal.\r\n\r\nThe supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\r\n\r\nAPPLICATION_ROLE_CHANGE_PASSWORD_GROUP\r\nBACKUP_RESTORE_GROUP\r\nDATABASE_LOGOUT_GROUP\r\nDATABASE_OBJECT_CHANGE_GROUP\r\nDATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_OBJECT_PERMISSION_CHANGE_GROUP\r\nDATABASE_OPERATION_GROUP\r\nDATABASE_PERMISSION_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_CHANGE_GROUP\r\nDATABASE_PRINCIPAL_IMPERSONATION_GROUP\r\nDATABASE_ROLE_MEMBER_CHANGE_GROUP\r\nFAILED_DATABASE_AUTHENTICATION_GROUP\r\nSCHEMA_OBJECT_ACCESS_GROUP\r\nSCHEMA_OBJECT_CHANGE_GROUP\r\nSCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\r\nSCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\r\nSUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\r\nUSER_CHANGE_PASSWORD_GROUP\r\nBATCH_STARTED_GROUP\r\nBATCH_COMPLETED_GROUP\r\nDBCC_GROUP\r\nDATABASE_OWNERSHIP_CHANGE_GROUP\r\nDATABASE_CHANGE_GROUP\r\nLEDGER_OPERATION_GROUP\r\n\r\nThese are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\r\n\r\nFor more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\r\n\r\nFor Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\r\nSELECT\r\nUPDATE\r\nINSERT\r\nDELETE\r\nEXECUTE\r\nRECEIVE\r\nREFERENCES\r\n\r\nThe general form for defining an action to be audited is:\r\n{action} ON {object} BY {principal}\r\n\r\nNote that in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\r\n\r\nFor example:\r\nSELECT on dbo.myTable by public\r\nSELECT on DATABASE::myDatabase by public\r\nSELECT on SCHEMA::mySchema by public\r\n\r\nFor more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)" + }, + "isAzureMonitorTargetEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether audit events are sent to Azure Monitor. \r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\r\n\r\nWhen using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\r\nNote that for server level audit you should use the 'master' database as {databaseName}.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n" + }, + "isDevopsAuditEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure Monitor.\r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and 'IsDevopsAuditEnabled' as true\r\n\r\nWhen using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should also be created.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n" + }, + "isManagedIdentityInUse": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether Managed Identity is used to access blob storage" + }, + "isStorageSecondaryKeyInUse": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether storageAccountAccessKey value is the storage's secondary key." + }, + "queueDelayMs": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\r\nThe default minimum value is 1000 (1 second). The maximum is 2,147,483,647." + }, + "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 audit logs in the storage account." + }, + "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 audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required." + }, + "storageAccountAccessKey": { + "type": "string", + "description": "Specifies the identifier key of the auditing storage account. \r\nIf state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\r\nPrerequisites for using managed identity authentication:\r\n1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\r\n2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\r\nFor more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)" + }, + "storageAccountSubscriptionId": { + "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": "Specifies the blob storage subscription Id." + }, + "storageEndpoint": { + "type": "string", + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required." + } + }, + "required": [ + "state" + ], + "description": "Properties of a server blob auditing policy." + }, + "ServerConfigurationOptionProperties": { + "type": "object", + "properties": { + "serverConfigurationOptionValue": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Value of the server configuration option." + } + }, + "required": [ + "serverConfigurationOptionValue" + ], + "description": "The properties of server configuration option." + }, + "ServerConnectionPolicyProperties": { + "type": "object", + "properties": { + "connectionType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Redirect", + "Proxy" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The server connection type." + } + }, + "required": [ + "connectionType" + ], + "description": "The properties of a server connection policy." + }, + "ServerDevOpsAuditSettingsProperties": { + "type": "object", + "properties": { + "isAzureMonitorTargetEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether DevOps audit events are sent to Azure Monitor. \r\nIn order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\r\n\r\nWhen using REST API to configure DevOps audit, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should be also created.\r\n\r\nDiagnostic Settings URI format:\r\nPUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\r\n\r\nFor more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\r\nor [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\r\n" + }, + "isManagedIdentityInUse": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether Managed Identity is used to access blob storage" + }, + "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 audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required." + }, + "storageAccountAccessKey": { + "type": "string", + "description": "Specifies the identifier key of the auditing storage account. \r\nIf state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\r\nPrerequisites for using managed identity authentication:\r\n1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\r\n2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\r\nFor more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)" + }, + "storageAccountSubscriptionId": { + "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": "Specifies the blob storage subscription Id." + }, + "storageEndpoint": { + "type": "string", + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required." + } + }, + "required": [ + "state" + ], + "description": "Properties of a server DevOps audit settings." + }, + "ServerExternalAdministrator": { + "type": "object", + "properties": { + "administratorType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ActiveDirectory" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the sever administrator." + }, + "azureADOnlyAuthentication": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory only Authentication enabled." + }, + "login": { + "type": "string", + "description": "Login name of the server administrator." + }, + "principalType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Group", + "Application" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Principal Type of the sever administrator." + }, + "sid": { + "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": "SID (object ID) of the server administrator." + }, + "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": "Tenant ID of the administrator." + } + }, + "description": "Properties of a active directory administrator." + }, + "ServerFirewallRuleProperties": { + "type": "object", + "properties": { + "endIpAddress": { + "type": "string", + "description": "The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress. Use value '0.0.0.0' for all Azure-internal IP addresses." + }, + "startIpAddress": { + "type": "string", + "description": "The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all Azure-internal IP addresses." + } + }, + "description": "The properties of a server firewall rule." + }, + "ServerInfo": { + "type": "object", + "properties": { + "serverId": { + "type": "string", + "description": "Server Id." + } + }, + "required": [ + "serverId" + ], + "description": "Server info for the server trust group." + }, + "ServerKeyProperties": { + "type": "object", + "properties": { + "serverKeyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ServiceManaged", + "AzureKeyVault" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The server key type like 'ServiceManaged', 'AzureKeyVault'." + }, + "uri": { + "type": "string", + "description": "The URI of the server key. If the ServerKeyType is AzureKeyVault, then the URI is required. The AKV URI is required to be in this format: 'https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion'" + } + }, + "required": [ + "serverKeyType" + ], + "description": "Properties for a server key execution." + }, + "ServerProperties": { + "type": "object", + "properties": { + "administratorLogin": { + "type": "string", + "description": "Administrator username for the server. Once created it cannot be changed." + }, + "administratorLoginPassword": { + "type": "string", + "description": "The administrator login password (required for server creation)." + }, + "administrators": { + "oneOf": [ + { + "$ref": "#/definitions/ServerExternalAdministrator" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a active directory administrator." + }, + "federatedClientId": { + "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 Client id used for cross tenant CMK scenario" + }, + "isIPv6Enabled": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not to enable IPv6 support for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'." + }, + "keyId": { + "type": "string", + "description": "A CMK URI of the key to use for encryption." + }, + "minimalTlsVersion": { + "type": "string", + "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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled", + "SecuredByPerimeter" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not public endpoint access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' or 'SecuredByPerimeter'." + }, + "restrictOutboundNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not to restrict outbound network access for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'." + }, + "version": { + "type": "string", + "description": "The version of the server." + } + }, + "description": "The properties of a server." + }, + "servers_administrators_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "ActiveDirectory" + ], + "description": "The name of server active directory administrator." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdministratorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a active directory administrator." + }, + "type": { + "type": "string", + "enum": [ + "administrators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/administrators" + }, + "servers_advancedThreatProtectionSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "Default" + ], + "description": "The name of the Advanced Threat Protection state." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdvancedThreatProtectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an Advanced Threat Protection state." + }, + "type": { + "type": "string", + "enum": [ + "advancedThreatProtectionSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/advancedThreatProtectionSettings" + }, + "servers_auditingSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the blob auditing policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerBlobAuditingPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a server blob auditing policy." + }, + "type": { + "type": "string", + "enum": [ + "auditingSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/auditingSettings" + }, + "servers_azureADOnlyAuthentications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "Default" + ], + "description": "The name of server azure active directory only authentication." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AzureADOnlyAuthProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a active directory only authentication." + }, + "type": { + "type": "string", + "enum": [ + "azureADOnlyAuthentications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/azureADOnlyAuthentications" + }, + "servers_connectionPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the connection policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerConnectionPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a server connection policy." + }, + "type": { + "type": "string", + "enum": [ + "connectionPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/connectionPolicies" + }, + "servers_databases_advancedThreatProtectionSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "Default" + ], + "description": "The name of the Advanced Threat Protection state." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdvancedThreatProtectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an Advanced Threat Protection state." + }, + "type": { + "type": "string", + "enum": [ + "advancedThreatProtectionSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/advancedThreatProtectionSettings" + }, + "servers_databases_auditingSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the blob auditing policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseBlobAuditingPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database blob auditing policy." + }, + "type": { + "type": "string", + "enum": [ + "auditingSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/auditingSettings" + }, + "servers_databases_backupLongTermRetentionPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The policy name. Should always be Default." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LongTermRetentionPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a long term retention policy" + }, + "type": { + "type": "string", + "enum": [ + "backupLongTermRetentionPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/backupLongTermRetentionPolicies" + }, + "servers_databases_backupShortTermRetentionPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The policy name. Should always be \"default\"." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupShortTermRetentionPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a short term retention policy" + }, + "type": { + "type": "string", + "enum": [ + "backupShortTermRetentionPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/backupShortTermRetentionPolicies" + }, + "servers_databases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory identity configuration for a resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the database." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The database's properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An ARM Resource SKU." + }, + "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": [ + "databases" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases" + }, + "servers_databases_dataMaskingPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "Default" + ], + "description": "The name of the database for which the data masking policy applies." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataMaskingPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a database data masking policy." + }, + "type": { + "type": "string", + "enum": [ + "dataMaskingPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/dataMaskingPolicies" + }, + "servers_databases_dataMaskingPolicies_rules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the data masking rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataMaskingRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a database data masking rule." + }, + "type": { + "type": "string", + "enum": [ + "rules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/dataMaskingPolicies/rules" + }, + "servers_databases_extendedAuditingSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the blob auditing policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedDatabaseBlobAuditingPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an extended database blob auditing policy." + }, + "type": { + "type": "string", + "enum": [ + "extendedAuditingSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/extendedAuditingSettings" + }, + "servers_databases_extensions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseExtensionsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Contains the database information after a successful Import, Export, or PolybaseImport" + }, + "type": { + "type": "string", + "enum": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/extensions" + }, + "servers_databases_geoBackupPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "Default" + ], + "description": "The name of the Geo backup policy. This should always be 'Default'." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GeoBackupPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the geo backup policy." + }, + "type": { + "type": "string", + "enum": [ + "geoBackupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/geoBackupPolicies" + }, + "servers_databases_ledgerDigestUploads_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "current" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LedgerDigestUploadsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a database ledger digest upload settings." + }, + "type": { + "type": "string", + "enum": [ + "ledgerDigestUploads" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/ledgerDigestUploads" + }, + "servers_databases_maintenanceWindows_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "current" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MaintenanceWindowsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maintenance windows resource properties." + }, + "type": { + "type": "string", + "enum": [ + "maintenanceWindows" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/maintenanceWindows" + }, + "servers_databases_securityAlertPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the security alert policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAlertsPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a security alert policy." + }, + "type": { + "type": "string", + "enum": [ + "securityAlertPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/securityAlertPolicies" + }, + "servers_databases_sqlVulnerabilityAssessments_baselines_rules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The vulnerability assessment rule ID." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseSqlVulnerabilityAssessmentRuleBaselineInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database Sql Vulnerability Assessment rule baseline." + }, + "type": { + "type": "string", + "enum": [ + "rules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines/rules" + }, + "servers_databases_syncGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the sync group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SyncGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a sync group." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An ARM Resource SKU." + }, + "type": { + "type": "string", + "enum": [ + "syncGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/syncGroups" + }, + "servers_databases_syncGroups_syncMembers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the sync member." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SyncMemberProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a sync member." + }, + "type": { + "type": "string", + "enum": [ + "syncMembers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/syncGroups/syncMembers" + }, + "servers_databases_transparentDataEncryption_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "current" + ], + "description": "The name of the transparent data encryption configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TransparentDataEncryptionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a transparent data encryption." + }, + "type": { + "type": "string", + "enum": [ + "transparentDataEncryption" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/transparentDataEncryption" + }, + "servers_databases_vulnerabilityAssessments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the vulnerability assessment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseVulnerabilityAssessmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database Vulnerability Assessment." + }, + "type": { + "type": "string", + "enum": [ + "vulnerabilityAssessments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/vulnerabilityAssessments" + }, + "servers_databases_workloadGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the workload group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WorkloadGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workload group definition. For more information look at sys.workload_management_workload_groups (DMV)." + }, + "type": { + "type": "string", + "enum": [ + "workloadGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/workloadGroups" + }, + "servers_databases_workloadGroups_workloadClassifiers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the workload classifier to create/update." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WorkloadClassifierProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workload classifier definition. For more information look at sys.workload_management_workload_classifiers (DMV)." + }, + "type": { + "type": "string", + "enum": [ + "workloadClassifiers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers" + }, + "servers_devOpsAuditingSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "Default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerDevOpsAuditSettingsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a server DevOps audit settings." + }, + "type": { + "type": "string", + "enum": [ + "devOpsAuditingSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/devOpsAuditingSettings" + }, + "servers_dnsAliases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the server dns alias." + }, + "type": { + "type": "string", + "enum": [ + "dnsAliases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Sql/servers/dnsAliases" + }, + "servers_elasticPools_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the elastic pool." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ElasticPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an elastic pool" + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An ARM Resource SKU." + }, + "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": [ + "elasticPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/elasticPools" + }, + "servers_encryptionProtector_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "current" + ], + "description": "The name of the encryption protector to be updated." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionProtectorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties for an encryption protector execution." + }, + "type": { + "type": "string", + "enum": [ + "encryptionProtector" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/encryptionProtector" + }, + "servers_extendedAuditingSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the blob auditing policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedServerBlobAuditingPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an extended server blob auditing policy." + }, + "type": { + "type": "string", + "enum": [ + "extendedAuditingSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/extendedAuditingSettings" + }, + "servers_failoverGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the failover group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FailoverGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a failover 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": [ + "failoverGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/failoverGroups" + }, + "servers_firewallRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "firewallRules" + ] + }, + "type": { + "type": "string", + "enum": [ + "firewallRules" + ] + }, + "values": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Sql/servers/firewallRules" + }, + "servers_ipv6FirewallRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the firewall rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IPv6ServerFirewallRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an IPv6 server firewall rule." + }, + "type": { + "type": "string", + "enum": [ + "ipv6FirewallRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/ipv6FirewallRules" + }, + "servers_jobAgents_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the job agent to be created or updated." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JobAgentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a job agent." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An ARM Resource SKU." + }, + "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": [ + "jobAgents" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/jobAgents" + }, + "servers_jobAgents_credentials_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the credential." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JobCredentialProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a job credential." + }, + "type": { + "type": "string", + "enum": [ + "credentials" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/jobAgents/credentials" + }, + "servers_jobAgents_jobs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the job to get." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JobProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a job." + }, + "type": { + "type": "string", + "enum": [ + "jobs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/jobAgents/jobs" + }, + "servers_jobAgents_jobs_executions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "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 job execution id to create the job execution under." + }, + "type": { + "type": "string", + "enum": [ + "executions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Sql/servers/jobAgents/jobs/executions" + }, + "servers_jobAgents_jobs_steps_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the job step." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JobStepProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a job step." + }, + "type": { + "type": "string", + "enum": [ + "steps" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/jobAgents/jobs/steps" + }, + "servers_jobAgents_targetGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the target group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JobTargetGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of job target group." + }, + "type": { + "type": "string", + "enum": [ + "targetGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/jobAgents/targetGroups" + }, + "servers_keys_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the server key to be operated on (updated or created). The key name is required to be in the format of 'vault_key_version'. For example, if the keyId is https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion, then the server key name should be formatted as: YourVaultName_YourKeyName_YourKeyVersion" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerKeyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties for a server key execution." + }, + "type": { + "type": "string", + "enum": [ + "keys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/keys" + }, + "servers_outboundFirewallRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "outboundFirewallRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Sql/servers/outboundFirewallRules" + }, + "servers_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-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.Sql/servers/privateEndpointConnections" + }, + "servers_securityAlertPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the threat detection policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAlertsPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a security alert policy." + }, + "type": { + "type": "string", + "enum": [ + "securityAlertPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/securityAlertPolicies" + }, + "servers_sqlVulnerabilityAssessments_baselines_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseSqlVulnerabilityAssessmentRuleBaselineListInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database Sql Vulnerability Assessment rule baseline." + }, + "type": { + "type": "string", + "enum": [ + "baselines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/sqlVulnerabilityAssessments/baselines" + }, + "servers_sqlVulnerabilityAssessments_baselines_rules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The vulnerability assessment rule ID." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseSqlVulnerabilityAssessmentRuleBaselineInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a database Sql Vulnerability Assessment rule baseline." + }, + "type": { + "type": "string", + "enum": [ + "rules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/sqlVulnerabilityAssessments/baselines/rules" + }, + "servers_sqlVulnerabilityAssessments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the SQL Vulnerability Assessment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlVulnerabilityAssessmentPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "sqlVulnerabilityAssessments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/sqlVulnerabilityAssessments" + }, + "servers_syncAgents_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the sync agent." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SyncAgentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an Azure SQL Database sync agent." + }, + "type": { + "type": "string", + "enum": [ + "syncAgents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/syncAgents" + }, + "servers_virtualNetworkRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the virtual network rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a virtual network rule." + }, + "type": { + "type": "string", + "enum": [ + "virtualNetworkRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/virtualNetworkRules" + }, + "servers_vulnerabilityAssessments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the vulnerability assessment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerVulnerabilityAssessmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a server Vulnerability Assessment." + }, + "type": { + "type": "string", + "enum": [ + "vulnerabilityAssessments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Sql/servers/vulnerabilityAssessments" + }, + "ServerTrustCertificateProperties": { + "type": "object", + "properties": { + "publicBlob": { + "type": "string", + "description": "The certificate public blob" + } + }, + "description": "The properties of a server trust certificate." + }, + "ServerTrustGroupProperties": { + "type": "object", + "properties": { + "groupMembers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServerInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Group members information for the server trust group." + }, + "trustScopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "GlobalTransactions", + "ServiceBroker" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Trust scope of the server trust group." + } + }, + "required": [ + "groupMembers", + "trustScopes" + ], + "description": "Properties of a server trust group." + }, + "ServerVulnerabilityAssessmentProperties": { + "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/)." + }, + "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" + } + }, + "required": [ + "storageContainerPath" + ], + "description": "Properties of a server Vulnerability Assessment." + }, + "ServicePrincipal": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service principal type." + } + }, + "description": "The managed instance's service principal configuration for a resource." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Capacity of the particular SKU." + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "name": { + "type": "string", + "description": "The name of the SKU, typically, a letter + Number code, e.g. P3." + }, + "size": { + "type": "string", + "description": "Size of the particular SKU" + }, + "tier": { + "type": "string", + "description": "The tier or edition of the particular SKU, e.g. Basic, Premium." + } + }, + "required": [ + "name" + ], + "description": "An ARM Resource SKU." + }, + "SqlAgentConfigurationProperties": { + "type": "object", + "properties": { + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of Sql Agent." + } + }, + "description": "Sql agent configuration properties." + }, + "SqlVulnerabilityAssessmentPolicyProperties": { + "type": "object", + "properties": { + "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 SQL Vulnerability Assessment, whether it is enabled or disabled or a state has not been applied yet on the specific database or server." + } + } + }, + "StartStopManagedInstanceScheduleProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "default": "", + "description": "The description of the schedule." + }, + "scheduleList": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schedule list." + }, + "timeZoneId": { + "type": "string", + "default": "UTC", + "description": "The time zone of the schedule." + } + }, + "required": [ + "scheduleList" + ], + "description": "Properties of managed instance's Start/Stop schedule." + }, + "SyncAgentProperties": { + "type": "object", + "properties": { + "syncDatabaseId": { + "type": "string", + "format": "arm-id", + "description": "ARM resource id of the sync database in the sync agent." + } + }, + "description": "Properties of an Azure SQL Database sync agent." + }, + "SyncGroupProperties": { + "type": "object", + "properties": { + "conflictLoggingRetentionInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Conflict logging retention period." + }, + "conflictResolutionPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "HubWin", + "MemberWin" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Conflict resolution policy of the sync group." + }, + "enableConflictLogging": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If conflict logging is enabled." + }, + "hubDatabasePassword": { + "type": "string", + "description": "Password for the sync group hub database credential." + }, + "hubDatabaseUserName": { + "type": "string", + "description": "User name for the sync group hub database credential." + }, + "interval": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sync interval of the sync group." + }, + "schema": { + "oneOf": [ + { + "$ref": "#/definitions/SyncGroupSchema" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of sync group schema." + }, + "syncDatabaseId": { + "type": "string", + "format": "arm-id", + "description": "ARM resource id of the sync database in the sync group." + }, + "usePrivateLinkConnection": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If use private link connection is enabled." + } + }, + "description": "Properties of a sync group." + }, + "SyncGroupSchema": { + "type": "object", + "properties": { + "masterSyncMemberName": { + "type": "string", + "description": "Name of master sync member where the schema is from." + }, + "tables": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SyncGroupSchemaTable" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of tables in sync group schema." + } + }, + "description": "Properties of sync group schema." + }, + "SyncGroupSchemaTable": { + "type": "object", + "properties": { + "columns": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SyncGroupSchemaTableColumn" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of columns in sync group schema." + }, + "quotedName": { + "type": "string", + "description": "Quoted name of sync group schema table." + } + }, + "description": "Properties of table in sync group schema." + }, + "SyncGroupSchemaTableColumn": { + "type": "object", + "properties": { + "dataSize": { + "type": "string", + "description": "Data size of the column." + }, + "dataType": { + "type": "string", + "description": "Data type of the column." + }, + "quotedName": { + "type": "string", + "description": "Quoted name of sync group table column." + } + }, + "description": "Properties of column in sync group table." + }, + "SyncMemberProperties": { + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "Database name of the member database in the sync member." + }, + "databaseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureSqlDatabase", + "SqlServerDatabase" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Database type of the sync member." + }, + "password": { + "type": "string", + "description": "Password of the member database in the sync member." + }, + "serverName": { + "type": "string", + "description": "Server name of the member database in the sync member" + }, + "sqlServerDatabaseId": { + "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": "SQL Server database id of the sync member." + }, + "syncAgentId": { + "type": "string", + "format": "arm-id", + "description": "ARM resource id of the sync agent in the sync member." + }, + "syncDirection": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Bidirectional", + "OneWayMemberToHub", + "OneWayHubToMember" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sync direction of the sync member." + }, + "syncMemberAzureDatabaseResourceId": { + "type": "string", + "format": "arm-id", + "description": "ARM resource id of the sync member logical database, for sync members in Azure." + }, + "usePrivateLinkConnection": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to use private link connection." + }, + "userName": { + "type": "string", + "description": "User name of the member database in the sync member." + } + }, + "description": "Properties of a sync member." + }, + "TransparentDataEncryptionProperties": { + "type": "object", + "properties": { + "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 transparent data encryption." + } + }, + "required": [ + "state" + ], + "description": "Properties of a transparent data encryption." + }, + "UserIdentity": { + "type": "object", + "properties": {}, + "description": "Azure Active Directory identity configuration for a resource." + }, + "VirtualNetworkRuleProperties": { + "type": "object", + "properties": { + "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." + }, + "virtualNetworkSubnetId": { + "type": "string", + "format": "arm-id", + "description": "The ARM resource id of the virtual network subnet." + } + }, + "required": [ + "virtualNetworkSubnetId" + ], + "description": "Properties of a virtual network rule." + }, + "VulnerabilityAssessmentRecurringScansProperties": { + "type": "object", + "properties": { + "emails": { + "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 scan notification is sent." + }, + "emailSubscriptionAdmins": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies that the schedule scan notification will be is sent to the subscription administrators." + }, + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recurring scans state." + } + }, + "description": "Properties of a Vulnerability Assessment recurring scans." + }, + "WorkloadClassifierProperties": { + "type": "object", + "properties": { + "context": { + "type": "string", + "description": "The workload classifier context." + }, + "endTime": { + "type": "string", + "description": "The workload classifier end time for classification." + }, + "importance": { + "type": "string", + "description": "The workload classifier importance." + }, + "label": { + "type": "string", + "description": "The workload classifier label." + }, + "memberName": { + "type": "string", + "description": "The workload classifier member name." + }, + "startTime": { + "type": "string", + "description": "The workload classifier start time for classification." + } + }, + "required": [ + "memberName" + ], + "description": "Workload classifier definition. For more information look at sys.workload_management_workload_classifiers (DMV)." + }, + "WorkloadGroupProperties": { + "type": "object", + "properties": { + "importance": { + "type": "string", + "description": "The workload group importance level." + }, + "maxResourcePercent": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The workload group cap percentage resource." + }, + "maxResourcePercentPerRequest": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The workload group request maximum grant percentage." + }, + "minResourcePercent": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The workload group minimum percentage resource." + }, + "minResourcePercentPerRequest": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The workload group request minimum grant percentage." + }, + "queryExecutionTimeout": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The workload group query execution timeout." + } + }, + "required": [ + "maxResourcePercent", + "minResourcePercent", + "minResourcePercentPerRequest" + ], + "description": "Workload group definition. For more information look at sys.workload_management_workload_groups (DMV)." + } + } +} \ No newline at end of file diff --git a/schemas/2023-04-01/Microsoft.Cache.json b/schemas/2023-04-01/Microsoft.Cache.json index 94665a64ef..2b341cb027 100644 --- a/schemas/2023-04-01/Microsoft.Cache.json +++ b/schemas/2023-04-01/Microsoft.Cache.json @@ -518,7 +518,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'." + "description": "Whether or not public endpoint access is allowed for this cache. Value is optional, but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'. Note: This setting is important for caches with private endpoints. It has *no effect* on caches that are joined to, or injected into, a virtual network subnet." }, "redisConfiguration": { "oneOf": [ diff --git a/schemas/2023-04-03/Microsoft.Monitor.json b/schemas/2023-04-03/Microsoft.Monitor.json index f380e3d359..bef49663a8 100644 --- a/schemas/2023-04-03/Microsoft.Monitor.json +++ b/schemas/2023-04-03/Microsoft.Monitor.json @@ -27,7 +27,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The name of the Azure Monitor workspace. The name is case insensitive" + "description": "The name of the Azure Monitor Workspace. The name is case insensitive" }, "properties": { "oneOf": [ diff --git a/schemas/2023-05-01/Microsoft.DataProtection.json b/schemas/2023-05-01/Microsoft.DataProtection.json index de2eba21c3..3291f50a6c 100644 --- a/schemas/2023-05-01/Microsoft.DataProtection.json +++ b/schemas/2023-05-01/Microsoft.DataProtection.json @@ -1024,6 +1024,11 @@ }, "BaseResourceProperties": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/DefaultResourceProperties" + } + ], "properties": {}, "description": "Properties which are specific to datasource/datasourceSets" }, @@ -1333,6 +1338,21 @@ }, "description": "Day of the week" }, + "DefaultResourceProperties": { + "type": "object", + "properties": { + "objectType": { + "type": "string", + "enum": [ + "DefaultResourceProperties" + ] + } + }, + "required": [ + "objectType" + ], + "description": "Default source properties" + }, "DeleteOption": { "type": "object", "oneOf": [ diff --git a/schemas/2023-05-01/Microsoft.Network.NRP.json b/schemas/2023-05-01/Microsoft.Network.NRP.json new file mode 100644 index 0000000000..e3fda9d0c0 --- /dev/null +++ b/schemas/2023-05-01/Microsoft.Network.NRP.json @@ -0,0 +1,26462 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Network", + "description": "Microsoft Network Resource Types", + "resourceDefinitions": { + "applicationGateways": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "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": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the application gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the application gateway." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/applicationGateways_privateEndpointConnections_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.Network/applicationGateways" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of availability zones denoting where the resource needs to come from." + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/applicationGateways" + }, + "applicationGateways_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the application gateway private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Private Link Resource of an application gateway." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/applicationGateways/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/applicationGateways/privateEndpointConnections" + }, + "ApplicationGatewayWebApplicationFirewallPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "maxLength": 128, + "description": "The name of the policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WebApplicationFirewallPolicyPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines web application firewall policy properties." + }, + "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.Network/ApplicationGatewayWebApplicationFirewallPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies" + }, + "applicationSecurityGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the application security group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationSecurityGroupPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application security group properties." + }, + "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.Network/applicationSecurityGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/applicationSecurityGroups" + }, + "azureFirewalls": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the Azure Firewall." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFirewallPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Azure Firewall." + }, + "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.Network/azureFirewalls" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of availability zones denoting where the resource needs to come from." + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/azureFirewalls" + }, + "bastionHosts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the Bastion Host." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BastionHostPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Bastion Host." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku of this Bastion Host." + }, + "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.Network/bastionHosts" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/bastionHosts" + }, + "connections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VirtualNetworkGatewayConnection properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/connections_sharedkey_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.Network/connections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/connections" + }, + "connections_sharedkey": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/sharedkey$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/connections/sharedkey" + ] + }, + "value": { + "type": "string", + "description": "The virtual network connection shared key value." + } + }, + "required": [ + "apiVersion", + "name", + "type", + "value" + ], + "description": "Microsoft.Network/connections/sharedkey" + }, + "customIpPrefixes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExtendedLocation complex type." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the custom IP prefix." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomIpPrefixPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom IP prefix properties." + }, + "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.Network/customIpPrefixes" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/customIpPrefixes" + }, + "ddosCustomPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the DDoS custom policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DdosCustomPolicyPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DDoS custom policy properties." + }, + "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.Network/ddosCustomPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/ddosCustomPolicies" + }, + "ddosProtectionPlans": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the DDoS protection plan." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DdosProtectionPlanPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DDoS protection plan properties." + }, + "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.Network/ddosProtectionPlans" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/ddosProtectionPlans" + }, + "dscpConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DscpConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Differentiated Services Code Point configuration properties." + }, + "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.Network/dscpConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/dscpConfigurations" + }, + "expressRouteCircuits": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the circuit." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of ExpressRouteCircuit." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/expressRouteCircuits_authorizations_childResource" + }, + { + "$ref": "#/definitions/expressRouteCircuits_peerings_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Contains SKU in an ExpressRouteCircuit." + }, + "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.Network/expressRouteCircuits" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRouteCircuits" + }, + "expressRouteCircuits_authorizations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the authorization." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of ExpressRouteCircuitAuthorization." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/expressRouteCircuits/authorizations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRouteCircuits/authorizations" + }, + "expressRouteCircuits_peerings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the peering." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitPeeringPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the express route circuit peering." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/expressRouteCircuits_peerings_connections_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/expressRouteCircuits/peerings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRouteCircuits/peerings" + }, + "expressRouteCircuits_peerings_connections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the express route circuit connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitConnectionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the express route circuit connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/expressRouteCircuits/peerings/connections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRouteCircuits/peerings/connections" + }, + "expressRouteCrossConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCrossConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of ExpressRouteCrossConnection." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/expressRouteCrossConnections_peerings_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.Network/expressRouteCrossConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRouteCrossConnections" + }, + "expressRouteCrossConnections_peerings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the peering." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of express route cross connection peering." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/expressRouteCrossConnections/peerings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRouteCrossConnections/peerings" + }, + "expressRouteGateways": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteGatewayProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExpressRoute gateway resource properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/expressRouteGateways_expressRouteConnections_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.Network/expressRouteGateways" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRouteGateways" + }, + "expressRouteGateways_expressRouteConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the connection subresource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the ExpressRouteConnection subresource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/expressRouteGateways/expressRouteConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRouteGateways/expressRouteConnections" + }, + "ExpressRoutePorts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "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": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the ExpressRoutePort resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRoutePortPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties specific to ExpressRoutePort resources." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/expressRoutePorts_authorizations_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.Network/ExpressRoutePorts" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/ExpressRoutePorts" + }, + "expressRoutePorts_authorizations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the authorization." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRoutePortAuthorizationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of ExpressRoutePort Authorization." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/expressRoutePorts/authorizations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRoutePorts/authorizations" + }, + "firewallPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "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": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the Firewall Policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicyPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Firewall Policy definition." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/firewallPolicies_ruleCollectionGroups_childResource" + }, + { + "$ref": "#/definitions/firewallPolicies_signatureOverrides_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.Network/firewallPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/firewallPolicies" + }, + "firewallPolicies_ruleCollectionGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the FirewallPolicyRuleCollectionGroup." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the rule collection group." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/firewallPolicies/ruleCollectionGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/firewallPolicies/ruleCollectionGroups" + }, + "firewallPolicies_signatureOverrides": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Will contain the resource id of the signature override resource" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SignaturesOverridesProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Will contain the properties of the resource (the actual signature overrides)" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/firewallPolicies/signatureOverrides" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/firewallPolicies/signatureOverrides" + }, + "IpAllocations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the IpAllocation." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IpAllocationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the IpAllocation." + }, + "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.Network/IpAllocations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/IpAllocations" + }, + "ipGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the ipGroups." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IpGroupPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IpGroups property information." + }, + "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.Network/ipGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/ipGroups" + }, + "loadBalancers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExtendedLocation complex type." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the load balancer." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LoadBalancerPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the load balancer." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/loadBalancers_backendAddressPools_childResource" + }, + { + "$ref": "#/definitions/loadBalancers_inboundNatRules_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/LoadBalancerSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU of a load balancer." + }, + "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.Network/loadBalancers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/loadBalancers" + }, + "loadBalancers_backendAddressPools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the backend address pool." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackendAddressPoolPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the backend address pool." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/loadBalancers/backendAddressPools" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/loadBalancers/backendAddressPools" + }, + "loadBalancers_inboundNatRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the inbound NAT rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/InboundNatRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the inbound NAT rule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/loadBalancers/inboundNatRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/loadBalancers/inboundNatRules" + }, + "localNetworkGateways": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "minLength": 1, + "description": "The name of the local network gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LocalNetworkGatewayPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "LocalNetworkGateway properties." + }, + "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.Network/localNetworkGateways" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/localNetworkGateways" + }, + "natGateways": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the nat gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NatGatewayPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Nat Gateway properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NatGatewaySku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU of nat gateway." + }, + "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.Network/natGateways" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of availability zones denoting the zone in which Nat Gateway should be deployed." + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/natGateways" + }, + "networkInterfaces": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExtendedLocation complex type." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the network interface." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkInterfacePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NetworkInterface properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/networkInterfaces_tapConfigurations_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.Network/networkInterfaces" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkInterfaces" + }, + "networkInterfaces_tapConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the tap configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkInterfaceTapConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Virtual Network Tap configuration." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkInterfaces/tapConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkInterfaces/tapConfigurations" + }, + "networkManagers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the network manager." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkManagerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Managed Network" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/networkManagers_connectivityConfigurations_childResource" + }, + { + "$ref": "#/definitions/networkManagers_networkGroups_childResource" + }, + { + "$ref": "#/definitions/networkManagers_scopeConnections_childResource" + }, + { + "$ref": "#/definitions/networkManagers_securityAdminConfigurations_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.Network/networkManagers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagers" + }, + "networkManagers_connectivityConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the network manager connectivity configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectivityConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of network manager connectivity configuration" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkManagers/connectivityConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagers/connectivityConfigurations" + }, + "networkManagers_networkGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the network group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of network group" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/networkManagers_networkGroups_staticMembers_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkManagers/networkGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagers/networkGroups" + }, + "networkManagers_networkGroups_staticMembers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the static member." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StaticMemberProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of static member." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkManagers/networkGroups/staticMembers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagers/networkGroups/staticMembers" + }, + "networkManagers_scopeConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name for the cross-tenant connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScopeConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scope connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkManagers/scopeConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagers/scopeConnections" + }, + "networkManagers_securityAdminConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the network manager Security Configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAdminConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the security admin configuration properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/networkManagers_securityAdminConfigurations_ruleCollections_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkManagers/securityAdminConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagers/securityAdminConfigurations" + }, + "networkManagers_securityAdminConfigurations_ruleCollections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the network manager security Configuration rule collection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdminRuleCollectionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the admin rule collection properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/networkManagers_securityAdminConfigurations_ruleCollections_rules_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections" + }, + "networkManagers_securityAdminConfigurations_ruleCollections_rules": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AdminRule" + }, + { + "$ref": "#/definitions/DefaultAdminRule" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the rule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules" + }, + "networkProfiles": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the network profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkProfilePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network profile properties." + }, + "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.Network/networkProfiles" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkProfiles" + }, + "networkSecurityGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the network security group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkSecurityGroupPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network Security Group resource." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/networkSecurityGroups_securityRules_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.Network/networkSecurityGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkSecurityGroups" + }, + "networkSecurityGroups_securityRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the security rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Security rule resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkSecurityGroups/securityRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkSecurityGroups/securityRules" + }, + "networkVirtualAppliances": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "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": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of Network Virtual Appliance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkVirtualAppliancePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network Virtual Appliance definition." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/networkVirtualAppliances_virtualApplianceSites_childResource" + }, + { + "$ref": "#/definitions/networkVirtualAppliances_inboundSecurityRules_childResource" + }, + { + "$ref": "#/definitions/networkVirtualAppliances_networkVirtualApplianceConnections_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.Network/networkVirtualAppliances" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkVirtualAppliances" + }, + "networkVirtualAppliances_inboundSecurityRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of security rule collection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/InboundSecurityRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Inbound Security Rules resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkVirtualAppliances/inboundSecurityRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkVirtualAppliances/inboundSecurityRules" + }, + "networkVirtualAppliances_networkVirtualApplianceConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the NVA connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkVirtualApplianceConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the NetworkVirtualApplianceConnection subresource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkVirtualAppliances/networkVirtualApplianceConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkVirtualAppliances/networkVirtualApplianceConnections" + }, + "networkVirtualAppliances_virtualApplianceSites": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the site." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualApplianceSiteProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the rule group." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkVirtualAppliances/virtualApplianceSites" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkVirtualAppliances/virtualApplianceSites" + }, + "networkWatchers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the network watcher." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkWatcherPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network watcher properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/networkWatchers_packetCaptures_childResource" + }, + { + "$ref": "#/definitions/networkWatchers_connectionMonitors_childResource" + }, + { + "$ref": "#/definitions/networkWatchers_flowLogs_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.Network/networkWatchers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkWatchers" + }, + "networkWatchers_connectionMonitors": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "location": { + "type": "string", + "description": "Connection monitor location." + }, + "name": { + "type": "string", + "description": "The name of the connection monitor." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionMonitorParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters that define the operation to create a connection monitor." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection monitor tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkWatchers/connectionMonitors" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkWatchers/connectionMonitors" + }, + "networkWatchers_flowLogs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the flow log." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FlowLogPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters that define the configuration of flow log." + }, + "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.Network/networkWatchers/flowLogs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkWatchers/flowLogs" + }, + "networkWatchers_packetCaptures": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the packet capture session." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PacketCaptureParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters that define the create packet capture operation." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkWatchers/packetCaptures" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkWatchers/packetCaptures" + }, + "p2svpnGateways": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/P2SVpnGatewayProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for P2SVpnGateway." + }, + "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.Network/p2svpnGateways" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/p2svpnGateways" + }, + "privateEndpoints": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExtendedLocation complex type." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the private endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the private endpoint." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/privateEndpoints_privateDnsZoneGroups_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.Network/privateEndpoints" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/privateEndpoints" + }, + "privateEndpoints_privateDnsZoneGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the private dns zone group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateDnsZoneGroupPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the private dns zone group." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/privateEndpoints/privateDnsZoneGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups" + }, + "privateLinkServices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExtendedLocation complex type." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the private link service." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the private link service." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/privateLinkServices_privateEndpointConnections_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.Network/privateLinkServices" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/privateLinkServices" + }, + "privateLinkServices_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the private end point connection." + }, + "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": [ + "Microsoft.Network/privateLinkServices/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + }, + "publicIPAddresses": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExtendedLocation complex type." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the public IP address." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PublicIPAddressPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Public IP address properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/PublicIPAddressSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU of a public IP address." + }, + "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.Network/publicIPAddresses" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/publicIPAddresses" + }, + "publicIPPrefixes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExtendedLocation complex type." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the public IP prefix." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PublicIPPrefixPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Public IP prefix properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/PublicIPPrefixSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU of a public IP prefix." + }, + "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.Network/publicIPPrefixes" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/publicIPPrefixes" + }, + "routeFilters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the route filter." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RouteFilterPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Route Filter Resource." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/routeFilters_routeFilterRules_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.Network/routeFilters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/routeFilters" + }, + "routeFilters_routeFilterRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the route filter rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RouteFilterRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Route Filter Rule Resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/routeFilters/routeFilterRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/routeFilters/routeFilterRules" + }, + "routeTables": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the route table." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RouteTablePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Route Table resource." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/routeTables_routes_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.Network/routeTables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/routeTables" + }, + "routeTables_routes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the route." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RoutePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Route resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/routeTables/routes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/routeTables/routes" + }, + "securityPartnerProviders": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the Security Partner Provider." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityPartnerProviderPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Security Partner Provider." + }, + "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.Network/securityPartnerProviders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/securityPartnerProviders" + }, + "serviceEndpointPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the service endpoint policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceEndpointPolicyPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service Endpoint Policy resource." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/serviceEndpointPolicies_serviceEndpointPolicyDefinitions_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.Network/serviceEndpointPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/serviceEndpointPolicies" + }, + "serviceEndpointPolicies_serviceEndpointPolicyDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the service endpoint policy definition name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceEndpointPolicyDefinitionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service Endpoint policy definition resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/serviceEndpointPolicies/serviceEndpointPolicyDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/serviceEndpointPolicies/serviceEndpointPolicyDefinitions" + }, + "virtualHubs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the VirtualHub." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHubProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VirtualHub." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualHubs_routeMaps_childResource" + }, + { + "$ref": "#/definitions/virtualHubs_hubVirtualNetworkConnections_childResource" + }, + { + "$ref": "#/definitions/virtualHubs_routeTables_childResource" + }, + { + "$ref": "#/definitions/virtualHubs_bgpConnections_childResource" + }, + { + "$ref": "#/definitions/virtualHubs_ipConfigurations_childResource" + }, + { + "$ref": "#/definitions/virtualHubs_hubRouteTables_childResource" + }, + { + "$ref": "#/definitions/virtualHubs_routingIntent_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.Network/virtualHubs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs" + }, + "virtualHubs_bgpConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BgpConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the bgp connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualHubs/bgpConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/bgpConnections" + }, + "virtualHubs_hubRouteTables": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the RouteTable." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/HubRouteTableProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for RouteTable." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualHubs/hubRouteTables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/hubRouteTables" + }, + "virtualHubs_hubVirtualNetworkConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the HubVirtualNetworkConnection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/HubVirtualNetworkConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for HubVirtualNetworkConnection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualHubs/hubVirtualNetworkConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/hubVirtualNetworkConnections" + }, + "virtualHubs_ipConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the ipconfig." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/HubIPConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of IP configuration." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualHubs/ipConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/ipConfigurations" + }, + "virtualHubs_routeMaps": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the RouteMap." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RouteMapProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of RouteMap resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualHubs/routeMaps" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/routeMaps" + }, + "virtualHubs_routeTables": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the VirtualHubRouteTableV2." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHubRouteTableV2Properties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VirtualHubRouteTableV2." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualHubs/routeTables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/routeTables" + }, + "virtualHubs_routingIntent": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the per VirtualHub singleton Routing Intent resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RoutingIntentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a RoutingIntent resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualHubs/routingIntent" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/routingIntent" + }, + "virtualNetworkGateways": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExtendedLocation complex type." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the virtual network gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkGatewayPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VirtualNetworkGateway properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualNetworkGateways_natRules_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.Network/virtualNetworkGateways" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualNetworkGateways" + }, + "virtualNetworkGateways_natRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the nat rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkGatewayNatRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VirtualNetworkGatewayNatRule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualNetworkGateways/natRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualNetworkGateways/natRules" + }, + "virtualNetworks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExtendedLocation complex type." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the virtual network." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the virtual network." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualNetworks_subnets_childResource" + }, + { + "$ref": "#/definitions/virtualNetworks_virtualNetworkPeerings_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.Network/virtualNetworks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualNetworks" + }, + "virtualNetworks_subnets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the subnet." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SubnetPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the subnet." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualNetworks/subnets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualNetworks/subnets" + }, + "virtualNetworks_virtualNetworkPeerings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the peering." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkPeeringPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the virtual network peering." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualNetworks/virtualNetworkPeerings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualNetworks/virtualNetworkPeerings" + }, + "virtualNetworkTaps": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the virtual network tap." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkTapPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Virtual Network Tap properties." + }, + "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.Network/virtualNetworkTaps" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualNetworkTaps" + }, + "virtualRouters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the Virtual Router." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualRouterPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Virtual Router definition." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/virtualRouters_peerings_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.Network/virtualRouters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualRouters" + }, + "virtualRouters_peerings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the Virtual Router Peering." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualRouterPeeringProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the rule group." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualRouters/peerings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualRouters/peerings" + }, + "virtualWans": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the VirtualWAN being created or updated." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualWanProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VirtualWAN." + }, + "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.Network/virtualWans" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualWans" + }, + "vpnGateways": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnGatewayProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnGateway." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vpnGateways_vpnConnections_childResource" + }, + { + "$ref": "#/definitions/vpnGateways_natRules_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.Network/vpnGateways" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/vpnGateways" + }, + "vpnGateways_natRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the nat rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnGatewayNatRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnGatewayNatRule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/vpnGateways/natRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/vpnGateways/natRules" + }, + "vpnGateways_vpnConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnConnection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/vpnGateways/vpnConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/vpnGateways/vpnConnections" + }, + "vpnServerConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the VpnServerConfiguration being created or updated." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnServerConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnServerConfiguration." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vpnServerConfigurations_configurationPolicyGroups_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.Network/vpnServerConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/vpnServerConfigurations" + }, + "vpnServerConfigurations_configurationPolicyGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the ConfigurationPolicyGroup." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnServerConfigurationPolicyGroup." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/vpnServerConfigurations/configurationPolicyGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/vpnServerConfigurations/configurationPolicyGroups" + }, + "vpnSites": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the VpnSite being created or updated." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnSiteProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnSite." + }, + "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.Network/vpnSites" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/vpnSites" + } + }, + "subscription_resourceDefinitions": { + "networkManagerConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name for the network manager connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkManagerConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information about the network manager connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkManagerConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagerConnections" + } + }, + "managementGroup_resourceDefinitions": { + "networkManagerConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name for the network manager connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkManagerConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information about the network manager connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/networkManagerConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagerConnections" + } + }, + "extension_resourceDefinitions": { + "cloudServiceSlots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "enum": [ + "swap" + ], + "description": "Specifies a synthetic resource that cannot be created or deleted. Value must be set to swap." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SwapResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Swap resource properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Network/cloudServiceSlots" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/cloudServiceSlots" + } + }, + "definitions": { + "AadAuthenticationParameters": { + "type": "object", + "properties": { + "aadAudience": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD audience." + }, + "aadIssuer": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD issuer." + }, + "aadTenant": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD tenant." + } + }, + "description": "AAD Vpn authentication type related parameters." + }, + "Action": { + "type": "object", + "properties": { + "parameters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Parameter" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of parameters relevant to the action.For instance if type is drop then parameters has list of prefixes to be dropped.If type is add, parameters would have list of ASN numbers to be added" + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Remove", + "Add", + "Replace", + "Drop" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of action to be taken. Supported types are 'Remove', 'Add', 'Replace', and 'Drop.'." + } + }, + "description": "Action to be taken on a route matching a RouteMap criterion." + }, + "AddressPrefixItem": { + "type": "object", + "properties": { + "addressPrefix": { + "type": "string", + "description": "Address prefix." + }, + "addressPrefixType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPPrefix", + "ServiceTag" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Address prefix type." + } + }, + "description": "Address prefix item." + }, + "AddressSpace": { + "type": "object", + "properties": { + "addressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of address blocks reserved for this virtual network in CIDR notation." + } + }, + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + }, + "AdminPropertiesFormat": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Deny", + "AlwaysAllow" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the access allowed for this particular rule." + }, + "description": { + "type": "string", + "description": "A description for this rule. Restricted to 140 chars." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port ranges." + }, + "destinations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AddressPrefixItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Inbound", + "Outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the traffic matched against the rule in inbound or outbound." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 4096 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The priority of the rule. The value can be between 1 and 4096. 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": [ + "Tcp", + "Udp", + "Icmp", + "Esp", + "Any", + "Ah" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network protocol this rule applies to." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port ranges." + }, + "sources": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AddressPrefixItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CIDR or source IP ranges." + } + }, + "required": [ + "access", + "direction", + "priority", + "protocol" + ], + "description": "Security admin rule resource." + }, + "AdminRule": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "Custom" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdminPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Security admin rule resource." + } + }, + "required": [ + "kind" + ], + "description": "Network admin rule." + }, + "AdminRuleCollectionPropertiesFormat": { + "type": "object", + "properties": { + "appliesToGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkManagerSecurityGroupItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Groups for configuration" + }, + "description": { + "type": "string", + "description": "A description of the admin rule collection." + } + }, + "required": [ + "appliesToGroups" + ], + "description": "Defines the admin rule collection properties." + }, + "ApplicationGatewayAuthenticationCertificate": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the authentication certificate that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificatePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication certificates properties of an application gateway." + } + }, + "description": "Authentication certificates of an application gateway." + }, + "ApplicationGatewayAuthenticationCertificatePropertiesFormat": { + "type": "object", + "properties": { + "data": { + "type": "string", + "description": "Certificate public data." + } + }, + "description": "Authentication certificates properties of an application gateway." + }, + "ApplicationGatewayAutoscaleConfiguration": { + "type": "object", + "properties": { + "maxCapacity": { + "oneOf": [ + { + "type": "integer", + "minimum": 2 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Upper bound on number of Application Gateway capacity." + }, + "minCapacity": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Lower bound on number of Application Gateway capacity." + } + }, + "required": [ + "minCapacity" + ], + "description": "Application Gateway autoscale configuration." + }, + "ApplicationGatewayBackendAddress": { + "type": "object", + "properties": { + "fqdn": { + "type": "string", + "description": "Fully qualified domain name (FQDN)." + }, + "ipAddress": { + "type": "string", + "description": "IP address." + } + }, + "description": "Backend address of an application gateway." + }, + "ApplicationGatewayBackendAddressPool": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the backend address pool that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPoolPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Backend Address Pool of an application gateway." + } + }, + "description": "Backend Address Pool of an application gateway." + }, + "ApplicationGatewayBackendAddressPoolPropertiesFormat": { + "type": "object", + "properties": { + "backendAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendAddress" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backend addresses." + } + }, + "description": "Properties of Backend Address Pool of an application gateway." + }, + "ApplicationGatewayBackendHttpSettings": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the backend http settings that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettingsPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Backend address pool settings of an application gateway." + } + }, + "description": "Backend address pool settings of an application gateway." + }, + "ApplicationGatewayBackendHttpSettingsPropertiesFormat": { + "type": "object", + "properties": { + "affinityCookieName": { + "type": "string", + "description": "Cookie name to use for the affinity cookie." + }, + "authenticationCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of references to application gateway authentication certificates." + }, + "connectionDraining": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayConnectionDraining" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration." + }, + "cookieBasedAffinity": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cookie based affinity." + }, + "hostName": { + "type": "string", + "description": "Host header to be sent to the backend servers." + }, + "path": { + "type": "string", + "description": "Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null." + }, + "pickHostNameFromBackendAddress": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to pick host header should be picked from the host name of the backend server. Default value is false." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port on the backend." + }, + "probe": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "probeEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the probe is enabled. Default value is false." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Https", + "Tcp", + "Tls" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The protocol used to communicate with the backend." + }, + "requestTimeout": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds." + }, + "trustedRootCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of references to application gateway trusted root certificates." + } + }, + "description": "Properties of Backend address pool settings of an application gateway." + }, + "ApplicationGatewayBackendSettings": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the backend settings that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayBackendSettingsPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Backend address pool settings of an application gateway." + } + }, + "description": "Backend address pool settings of an application gateway." + }, + "ApplicationGatewayBackendSettingsPropertiesFormat": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "Server name indication to be sent to the backend servers for Tls protocol." + }, + "pickHostNameFromBackendAddress": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to pick server name indication from the host name of the backend server for Tls protocol. Default value is false." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port on the backend." + }, + "probe": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Https", + "Tcp", + "Tls" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The protocol used to communicate with the backend." + }, + "timeout": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection timeout in seconds. Application Gateway will fail the request if response is not received within ConnectionTimeout. Acceptable values are from 1 second to 86400 seconds." + }, + "trustedRootCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of references to application gateway trusted root certificates." + } + }, + "description": "Properties of Backend address pool settings of an application gateway." + }, + "ApplicationGatewayClientAuthConfiguration": { + "type": "object", + "properties": { + "verifyClientCertIssuerDN": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Verify client certificate issuer name on the application gateway." + }, + "verifyClientRevocation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "OCSP" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Verify client certificate revocation status." + } + }, + "description": "Application gateway client authentication configuration." + }, + "ApplicationGatewayConnectionDraining": { + "type": "object", + "properties": { + "drainTimeoutInSec": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 3600 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether connection draining is enabled or not." + } + }, + "required": [ + "drainTimeoutInSec", + "enabled" + ], + "description": "Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration." + }, + "ApplicationGatewayCustomError": { + "type": "object", + "properties": { + "customErrorPageUrl": { + "type": "string", + "description": "Error page URL of the application gateway custom error." + }, + "statusCode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "HttpStatus400", + "HttpStatus403", + "HttpStatus404", + "HttpStatus405", + "HttpStatus408", + "HttpStatus500", + "HttpStatus502", + "HttpStatus503", + "HttpStatus504" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Status code of the application gateway custom error." + } + }, + "description": "Custom error of an application gateway." + }, + "ApplicationGatewayFirewallDisabledRuleGroup": { + "type": "object", + "properties": { + "ruleGroupName": { + "type": "string", + "description": "The name of the rule group that will be disabled." + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of rules that will be disabled. If null, all rules of the rule group will be disabled." + } + }, + "required": [ + "ruleGroupName" + ], + "description": "Allows to disable rules within a rule group or an entire rule group." + }, + "ApplicationGatewayFirewallExclusion": { + "type": "object", + "properties": { + "matchVariable": { + "type": "string", + "description": "The variable to be excluded." + }, + "selector": { + "type": "string", + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to." + }, + "selectorMatchOperator": { + "type": "string", + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to." + } + }, + "required": [ + "matchVariable", + "selector", + "selectorMatchOperator" + ], + "description": "Allow to exclude some variable satisfy the condition for the WAF check." + }, + "ApplicationGatewayFrontendIPConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the frontend IP configuration that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayFrontendIPConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Frontend IP configuration of an application gateway." + } + }, + "description": "Frontend IP configuration of an application gateway." + }, + "ApplicationGatewayFrontendIPConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "privateIPAddress": { + "type": "string", + "description": "PrivateIPAddress of the network interface IP Configuration." + }, + "privateIPAllocationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Static", + "Dynamic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private IP address allocation method." + }, + "privateLinkConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "publicIPAddress": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of Frontend IP configuration of an application gateway." + }, + "ApplicationGatewayFrontendPort": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the frontend port that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayFrontendPortPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Frontend port of an application gateway." + } + }, + "description": "Frontend port of an application gateway." + }, + "ApplicationGatewayFrontendPortPropertiesFormat": { + "type": "object", + "properties": { + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frontend port." + } + }, + "description": "Properties of Frontend port of an application gateway." + }, + "ApplicationGatewayGlobalConfiguration": { + "type": "object", + "properties": { + "enableRequestBuffering": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable request buffering." + }, + "enableResponseBuffering": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable response buffering." + } + }, + "description": "Application Gateway global configuration." + }, + "ApplicationGatewayHeaderConfiguration": { + "type": "object", + "properties": { + "headerName": { + "type": "string", + "description": "Header name of the header configuration." + }, + "headerValue": { + "type": "string", + "description": "Header value of the header configuration." + } + }, + "description": "Header configuration of the Actions set in Application Gateway." + }, + "ApplicationGatewayHttpListener": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the HTTP listener that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of HTTP listener of an application gateway." + } + }, + "description": "Http listener of an application gateway." + }, + "ApplicationGatewayHttpListenerPropertiesFormat": { + "type": "object", + "properties": { + "customErrorConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayCustomError" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom error configurations of the HTTP listener." + }, + "firewallPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "frontendIPConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "frontendPort": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "hostName": { + "type": "string", + "description": "Host name of HTTP listener." + }, + "hostNames": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Host names for HTTP Listener that allows special wildcard characters as well." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Https", + "Tcp", + "Tls" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protocol of the HTTP listener." + }, + "requireServerNameIndication": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Applicable only if protocol is https. Enables SNI for multi-hosting." + }, + "sslCertificate": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "sslProfile": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of HTTP listener of an application gateway." + }, + "ApplicationGatewayIPConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the IP configuration that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayIPConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of IP configuration of an application gateway." + } + }, + "description": "IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed." + }, + "ApplicationGatewayIPConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of IP configuration of an application gateway." + }, + "ApplicationGatewayListener": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the listener that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayListenerPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of listener of an application gateway." + } + }, + "description": "Listener of an application gateway." + }, + "ApplicationGatewayListenerPropertiesFormat": { + "type": "object", + "properties": { + "frontendIPConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "frontendPort": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Https", + "Tcp", + "Tls" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protocol of the listener." + }, + "sslCertificate": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "sslProfile": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of listener of an application gateway." + }, + "ApplicationGatewayLoadDistributionPolicy": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the load distribution policy that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayLoadDistributionPolicyPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Load Distribution Policy of an application gateway." + } + }, + "description": "Load Distribution Policy of an application gateway." + }, + "ApplicationGatewayLoadDistributionPolicyPropertiesFormat": { + "type": "object", + "properties": { + "loadDistributionAlgorithm": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RoundRobin", + "LeastConnections", + "IpHash" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load Distribution Targets resource of an application gateway." + }, + "loadDistributionTargets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayLoadDistributionTarget" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load Distribution Targets resource of an application gateway." + } + }, + "description": "Properties of Load Distribution Policy of an application gateway." + }, + "ApplicationGatewayLoadDistributionTarget": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the load distribution policy that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayLoadDistributionTargetPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Load Distribution Target of an application gateway." + }, + "ApplicationGatewayLoadDistributionTargetPropertiesFormat": { + "type": "object", + "properties": { + "backendAddressPool": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "weightPerServer": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weight per server. Range between 1 and 100." + } + } + }, + "ApplicationGatewayPathRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the path rule that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayPathRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of path rule of an application gateway." + } + }, + "description": "Path rule of URL path map of an application gateway." + }, + "ApplicationGatewayPathRulePropertiesFormat": { + "type": "object", + "properties": { + "backendAddressPool": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "backendHttpSettings": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "firewallPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "loadDistributionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "paths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Path rules of URL path map." + }, + "redirectConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "rewriteRuleSet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of path rule of an application gateway." + }, + "ApplicationGatewayPrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "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." + } + }, + "description": "Properties of Private Link Resource of an application gateway." + }, + "ApplicationGatewayPrivateLinkConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the private link configuration that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of private link configuration on an application gateway." + } + }, + "description": "Private Link Configuration on an application gateway." + }, + "ApplicationGatewayPrivateLinkConfigurationProperties": { + "type": "object", + "properties": { + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkIpConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of application gateway private link ip configurations." + } + }, + "description": "Properties of private link configuration on an application gateway." + }, + "ApplicationGatewayPrivateLinkIpConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of application gateway private link ip configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkIpConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an application gateway private link IP configuration." + } + }, + "description": "The application gateway private link ip configuration." + }, + "ApplicationGatewayPrivateLinkIpConfigurationProperties": { + "type": "object", + "properties": { + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the ip configuration is primary or not." + }, + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Static", + "Dynamic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private IP address allocation method." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of an application gateway private link IP configuration." + }, + "ApplicationGatewayProbe": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the probe that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayProbePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of probe of an application gateway." + } + }, + "description": "Probe of the application gateway." + }, + "ApplicationGatewayProbeHealthResponseMatch": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "Body that must be contained in the health response. Default value is empty." + }, + "statusCodes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399." + } + }, + "description": "Application gateway probe health response match." + }, + "ApplicationGatewayProbePropertiesFormat": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Host name to send the probe to." + }, + "interval": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds." + }, + "match": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayProbeHealthResponseMatch" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application gateway probe health response match." + }, + "minServers": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum number of servers that are always marked healthy. Default value is 0." + }, + "path": { + "type": "string", + "description": "Relative path of probe. Valid path starts from '/'. Probe is sent to ://:." + }, + "pickHostNameFromBackendHttpSettings": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the host header should be picked from the backend http settings. Default value is false." + }, + "pickHostNameFromBackendSettings": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the server name indication should be picked from the backend settings for Tls protocol. Default value is false." + }, + "port": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65535 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Basic, Standard_v2 and WAF_v2 only." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Https", + "Tcp", + "Tls" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The protocol used for the probe." + }, + "timeout": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds." + }, + "unhealthyThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20." + } + }, + "description": "Properties of probe of an application gateway." + }, + "ApplicationGatewayPropertiesFormat": { + "type": "object", + "properties": { + "authenticationCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "autoscaleConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayAutoscaleConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application Gateway autoscale configuration." + }, + "backendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPool" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "backendHttpSettingsCollection": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "backendSettingsCollection": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backend settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "customErrorConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayCustomError" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom error configurations of the application gateway resource." + }, + "enableFips": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether FIPS is enabled on the application gateway resource." + }, + "enableHttp2": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether HTTP2 is enabled on the application gateway resource." + }, + "firewallPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "forceFirewallPolicyAssociation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config." + }, + "frontendIPConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFrontendIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "frontendPorts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFrontendPort" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "gatewayIPConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "globalConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayGlobalConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application Gateway global configuration." + }, + "httpListeners": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHttpListener" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "listeners": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayListener" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "loadDistributionPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayLoadDistributionPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load distribution policies of the application gateway resource." + }, + "privateLinkConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "PrivateLink configurations on application gateway." + }, + "probes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayProbe" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Probes of the application gateway resource." + }, + "redirectConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRedirectConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "requestRoutingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRequestRoutingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Request routing rules of the application gateway resource." + }, + "rewriteRuleSets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRewriteRuleSet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rewrite rules for the application gateway resource." + }, + "routingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRoutingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Routing rules of the application gateway resource." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewaySku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU of an application gateway." + }, + "sslCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewaySslCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "sslPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewaySslPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application Gateway Ssl policy." + }, + "sslProfiles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewaySslProfile" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSL profiles of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "trustedClientCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayTrustedClientCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Trusted client certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "trustedRootCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "urlPathMaps": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayUrlPathMap" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "webApplicationFirewallConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayWebApplicationFirewallConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application gateway web application firewall configuration." + } + }, + "description": "Properties of the application gateway." + }, + "ApplicationGatewayRedirectConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the redirect configuration that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayRedirectConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of redirect configuration of the application gateway." + } + }, + "description": "Redirect configuration of an application gateway." + }, + "ApplicationGatewayRedirectConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "includePath": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Include path in the redirected url." + }, + "includeQueryString": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Include query string in the redirected url." + }, + "pathRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Path rules specifying redirect configuration." + }, + "redirectType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Permanent", + "Found", + "SeeOther", + "Temporary" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "HTTP redirection type." + }, + "requestRoutingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Request routing specifying redirect configuration." + }, + "targetListener": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "targetUrl": { + "type": "string", + "description": "Url to redirect the request to." + }, + "urlPathMaps": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Url path maps specifying default redirect configuration." + } + }, + "description": "Properties of redirect configuration of the application gateway." + }, + "ApplicationGatewayRequestRoutingRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the request routing rule that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayRequestRoutingRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of request routing rule of the application gateway." + } + }, + "description": "Request routing rule of an application gateway." + }, + "ApplicationGatewayRequestRoutingRulePropertiesFormat": { + "type": "object", + "properties": { + "backendAddressPool": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "backendHttpSettings": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "httpListener": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "loadDistributionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 20000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Priority of the request routing rule." + }, + "redirectConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "rewriteRuleSet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "ruleType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "PathBasedRouting" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rule type." + }, + "urlPathMap": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of request routing rule of the application gateway." + }, + "ApplicationGatewayRewriteRule": { + "type": "object", + "properties": { + "actionSet": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayRewriteRuleActionSet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of actions in the Rewrite Rule in Application Gateway." + }, + "conditions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRewriteRuleCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Conditions based on which the action set execution will be evaluated." + }, + "name": { + "type": "string", + "description": "Name of the rewrite rule that is unique within an Application Gateway." + }, + "ruleSequence": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet." + } + }, + "description": "Rewrite rule of an application gateway." + }, + "ApplicationGatewayRewriteRuleActionSet": { + "type": "object", + "properties": { + "requestHeaderConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Request Header Actions in the Action Set." + }, + "responseHeaderConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Response Header Actions in the Action Set." + }, + "urlConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayUrlConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Url configuration of the Actions set in Application Gateway." + } + }, + "description": "Set of actions in the Rewrite Rule in Application Gateway." + }, + "ApplicationGatewayRewriteRuleCondition": { + "type": "object", + "properties": { + "ignoreCase": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison." + }, + "negate": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Setting this value as truth will force to check the negation of the condition given by the user." + }, + "pattern": { + "type": "string", + "description": "The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition." + }, + "variable": { + "type": "string", + "description": "The condition parameter of the RewriteRuleCondition." + } + }, + "description": "Set of conditions in the Rewrite Rule in Application Gateway." + }, + "ApplicationGatewayRewriteRuleSet": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the rewrite rule set that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayRewriteRuleSetPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of rewrite rule set of the application gateway." + } + }, + "description": "Rewrite rule set of an application gateway." + }, + "ApplicationGatewayRewriteRuleSetPropertiesFormat": { + "type": "object", + "properties": { + "rewriteRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRewriteRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rewrite rules in the rewrite rule set." + } + }, + "description": "Properties of rewrite rule set of the application gateway." + }, + "ApplicationGatewayRoutingRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the routing rule that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayRoutingRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of routing rule of the application gateway." + } + }, + "description": "Routing rule of an application gateway." + }, + "ApplicationGatewayRoutingRulePropertiesFormat": { + "type": "object", + "properties": { + "backendAddressPool": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "backendSettings": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "listener": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 20000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Priority of the routing rule." + }, + "ruleType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "PathBasedRouting" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rule type." + } + }, + "required": [ + "priority" + ], + "description": "Properties of routing rule of the application gateway." + }, + "ApplicationGatewaySku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Capacity (instance count) of an application gateway." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_Small", + "Standard_Medium", + "Standard_Large", + "WAF_Medium", + "WAF_Large", + "Standard_v2", + "WAF_v2", + "Basic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of an application gateway SKU." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "WAF", + "Standard_v2", + "WAF_v2", + "Basic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tier of an application gateway." + } + }, + "description": "SKU of an application gateway." + }, + "ApplicationGatewaySslCertificate": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the SSL certificate that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewaySslCertificatePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of SSL certificates of an application gateway." + } + }, + "description": "SSL certificates of an application gateway." + }, + "ApplicationGatewaySslCertificatePropertiesFormat": { + "type": "object", + "properties": { + "data": { + "type": "string", + "description": "Base-64 encoded pfx certificate. Only applicable in PUT Request." + }, + "keyVaultSecretId": { + "type": "string", + "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault." + }, + "password": { + "type": "string", + "description": "Password for the pfx file specified in data. Only applicable in PUT request." + } + }, + "description": "Properties of SSL certificates of an application gateway." + }, + "ApplicationGatewaySslPolicy": { + "type": "object", + "properties": { + "cipherSuites": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "TLS_RSA_WITH_AES_128_GCM_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA256", + "TLS_RSA_WITH_AES_128_CBC_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ssl cipher suites to be enabled in the specified order to application gateway." + }, + "disabledSslProtocols": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLSv1_0", + "TLSv1_1", + "TLSv1_2", + "TLSv1_3" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ssl protocols to be disabled on application gateway." + }, + "minProtocolVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TLSv1_0", + "TLSv1_1", + "TLSv1_2", + "TLSv1_3" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum version of Ssl protocol to be supported on application gateway." + }, + "policyName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AppGwSslPolicy20150501", + "AppGwSslPolicy20170401", + "AppGwSslPolicy20170401S", + "AppGwSslPolicy20220101", + "AppGwSslPolicy20220101S" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of Ssl predefined policy." + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Predefined", + "Custom", + "CustomV2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of Ssl Policy." + } + }, + "description": "Application Gateway Ssl policy." + }, + "ApplicationGatewaySslProfile": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the SSL profile that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewaySslProfilePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of SSL profile of an application gateway." + } + }, + "description": "SSL profile of an application gateway." + }, + "ApplicationGatewaySslProfilePropertiesFormat": { + "type": "object", + "properties": { + "clientAuthConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayClientAuthConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application gateway client authentication configuration." + }, + "sslPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewaySslPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application Gateway Ssl policy." + }, + "trustedClientCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of references to application gateway trusted client certificates." + } + }, + "description": "Properties of SSL profile of an application gateway." + }, + "applicationGateways_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the application gateway private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Private Link Resource of an application gateway." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/applicationGateways/privateEndpointConnections" + }, + "ApplicationGatewayTrustedClientCertificate": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the trusted client certificate that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayTrustedClientCertificatePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Trusted client certificates properties of an application gateway." + } + }, + "description": "Trusted client certificates of an application gateway." + }, + "ApplicationGatewayTrustedClientCertificatePropertiesFormat": { + "type": "object", + "properties": { + "data": { + "type": "string", + "description": "Certificate public data." + } + }, + "description": "Trusted client certificates properties of an application gateway." + }, + "ApplicationGatewayTrustedRootCertificate": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the trusted root certificate that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificatePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Trusted Root certificates properties of an application gateway." + } + }, + "description": "Trusted Root certificates of an application gateway." + }, + "ApplicationGatewayTrustedRootCertificatePropertiesFormat": { + "type": "object", + "properties": { + "data": { + "type": "string", + "description": "Certificate public data." + }, + "keyVaultSecretId": { + "type": "string", + "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault." + } + }, + "description": "Trusted Root certificates properties of an application gateway." + }, + "ApplicationGatewayUrlConfiguration": { + "type": "object", + "properties": { + "modifiedPath": { + "type": "string", + "description": "Url path which user has provided for url rewrite. Null means no path will be updated. Default value is null." + }, + "modifiedQueryString": { + "type": "string", + "description": "Query string which user has provided for url rewrite. Null means no query string will be updated. Default value is null." + }, + "reroute": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If set as true, it will re-evaluate the url path map provided in path based request routing rules using modified path. Default value is false." + } + }, + "description": "Url configuration of the Actions set in Application Gateway." + }, + "ApplicationGatewayUrlPathMap": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the URL path map that is unique within an Application Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationGatewayUrlPathMapPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of UrlPathMap of the application gateway." + } + }, + "description": "UrlPathMaps give a url path to the backend mapping information for PathBasedRouting." + }, + "ApplicationGatewayUrlPathMapPropertiesFormat": { + "type": "object", + "properties": { + "defaultBackendAddressPool": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "defaultBackendHttpSettings": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "defaultLoadDistributionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "defaultRedirectConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "defaultRewriteRuleSet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "pathRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPathRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Path rule of URL path map resource." + } + }, + "description": "Properties of UrlPathMap of the application gateway." + }, + "ApplicationGatewayWebApplicationFirewallConfiguration": { + "type": "object", + "properties": { + "disabledRuleGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallDisabledRuleGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disabled rule groups." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the web application firewall is enabled or not." + }, + "exclusions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallExclusion" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The exclusion list." + }, + "fileUploadLimitInMb": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum file upload size in Mb for WAF." + }, + "firewallMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Detection", + "Prevention" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Web application firewall mode." + }, + "maxRequestBodySize": { + "oneOf": [ + { + "type": "integer", + "minimum": 8, + "maximum": 128 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum request body size for WAF." + }, + "maxRequestBodySizeInKb": { + "oneOf": [ + { + "type": "integer", + "minimum": 8, + "maximum": 128 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum request body size in Kb for WAF." + }, + "requestBodyCheck": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether allow WAF to check request Body." + }, + "ruleSetType": { + "type": "string", + "description": "The type of the web application firewall rule set. Possible values are: 'OWASP'." + }, + "ruleSetVersion": { + "type": "string", + "description": "The version of the rule set type." + } + }, + "required": [ + "enabled", + "firewallMode", + "ruleSetType", + "ruleSetVersion" + ], + "description": "Application gateway web application firewall configuration." + }, + "ApplicationRule": { + "type": "object", + "properties": { + "destinationAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination IP addresses or Service Tags." + }, + "fqdnTags": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of FQDN Tags for this rule." + }, + "httpHeadersToInsert": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyHttpHeaderToInsert" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of HTTP/S headers to insert." + }, + "protocols": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleApplicationProtocol" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of Application Protocols." + }, + "ruleType": { + "type": "string", + "enum": [ + "ApplicationRule" + ] + }, + "sourceAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IP addresses for this rule." + }, + "sourceIpGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IpGroups for this rule." + }, + "targetFqdns": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of FQDNs for this rule." + }, + "targetUrls": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Urls for this rule condition." + }, + "terminateTLS": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Terminate TLS connections for this rule." + }, + "webCategories": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination azure web categories." + } + }, + "required": [ + "ruleType" + ], + "description": "Rule of type application." + }, + "ApplicationSecurityGroup": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationSecurityGroupPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application security group properties." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + } + }, + "description": "An application security group in a resource group." + }, + "ApplicationSecurityGroupPropertiesFormat": { + "type": "object", + "properties": {}, + "description": "Application security group properties." + }, + "AuthorizationPropertiesFormat": { + "type": "object", + "properties": { + "authorizationKey": { + "type": "string", + "description": "The authorization key." + }, + "authorizationUseStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Available", + "InUse" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The authorization use status." + } + }, + "description": "Properties of ExpressRouteCircuitAuthorization." + }, + "AzureFirewallApplicationRule": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the rule." + }, + "fqdnTags": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of FQDN Tags for this rule." + }, + "name": { + "type": "string", + "description": "Name of the application rule." + }, + "protocols": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallApplicationRuleProtocol" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of ApplicationRuleProtocols." + }, + "sourceAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IP addresses for this rule." + }, + "sourceIpGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IpGroups for this rule." + }, + "targetFqdns": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of FQDNs for this rule." + } + }, + "description": "Properties of an application rule." + }, + "AzureFirewallApplicationRuleCollection": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFirewallApplicationRuleCollectionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the application rule collection." + } + }, + "description": "Application rule collection resource." + }, + "AzureFirewallApplicationRuleCollectionPropertiesFormat": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFirewallRCAction" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the AzureFirewallRCAction." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 100, + "maximum": 65000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Priority of the application rule collection resource." + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallApplicationRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of rules used by a application rule collection." + } + }, + "description": "Properties of the application rule collection." + }, + "AzureFirewallApplicationRuleProtocol": { + "type": "object", + "properties": { + "port": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 64000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port number for the protocol, cannot be greater than 64000. This field is optional." + }, + "protocolType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Https", + "Mssql" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protocol type." + } + }, + "description": "Properties of the application rule protocol." + }, + "AzureFirewallIPConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFirewallIPConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of IP configuration of an Azure Firewall." + } + }, + "description": "IP configuration of an Azure Firewall." + }, + "AzureFirewallIPConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "publicIPAddress": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of IP configuration of an Azure Firewall." + }, + "AzureFirewallNatRCAction": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Snat", + "Dnat" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of action." + } + }, + "description": "AzureFirewall NAT Rule Collection Action." + }, + "AzureFirewallNatRule": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the rule." + }, + "destinationAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags." + }, + "destinationPorts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination ports." + }, + "name": { + "type": "string", + "description": "Name of the NAT rule." + }, + "protocols": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "TCP", + "UDP", + "Any", + "ICMP" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule." + }, + "sourceAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IP addresses for this rule." + }, + "sourceIpGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IpGroups for this rule." + }, + "translatedAddress": { + "type": "string", + "description": "The translated address for this NAT rule." + }, + "translatedFqdn": { + "type": "string", + "description": "The translated FQDN for this NAT rule." + }, + "translatedPort": { + "type": "string", + "description": "The translated port for this NAT rule." + } + }, + "description": "Properties of a NAT rule." + }, + "AzureFirewallNatRuleCollection": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFirewallNatRuleCollectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the NAT rule collection." + } + }, + "description": "NAT rule collection resource." + }, + "AzureFirewallNatRuleCollectionProperties": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFirewallNatRCAction" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AzureFirewall NAT Rule Collection Action." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 100, + "maximum": 65000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Priority of the NAT rule collection resource." + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNatRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of rules used by a NAT rule collection." + } + }, + "description": "Properties of the NAT rule collection." + }, + "AzureFirewallNetworkRule": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the rule." + }, + "destinationAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination IP addresses." + }, + "destinationFqdns": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination FQDNs." + }, + "destinationIpGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination IpGroups for this rule." + }, + "destinationPorts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination ports." + }, + "name": { + "type": "string", + "description": "Name of the network rule." + }, + "protocols": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "TCP", + "UDP", + "Any", + "ICMP" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of AzureFirewallNetworkRuleProtocols." + }, + "sourceAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IP addresses for this rule." + }, + "sourceIpGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IpGroups for this rule." + } + }, + "description": "Properties of the network rule." + }, + "AzureFirewallNetworkRuleCollection": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFirewallNetworkRuleCollectionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the network rule collection." + } + }, + "description": "Network rule collection resource." + }, + "AzureFirewallNetworkRuleCollectionPropertiesFormat": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFirewallRCAction" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the AzureFirewallRCAction." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 100, + "maximum": 65000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Priority of the network rule collection resource." + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNetworkRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of rules used by a network rule collection." + } + }, + "description": "Properties of the network rule collection." + }, + "AzureFirewallPropertiesFormat": { + "type": "object", + "properties": { + "additionalProperties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The additional properties of azure firewall." + }, + "applicationRuleCollections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallApplicationRuleCollection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of application rule collections used by Azure Firewall." + }, + "firewallPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "hubIPAddresses": { + "oneOf": [ + { + "$ref": "#/definitions/HubIPAddresses" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IP addresses associated with azure firewall." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IP configuration of the Azure Firewall resource." + }, + "managementIpConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFirewallIPConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IP configuration of an Azure Firewall." + }, + "natRuleCollections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNatRuleCollection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of NAT rule collections used by Azure Firewall." + }, + "networkRuleCollections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNetworkRuleCollection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of network rule collections used by Azure Firewall." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFirewallSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU of an Azure Firewall." + }, + "threatIntelMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Alert", + "Deny", + "Off" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The operation mode for Threat Intelligence." + }, + "virtualHub": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of the Azure Firewall." + }, + "AzureFirewallPublicIPAddress": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Public IP Address value." + } + }, + "description": "Public IP Address associated with azure firewall." + }, + "AzureFirewallRCAction": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of action." + } + }, + "description": "Properties of the AzureFirewallRCAction." + }, + "AzureFirewallSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AZFW_VNet", + "AZFW_Hub" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of an Azure Firewall SKU." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "Basic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tier of an Azure Firewall." + } + }, + "description": "SKU of an Azure Firewall." + }, + "BackendAddressPool": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackendAddressPoolPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the backend address pool." + } + }, + "description": "Pool of backend IP addresses." + }, + "BackendAddressPoolPropertiesFormat": { + "type": "object", + "properties": { + "drainPeriodInSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Amount of seconds Load Balancer waits for before sending RESET to client and backend address." + }, + "loadBalancerBackendAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerBackendAddress" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of backend addresses." + }, + "location": { + "type": "string", + "description": "The location of the backend address pool." + }, + "syncMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Automatic", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backend address synchronous mode for the backend pool." + }, + "tunnelInterfaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayLoadBalancerTunnelInterface" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of gateway load balancer tunnel interfaces." + }, + "virtualNetwork": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of the backend address pool." + }, + "BastionHostIPConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BastionHostIPConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of IP configuration of an Bastion Host." + } + }, + "description": "IP configuration of an Bastion Host." + }, + "BastionHostIPConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "privateIPAllocationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Static", + "Dynamic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private IP allocation method." + }, + "publicIPAddress": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "required": [ + "publicIPAddress", + "subnet" + ], + "description": "Properties of IP configuration of an Bastion Host." + }, + "BastionHostPropertiesFormat": { + "type": "object", + "properties": { + "disableCopyPaste": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable/Disable Copy/Paste feature of the Bastion Host resource." + }, + "dnsName": { + "type": "string", + "description": "FQDN for the endpoint on which bastion host is accessible." + }, + "enableFileCopy": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable/Disable File Copy feature of the Bastion Host resource." + }, + "enableIpConnect": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable/Disable IP Connect feature of the Bastion Host resource." + }, + "enableKerberos": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable/Disable Kerberos feature of the Bastion Host resource." + }, + "enableShareableLink": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable/Disable Shareable Link of the Bastion Host resource." + }, + "enableTunneling": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable/Disable Tunneling feature of the Bastion Host resource." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/BastionHostIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IP configuration of the Bastion Host resource." + }, + "networkAcls": { + "oneOf": [ + { + "$ref": "#/definitions/BastionHostPropertiesFormatNetworkAcls" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "scaleUnits": { + "oneOf": [ + { + "type": "integer", + "minimum": 2, + "maximum": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The scale units for the Bastion Host resource." + }, + "virtualNetwork": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of the Bastion Host." + }, + "BastionHostPropertiesFormatNetworkAcls": { + "type": "object", + "properties": { + "ipRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sets the IP ACL rules for Developer Bastion Host." + } + } + }, + "BgpConnectionProperties": { + "type": "object", + "properties": { + "hubVirtualNetworkConnection": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "peerAsn": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Peer ASN." + }, + "peerIp": { + "type": "string", + "description": "Peer IP." + } + }, + "description": "Properties of the bgp connection." + }, + "BgpSettings": { + "type": "object", + "properties": { + "asn": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The BGP speaker's ASN." + }, + "bgpPeeringAddress": { + "type": "string", + "description": "The BGP peering address and BGP identifier of this BGP speaker." + }, + "bgpPeeringAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPConfigurationBgpPeeringAddress" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "BGP peering address with IP configuration ID for virtual network gateway." + }, + "peerWeight": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The weight added to routes learned from this BGP speaker." + } + }, + "description": "BGP settings details." + }, + "BreakOutCategoryPolicies": { + "type": "object", + "properties": { + "allow": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to control breakout of o365 allow category." + }, + "default": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to control breakout of o365 default category." + }, + "optimize": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to control breakout of o365 optimize category." + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "Components1jq1t4ischemasmanagedserviceidentitypropertiesuserassignedidentitiesadditionalproperties": { + "type": "object", + "properties": {} + }, + "ConnectionMonitorDestination": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Address of the connection monitor destination (IP or domain name)." + }, + "port": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 65535 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port used by connection monitor." + }, + "resourceId": { + "type": "string", + "description": "The ID of the resource used as the destination by connection monitor." + } + }, + "description": "Describes the destination of connection monitor." + }, + "ConnectionMonitorEndpoint": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Address of the connection monitor endpoint (IP or domain name)." + }, + "coverageLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Low", + "BelowAverage", + "Average", + "AboveAverage", + "Full" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Test coverage for the endpoint." + }, + "filter": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionMonitorEndpointFilter" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the connection monitor endpoint filter." + }, + "name": { + "type": "string", + "description": "The name of the connection monitor endpoint." + }, + "resourceId": { + "type": "string", + "description": "Resource ID of the connection monitor endpoint." + }, + "scope": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionMonitorEndpointScope" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the connection monitor endpoint scope." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureVM", + "AzureVNet", + "AzureSubnet", + "ExternalAddress", + "MMAWorkspaceMachine", + "MMAWorkspaceNetwork", + "AzureArcVM", + "AzureVMSS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The endpoint type." + } + }, + "required": [ + "name" + ], + "description": "Describes the connection monitor endpoint." + }, + "ConnectionMonitorEndpointFilter": { + "type": "object", + "properties": { + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpointFilterItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of items in the filter." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Include" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The behavior of the endpoint filter. Currently only 'Include' is supported." + } + }, + "description": "Describes the connection monitor endpoint filter." + }, + "ConnectionMonitorEndpointFilterItem": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The address of the filter item." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AgentAddress" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of item included in the filter. Currently only 'AgentAddress' is supported." + } + }, + "description": "Describes the connection monitor endpoint filter item." + }, + "ConnectionMonitorEndpointScope": { + "type": "object", + "properties": { + "exclude": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpointScopeItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of items which needs to be excluded from the endpoint scope." + }, + "include": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpointScopeItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of items which needs to be included to the endpoint scope." + } + }, + "description": "Describes the connection monitor endpoint scope." + }, + "ConnectionMonitorEndpointScopeItem": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address." + } + }, + "description": "Describes the connection monitor endpoint scope item." + }, + "ConnectionMonitorHttpConfiguration": { + "type": "object", + "properties": { + "method": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Get", + "Post" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The HTTP method to use." + }, + "path": { + "type": "string", + "description": "The path component of the URI. For instance, \"/dir1/dir2\"." + }, + "port": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 65535 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port to connect to." + }, + "preferHTTPS": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit." + }, + "requestHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/HTTPHeader" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The HTTP headers to transmit with the request." + }, + "validStatusCodeRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "HTTP status codes to consider successful. For instance, \"2xx,301-304,418\"." + } + }, + "description": "Describes the HTTP configuration." + }, + "ConnectionMonitorIcmpConfiguration": { + "type": "object", + "properties": { + "disableTraceRoute": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Value indicating whether path evaluation with trace route should be disabled." + } + }, + "description": "Describes the ICMP configuration." + }, + "ConnectionMonitorOutput": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Workspace" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection monitor output destination type. Currently, only \"Workspace\" is supported." + }, + "workspaceSettings": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionMonitorWorkspaceSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the settings for producing output into a log analytics workspace." + } + }, + "description": "Describes a connection monitor output destination." + }, + "ConnectionMonitorParameters": { + "type": "object", + "properties": { + "autoStart": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines if the connection monitor will start automatically once created." + }, + "destination": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionMonitorDestination" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the destination of connection monitor." + }, + "endpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of connection monitor endpoints." + }, + "monitoringIntervalInSeconds": { + "oneOf": [ + { + "type": "integer", + "minimum": 30, + "maximum": 1800, + "default": "60" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monitoring interval in seconds." + }, + "notes": { + "type": "string", + "description": "Optional notes to be associated with the connection monitor." + }, + "outputs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionMonitorOutput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of connection monitor outputs." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionMonitorSource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the source of connection monitor." + }, + "testConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionMonitorTestConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of connection monitor test configurations." + }, + "testGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionMonitorTestGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of connection monitor test groups." + } + }, + "description": "Parameters that define the operation to create a connection monitor." + }, + "ConnectionMonitorSource": { + "type": "object", + "properties": { + "port": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 65535 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The source port used by connection monitor." + }, + "resourceId": { + "type": "string", + "description": "The ID of the resource used as the source by connection monitor." + } + }, + "required": [ + "resourceId" + ], + "description": "Describes the source of connection monitor." + }, + "ConnectionMonitorSuccessThreshold": { + "type": "object", + "properties": { + "checksFailedPercent": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum percentage of failed checks permitted for a test to evaluate as successful." + }, + "roundTripTimeMs": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum round-trip time in milliseconds permitted for a test to evaluate as successful." + } + }, + "description": "Describes the threshold for declaring a test successful." + }, + "ConnectionMonitorTcpConfiguration": { + "type": "object", + "properties": { + "destinationPortBehavior": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ListenIfAvailable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Destination port behavior." + }, + "disableTraceRoute": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Value indicating whether path evaluation with trace route should be disabled." + }, + "port": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 65535 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port to connect to." + } + }, + "description": "Describes the TCP configuration." + }, + "ConnectionMonitorTestConfiguration": { + "type": "object", + "properties": { + "httpConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionMonitorHttpConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the HTTP configuration." + }, + "icmpConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionMonitorIcmpConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the ICMP configuration." + }, + "name": { + "type": "string", + "description": "The name of the connection monitor test configuration." + }, + "preferredIPVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Tcp", + "Http", + "Icmp" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The protocol to use in test evaluation." + }, + "successThreshold": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionMonitorSuccessThreshold" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the threshold for declaring a test successful." + }, + "tcpConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionMonitorTcpConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the TCP configuration." + }, + "testFrequencySec": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The frequency of test evaluation, in seconds." + } + }, + "required": [ + "name", + "protocol" + ], + "description": "Describes a connection monitor test configuration." + }, + "ConnectionMonitorTestGroup": { + "type": "object", + "properties": { + "destinations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination endpoint names." + }, + "disable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Value indicating whether test group is disabled." + }, + "name": { + "type": "string", + "description": "The name of the connection monitor test group." + }, + "sources": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source endpoint names." + }, + "testConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of test configuration names." + } + }, + "required": [ + "destinations", + "name", + "sources", + "testConfigurations" + ], + "description": "Describes the connection monitor test group." + }, + "ConnectionMonitorWorkspaceSettings": { + "type": "object", + "properties": { + "workspaceResourceId": { + "type": "string", + "description": "Log analytics workspace resource ID." + } + }, + "description": "Describes the settings for producing output into a log analytics workspace." + }, + "connections_sharedkey_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "enum": [ + "sharedkey" + ] + }, + "type": { + "type": "string", + "enum": [ + "sharedkey" + ] + }, + "value": { + "type": "string", + "description": "The virtual network connection shared key value." + } + }, + "required": [ + "apiVersion", + "name", + "type", + "value" + ], + "description": "Microsoft.Network/connections/sharedkey" + }, + "ConnectivityConfigurationProperties": { + "type": "object", + "properties": { + "appliesToGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectivityGroupItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Groups for configuration" + }, + "connectivityTopology": { + "oneOf": [ + { + "type": "string", + "enum": [ + "HubAndSpoke", + "Mesh" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connectivity topology type." + }, + "deleteExistingPeering": { + "oneOf": [ + { + "type": "string", + "enum": [ + "False", + "True" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag if need to remove current existing peerings." + }, + "description": { + "type": "string", + "description": "A description of the connectivity configuration." + }, + "hubs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Hub" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of hubItems" + }, + "isGlobal": { + "oneOf": [ + { + "type": "string", + "enum": [ + "False", + "True" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag if global mesh is supported." + } + }, + "required": [ + "appliesToGroups", + "connectivityTopology" + ], + "description": "Properties of network manager connectivity configuration" + }, + "ConnectivityGroupItem": { + "type": "object", + "properties": { + "groupConnectivity": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "DirectlyConnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Group connectivity type." + }, + "isGlobal": { + "oneOf": [ + { + "type": "string", + "enum": [ + "False", + "True" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag if global is supported." + }, + "networkGroupId": { + "type": "string", + "description": "Network group Id." + }, + "useHubGateway": { + "oneOf": [ + { + "type": "string", + "enum": [ + "False", + "True" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag if need to use hub gateway." + } + }, + "required": [ + "groupConnectivity", + "networkGroupId" + ], + "description": "Connectivity group item." + }, + "ContainerNetworkInterfaceConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerNetworkInterfaceConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container network interface configuration properties." + } + }, + "description": "Container network interface configuration child resource." + }, + "ContainerNetworkInterfaceConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "containerNetworkInterfaces": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of container network interfaces created from this container network interface configuration." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPConfigurationProfile" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of ip configurations of the container network interface configuration." + } + }, + "description": "Container network interface configuration properties." + }, + "Criterion": { + "type": "object", + "properties": { + "asPath": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of AS paths which this criteria matches." + }, + "community": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of BGP communities which this criteria matches." + }, + "matchCondition": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Contains", + "Equals", + "NotContains", + "NotEquals" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Match condition to apply RouteMap rules." + }, + "routePrefix": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of route prefixes which this criteria matches." + } + }, + "description": "A matching criteria which matches routes based on route prefix, community, and AS path." + }, + "CustomDnsConfigPropertiesFormat": { + "type": "object", + "properties": { + "fqdn": { + "type": "string", + "description": "Fqdn that resolves to private endpoint ip address." + }, + "ipAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of private ip addresses of the private endpoint." + } + }, + "description": "Contains custom Dns resolution configuration from customer." + }, + "CustomIpPrefixPropertiesFormat": { + "type": "object", + "properties": { + "asn": { + "type": "string", + "description": "The ASN for CIDR advertising. Should be an integer as string." + }, + "authorizationMessage": { + "type": "string", + "description": "Authorization message for WAN validation." + }, + "cidr": { + "type": "string", + "description": "The prefix range in CIDR notation. Should include the start address and the prefix length." + }, + "commissionedState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Provisioning", + "Provisioned", + "Commissioning", + "CommissionedNoInternetAdvertise", + "Commissioned", + "Decommissioning", + "Deprovisioning", + "Deprovisioned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The commissioned state of the Custom IP Prefix." + }, + "customIpPrefixParent": { + "oneOf": [ + { + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "expressRouteAdvertise": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to do express route advertise." + }, + "geo": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GLOBAL", + "AFRI", + "APAC", + "EURO", + "LATAM", + "NAM", + "ME", + "OCEANIA", + "AQ" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Geo for CIDR advertising. Should be an Geo code." + }, + "noInternetAdvertise": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to Advertise the range to Internet." + }, + "prefixType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Singular", + "Parent", + "Child" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of custom IP prefix. Should be Singular, Parent, or Child." + }, + "signedMessage": { + "type": "string", + "description": "Signed message for WAN validation." + } + }, + "description": "Custom IP prefix properties." + }, + "DdosCustomPolicyPropertiesFormat": { + "type": "object", + "properties": {}, + "description": "DDoS custom policy properties." + }, + "DdosProtectionPlanPropertiesFormat": { + "type": "object", + "properties": {}, + "description": "DDoS protection plan properties." + }, + "DdosSettings": { + "type": "object", + "properties": { + "ddosProtectionPlan": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "protectionMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "VirtualNetworkInherited", + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The DDoS protection mode of the public IP." + } + }, + "description": "Contains the DDoS protection settings of the public IP." + }, + "DefaultAdminPropertiesFormat": { + "type": "object", + "properties": { + "flag": { + "type": "string", + "description": "Default rule flag." + } + }, + "description": "Security default admin rule resource." + }, + "DefaultAdminRule": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "Default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DefaultAdminPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Security default admin rule resource." + } + }, + "required": [ + "kind" + ], + "description": "Network default admin rule." + }, + "Delegation": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a subnet. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceDelegationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a service delegation." + }, + "type": { + "type": "string", + "description": "Resource type." + } + }, + "description": "Details the service to which the subnet is delegated." + }, + "DelegationProperties": { + "type": "object", + "properties": { + "serviceName": { + "type": "string", + "description": "The service name to which the NVA is delegated." + } + }, + "description": "Properties of the delegation." + }, + "DeviceProperties": { + "type": "object", + "properties": { + "deviceModel": { + "type": "string", + "description": "Model of the device." + }, + "deviceVendor": { + "type": "string", + "description": "Name of the device Vendor." + }, + "linkSpeedInMbps": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Link speed." + } + }, + "description": "List of properties of the device." + }, + "DhcpOptions": { + "type": "object", + "properties": { + "dnsServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of DNS servers IP addresses." + } + }, + "description": "DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP options." + }, + "DnsSettings": { + "type": "object", + "properties": { + "enableProxy": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable DNS Proxy on Firewalls attached to the Firewall Policy." + }, + "requireProxyForNetworkRules": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "FQDNs in Network Rules are supported when set to true." + }, + "servers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Custom DNS Servers." + } + }, + "description": "DNS Proxy Settings in Firewall Policy." + }, + "DscpConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "destinationIpRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/QosIpRange" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Destination IP ranges." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/QosPortRange" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Destination port ranges." + }, + "markings": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of markings to be used in the configuration." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DoNotUse", + "Icmp", + "Tcp", + "Udp", + "Gre", + "Esp", + "Ah", + "Vxlan", + "All" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "RNM supported protocol types." + }, + "qosDefinitionCollection": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/QosDefinition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "QoS object definitions" + }, + "sourceIpRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/QosIpRange" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source IP ranges." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/QosPortRange" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sources port ranges." + } + }, + "description": "Differentiated Services Code Point configuration properties." + }, + "ExclusionManagedRule": { + "type": "object", + "properties": { + "ruleId": { + "type": "string", + "description": "Identifier for the managed rule." + } + }, + "required": [ + "ruleId" + ], + "description": "Defines a managed rule to use for exclusion." + }, + "ExclusionManagedRuleGroup": { + "type": "object", + "properties": { + "ruleGroupName": { + "type": "string", + "description": "The managed rule group for exclusion." + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExclusionManagedRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules that will be excluded. If none specified, all rules in the group will be excluded." + } + }, + "required": [ + "ruleGroupName" + ], + "description": "Defines a managed rule group to use for exclusion." + }, + "ExclusionManagedRuleSet": { + "type": "object", + "properties": { + "ruleGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExclusionManagedRuleGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the rule groups to apply to the rule set." + }, + "ruleSetType": { + "type": "string", + "description": "Defines the rule set type to use." + }, + "ruleSetVersion": { + "type": "string", + "description": "Defines the version of the rule set to use." + } + }, + "required": [ + "ruleSetType", + "ruleSetVersion" + ], + "description": "Defines a managed rule set for Exclusions." + }, + "ExplicitProxy": { + "type": "object", + "properties": { + "enableExplicitProxy": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When set to true, explicit proxy mode is enabled." + }, + "enablePacFile": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When set to true, pac file port and url needs to be provided." + }, + "httpPort": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 64000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port number for explicit proxy http protocol, cannot be greater than 64000." + }, + "httpsPort": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 64000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port number for explicit proxy https protocol, cannot be greater than 64000." + }, + "pacFile": { + "type": "string", + "description": "SAS URL for PAC file." + }, + "pacFilePort": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 64000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port number for firewall to serve PAC file." + } + }, + "description": "Explicit Proxy Settings in Firewall Policy." + }, + "ExpressRouteCircuitAuthorization": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of ExpressRouteCircuitAuthorization." + } + }, + "description": "Authorization in an ExpressRouteCircuit resource." + }, + "ExpressRouteCircuitConnection": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitConnectionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the express route circuit connection." + } + }, + "description": "Express Route Circuit Connection in an ExpressRouteCircuitPeering resource." + }, + "ExpressRouteCircuitConnectionPropertiesFormat": { + "type": "object", + "properties": { + "addressPrefix": { + "type": "string", + "description": "/29 IP address space to carve out Customer addresses for tunnels." + }, + "authorizationKey": { + "type": "string", + "description": "The authorization key." + }, + "circuitConnectionStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Connected", + "Connecting", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Express Route Circuit connection state." + }, + "expressRouteCircuitPeering": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "ipv6CircuitConnectionConfig": { + "oneOf": [ + { + "$ref": "#/definitions/Ipv6CircuitConnectionConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IPv6 Circuit Connection properties for global reach." + }, + "peerExpressRouteCircuitPeering": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of the express route circuit connection." + }, + "ExpressRouteCircuitPeering": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitPeeringPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the express route circuit peering." + } + }, + "description": "Peering in an ExpressRouteCircuit resource." + }, + "ExpressRouteCircuitPeeringConfig": { + "type": "object", + "properties": { + "advertisedCommunities": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The communities of bgp peering. Specified for microsoft peering." + }, + "advertisedPublicPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The reference to AdvertisedPublicPrefixes." + }, + "customerASN": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CustomerASN of the peering." + }, + "legacyMode": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The legacy mode of the peering." + }, + "routingRegistryName": { + "type": "string", + "description": "The RoutingRegistryName of the configuration." + } + }, + "description": "Specifies the peering configuration." + }, + "ExpressRouteCircuitPeeringId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the ExpressRoute circuit peering." + } + }, + "description": "ExpressRoute circuit peering identifier." + }, + "ExpressRouteCircuitPeeringPropertiesFormat": { + "type": "object", + "properties": { + "azureASN": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Azure ASN." + }, + "connections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of circuit connections associated with Azure Private Peering for this circuit." + }, + "expressRouteConnection": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteConnectionId" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The ID of the ExpressRouteConnection." + }, + "gatewayManagerEtag": { + "type": "string", + "description": "The GatewayManager Etag." + }, + "ipv6PeeringConfig": { + "oneOf": [ + { + "$ref": "#/definitions/Ipv6ExpressRouteCircuitPeeringConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Contains IPv6 peering config." + }, + "microsoftPeeringConfig": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the peering configuration." + }, + "peerASN": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 4294967295 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The peer ASN." + }, + "peeringType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzurePublicPeering", + "AzurePrivatePeering", + "MicrosoftPeering" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The peering type." + }, + "primaryAzurePort": { + "type": "string", + "description": "The primary port." + }, + "primaryPeerAddressPrefix": { + "type": "string", + "description": "The primary address prefix." + }, + "routeFilter": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "secondaryAzurePort": { + "type": "string", + "description": "The secondary port." + }, + "secondaryPeerAddressPrefix": { + "type": "string", + "description": "The secondary address prefix." + }, + "sharedKey": { + "type": "string", + "description": "The shared key." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The peering state." + }, + "stats": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitStats" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Contains stats associated with the peering." + }, + "vlanId": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The VLAN ID." + } + }, + "description": "Properties of the express route circuit peering." + }, + "ExpressRouteCircuitPropertiesFormat": { + "type": "object", + "properties": { + "allowClassicOperations": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allow classic operations." + }, + "authorizationKey": { + "type": "string", + "description": "The authorizationKey." + }, + "authorizations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of authorizations." + }, + "bandwidthInGbps": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource." + }, + "circuitProvisioningState": { + "type": "string", + "description": "The CircuitProvisioningState state of the resource." + }, + "expressRoutePort": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "gatewayManagerEtag": { + "type": "string", + "description": "The GatewayManager Etag." + }, + "globalReachEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag denoting global reach status." + }, + "peerings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of peerings." + }, + "serviceKey": { + "type": "string", + "description": "The ServiceKey." + }, + "serviceProviderNotes": { + "type": "string", + "description": "The ServiceProviderNotes." + }, + "serviceProviderProperties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitServiceProviderProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Contains ServiceProviderProperties in an ExpressRouteCircuit." + }, + "serviceProviderProvisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotProvisioned", + "Provisioning", + "Provisioned", + "Deprovisioning" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The ServiceProviderProvisioningState state of the resource." + } + }, + "description": "Properties of ExpressRouteCircuit." + }, + "ExpressRouteCircuitReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Corresponding Express Route Circuit Id." + } + }, + "description": "Reference to an express route circuit." + }, + "ExpressRouteCircuitServiceProviderProperties": { + "type": "object", + "properties": { + "bandwidthInMbps": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The BandwidthInMbps." + }, + "peeringLocation": { + "type": "string", + "description": "The peering location." + }, + "serviceProviderName": { + "type": "string", + "description": "The serviceProviderName." + } + }, + "description": "Contains ServiceProviderProperties in an ExpressRouteCircuit." + }, + "ExpressRouteCircuitSku": { + "type": "object", + "properties": { + "family": { + "oneOf": [ + { + "type": "string", + "enum": [ + "UnlimitedData", + "MeteredData" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The family of the SKU." + }, + "name": { + "type": "string", + "description": "The name of the SKU." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "Basic", + "Local" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tier of the SKU." + } + }, + "description": "Contains SKU in an ExpressRouteCircuit." + }, + "ExpressRouteCircuitStats": { + "type": "object", + "properties": { + "primarybytesIn": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Primary BytesIn of the peering." + }, + "primarybytesOut": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The primary BytesOut of the peering." + }, + "secondarybytesIn": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The secondary BytesIn of the peering." + }, + "secondarybytesOut": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The secondary BytesOut of the peering." + } + }, + "description": "Contains stats associated with the peering." + }, + "expressRouteCircuits_authorizations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the authorization." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthorizationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of ExpressRouteCircuitAuthorization." + }, + "type": { + "type": "string", + "enum": [ + "authorizations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRouteCircuits/authorizations" + }, + "expressRouteCircuits_peerings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the peering." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitPeeringPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the express route circuit peering." + }, + "type": { + "type": "string", + "enum": [ + "peerings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRouteCircuits/peerings" + }, + "expressRouteCircuits_peerings_connections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the express route circuit connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitConnectionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the express route circuit connection." + }, + "type": { + "type": "string", + "enum": [ + "connections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRouteCircuits/peerings/connections" + }, + "ExpressRouteConnection": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the ExpressRouteConnection subresource." + } + }, + "required": [ + "name" + ], + "description": "ExpressRouteConnection resource." + }, + "ExpressRouteConnectionId": { + "type": "object", + "properties": {}, + "description": "The ID of the ExpressRouteConnection." + }, + "ExpressRouteConnectionProperties": { + "type": "object", + "properties": { + "authorizationKey": { + "type": "string", + "description": "Authorization key to establish the connection." + }, + "enableInternetSecurity": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable internet security." + }, + "enablePrivateLinkFastPath": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled." + }, + "expressRouteCircuitPeering": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitPeeringId" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExpressRoute circuit peering identifier." + }, + "expressRouteGatewayBypass": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable FastPath to vWan Firewall hub." + }, + "routingConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/RoutingConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Routing Configuration indicating the associated and propagated route tables for this connection." + }, + "routingWeight": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The routing weight associated to the connection." + } + }, + "required": [ + "expressRouteCircuitPeering" + ], + "description": "Properties of the ExpressRouteConnection subresource." + }, + "ExpressRouteCrossConnectionPeering": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of express route cross connection peering." + } + }, + "description": "Peering in an ExpressRoute Cross Connection resource." + }, + "ExpressRouteCrossConnectionPeeringProperties": { + "type": "object", + "properties": { + "gatewayManagerEtag": { + "type": "string", + "description": "The GatewayManager Etag." + }, + "ipv6PeeringConfig": { + "oneOf": [ + { + "$ref": "#/definitions/Ipv6ExpressRouteCircuitPeeringConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Contains IPv6 peering config." + }, + "microsoftPeeringConfig": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the peering configuration." + }, + "peerASN": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 4294967295 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The peer ASN." + }, + "peeringType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzurePublicPeering", + "AzurePrivatePeering", + "MicrosoftPeering" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The peering type." + }, + "primaryPeerAddressPrefix": { + "type": "string", + "description": "The primary address prefix." + }, + "secondaryPeerAddressPrefix": { + "type": "string", + "description": "The secondary address prefix." + }, + "sharedKey": { + "type": "string", + "description": "The shared key." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The peering state." + }, + "vlanId": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The VLAN ID." + } + }, + "description": "Properties of express route cross connection peering." + }, + "ExpressRouteCrossConnectionProperties": { + "type": "object", + "properties": { + "expressRouteCircuit": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to an express route circuit." + }, + "peerings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of peerings." + }, + "serviceProviderNotes": { + "type": "string", + "description": "Additional read only notes set by the connectivity provider." + }, + "serviceProviderProvisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotProvisioned", + "Provisioning", + "Provisioned", + "Deprovisioning" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioning state of the circuit in the connectivity provider system." + } + }, + "description": "Properties of ExpressRouteCrossConnection." + }, + "expressRouteCrossConnections_peerings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the peering." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of express route cross connection peering." + }, + "type": { + "type": "string", + "enum": [ + "peerings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRouteCrossConnections/peerings" + }, + "ExpressRouteGatewayProperties": { + "type": "object", + "properties": { + "allowNonVirtualWanTraffic": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configures this gateway to accept traffic from non Virtual WAN networks." + }, + "autoScaleConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteGatewayPropertiesAutoScaleConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration for auto scaling." + }, + "expressRouteConnections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteConnection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of ExpressRoute connections to the ExpressRoute gateway." + }, + "virtualHub": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHubId" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Virtual Hub identifier." + } + }, + "required": [ + "virtualHub" + ], + "description": "ExpressRoute gateway resource properties." + }, + "ExpressRouteGatewayPropertiesAutoScaleConfiguration": { + "type": "object", + "properties": { + "bounds": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum and maximum number of scale units to deploy." + } + }, + "description": "Configuration for auto scaling." + }, + "ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds": { + "type": "object", + "properties": { + "max": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum number of scale units deployed for ExpressRoute gateway." + }, + "min": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum number of scale units deployed for ExpressRoute gateway." + } + }, + "description": "Minimum and maximum number of scale units to deploy." + }, + "expressRouteGateways_expressRouteConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the connection subresource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the ExpressRouteConnection subresource." + }, + "type": { + "type": "string", + "enum": [ + "expressRouteConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRouteGateways/expressRouteConnections" + }, + "ExpressRouteLink": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Name of child port resource that is unique among child port resources of the parent." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteLinkPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties specific to ExpressRouteLink resources." + } + }, + "description": "ExpressRouteLink child resource definition." + }, + "ExpressRouteLinkMacSecConfig": { + "type": "object", + "properties": { + "cakSecretIdentifier": { + "type": "string", + "description": "Keyvault Secret Identifier URL containing Mac security CAK key." + }, + "cipher": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GcmAes256", + "GcmAes128", + "GcmAesXpn128", + "GcmAesXpn256" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mac security cipher." + }, + "cknSecretIdentifier": { + "type": "string", + "description": "Keyvault Secret Identifier URL containing Mac security CKN key." + }, + "sciState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sci mode enabled/disabled." + } + }, + "description": "ExpressRouteLink Mac Security Configuration." + }, + "ExpressRouteLinkPropertiesFormat": { + "type": "object", + "properties": { + "adminState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Administrative state of the physical port." + }, + "macSecConfig": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteLinkMacSecConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExpressRouteLink Mac Security Configuration." + } + }, + "description": "Properties specific to ExpressRouteLink resources." + }, + "ExpressRoutePortAuthorizationPropertiesFormat": { + "type": "object", + "properties": {}, + "description": "Properties of ExpressRoutePort Authorization." + }, + "ExpressRoutePortPropertiesFormat": { + "type": "object", + "properties": { + "bandwidthInGbps": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Bandwidth of procured ports in Gbps." + }, + "billingType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MeteredData", + "UnlimitedData" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The billing type of the ExpressRoutePort resource." + }, + "encapsulation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Dot1Q", + "QinQ" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Encapsulation method on physical ports." + }, + "links": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteLink" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of physical links of the ExpressRoutePort resource." + }, + "peeringLocation": { + "type": "string", + "description": "The name of the peering location that the ExpressRoutePort is mapped to physically." + } + }, + "description": "Properties specific to ExpressRoutePort resources." + }, + "expressRoutePorts_authorizations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the authorization." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRoutePortAuthorizationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of ExpressRoutePort Authorization." + }, + "type": { + "type": "string", + "enum": [ + "authorizations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/expressRoutePorts/authorizations" + }, + "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 type of the extended location." + } + }, + "description": "ExtendedLocation complex type." + }, + "firewallPolicies_ruleCollectionGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the FirewallPolicyRuleCollectionGroup." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the rule collection group." + }, + "type": { + "type": "string", + "enum": [ + "ruleCollectionGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/firewallPolicies/ruleCollectionGroups" + }, + "firewallPolicies_signatureOverrides_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Will contain the resource id of the signature override resource" + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SignaturesOverridesProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Will contain the properties of the resource (the actual signature overrides)" + }, + "type": { + "type": "string", + "enum": [ + "signatureOverrides" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/firewallPolicies/signatureOverrides" + }, + "FirewallPolicyCertificateAuthority": { + "type": "object", + "properties": { + "keyVaultSecretId": { + "type": "string", + "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault." + }, + "name": { + "type": "string", + "description": "Name of the CA certificate." + } + }, + "description": "Trusted Root certificates properties for tls." + }, + "FirewallPolicyFilterRuleCollection": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicyFilterRuleCollectionAction" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the FirewallPolicyFilterRuleCollectionAction." + }, + "ruleCollectionType": { + "type": "string", + "enum": [ + "FirewallPolicyFilterRuleCollection" + ] + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules included in a rule collection." + } + }, + "required": [ + "ruleCollectionType" + ], + "description": "Firewall Policy Filter Rule Collection." + }, + "FirewallPolicyFilterRuleCollectionAction": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of action." + } + }, + "description": "Properties of the FirewallPolicyFilterRuleCollectionAction." + }, + "FirewallPolicyHttpHeaderToInsert": { + "type": "object", + "properties": { + "headerName": { + "type": "string", + "description": "Contains the name of the header" + }, + "headerValue": { + "type": "string", + "description": "Contains the value of the header" + } + }, + "description": "name and value of HTTP/S header to insert" + }, + "FirewallPolicyInsights": { + "type": "object", + "properties": { + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A flag to indicate if the insights are enabled on the policy." + }, + "logAnalyticsResources": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicyLogAnalyticsResources" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Log Analytics Resources for Firewall Policy Insights." + }, + "retentionDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of days the insights should be enabled on the policy." + } + }, + "description": "Firewall Policy Insights." + }, + "FirewallPolicyIntrusionDetection": { + "type": "object", + "properties": { + "configuration": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The operation for configuring intrusion detection." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Off", + "Alert", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Intrusion detection general state." + } + }, + "description": "Configuration for intrusion detection mode and rules." + }, + "FirewallPolicyIntrusionDetectionBypassTrafficSpecifications": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the bypass traffic rule." + }, + "destinationAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination IP addresses or ranges for this rule." + }, + "destinationIpGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination IpGroups for this rule." + }, + "destinationPorts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination ports or ranges." + }, + "name": { + "type": "string", + "description": "Name of the bypass traffic rule." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TCP", + "UDP", + "ICMP", + "ANY" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rule bypass protocol." + }, + "sourceAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IP addresses or ranges for this rule." + }, + "sourceIpGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IpGroups for this rule." + } + }, + "description": "Intrusion detection bypass traffic specification." + }, + "FirewallPolicyIntrusionDetectionConfiguration": { + "type": "object", + "properties": { + "bypassTrafficSettings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionBypassTrafficSpecifications" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules for traffic to bypass." + }, + "privateRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IDPS Private IP address ranges are used to identify traffic direction (i.e. inbound, outbound, etc.). By default, only ranges defined by IANA RFC 1918 are considered private IP addresses. To modify default ranges, specify your Private IP address ranges with this property" + }, + "signatureOverrides": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionSignatureSpecification" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of specific signatures states." + } + }, + "description": "The operation for configuring intrusion detection." + }, + "FirewallPolicyIntrusionDetectionSignatureSpecification": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Signature id." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Off", + "Alert", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The signature state." + } + }, + "description": "Intrusion detection signatures specification states." + }, + "FirewallPolicyLogAnalyticsResources": { + "type": "object", + "properties": { + "defaultWorkspaceId": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "workspaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyLogAnalyticsWorkspace" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of workspaces for Firewall Policy Insights." + } + }, + "description": "Log Analytics Resources for Firewall Policy Insights." + }, + "FirewallPolicyLogAnalyticsWorkspace": { + "type": "object", + "properties": { + "region": { + "type": "string", + "description": "Region to configure the Workspace." + }, + "workspaceId": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Log Analytics Workspace for Firewall Policy Insights." + }, + "FirewallPolicyNatRuleCollection": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicyNatRuleCollectionAction" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the FirewallPolicyNatRuleCollectionAction." + }, + "ruleCollectionType": { + "type": "string", + "enum": [ + "FirewallPolicyNatRuleCollection" + ] + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules included in a rule collection." + } + }, + "required": [ + "ruleCollectionType" + ], + "description": "Firewall Policy NAT Rule Collection." + }, + "FirewallPolicyNatRuleCollectionAction": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DNAT" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of action." + } + }, + "description": "Properties of the FirewallPolicyNatRuleCollectionAction." + }, + "FirewallPolicyPropertiesFormat": { + "type": "object", + "properties": { + "basePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "dnsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DnsSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DNS Proxy Settings in Firewall Policy." + }, + "explicitProxy": { + "oneOf": [ + { + "$ref": "#/definitions/ExplicitProxy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Explicit Proxy Settings in Firewall Policy." + }, + "insights": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicyInsights" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Firewall Policy Insights." + }, + "intrusionDetection": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicyIntrusionDetection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration for intrusion detection mode and rules." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicySku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU of Firewall policy." + }, + "snat": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicySNAT" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private IP addresses/IP ranges to which traffic will not be SNAT." + }, + "sql": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicySQL" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SQL Settings in Firewall Policy." + }, + "threatIntelMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Alert", + "Deny", + "Off" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The operation mode for Threat Intelligence." + }, + "threatIntelWhitelist": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicyThreatIntelWhitelist" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ThreatIntel Whitelist for Firewall Policy." + }, + "transportSecurity": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicyTransportSecurity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration needed to perform TLS termination & initiation." + } + }, + "description": "Firewall Policy definition." + }, + "FirewallPolicyRule": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ApplicationRule" + }, + { + "$ref": "#/definitions/NatRule" + }, + { + "$ref": "#/definitions/NetworkRule" + } + ], + "properties": { + "description": { + "type": "string", + "description": "Description of the rule." + }, + "name": { + "type": "string", + "description": "Name of the rule." + } + }, + "description": "Properties of a rule." + }, + "FirewallPolicyRuleApplicationProtocol": { + "type": "object", + "properties": { + "port": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 64000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port number for the protocol, cannot be greater than 64000." + }, + "protocolType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Https" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protocol type." + } + }, + "description": "Properties of the application rule protocol." + }, + "FirewallPolicyRuleCollection": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicyNatRuleCollection" + }, + { + "$ref": "#/definitions/FirewallPolicyFilterRuleCollection" + } + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the rule collection." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 100, + "maximum": 65000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Priority of the Firewall Policy Rule Collection resource." + } + }, + "description": "Properties of the rule collection." + }, + "FirewallPolicyRuleCollectionGroupProperties": { + "type": "object", + "properties": { + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 100, + "maximum": 65000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Priority of the Firewall Policy Rule Collection Group resource." + }, + "ruleCollections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleCollection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Group of Firewall Policy rule collections." + } + }, + "description": "Properties of the rule collection group." + }, + "FirewallPolicySku": { + "type": "object", + "properties": { + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "Basic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tier of Firewall Policy." + } + }, + "description": "SKU of Firewall policy." + }, + "FirewallPolicySNAT": { + "type": "object", + "properties": { + "autoLearnPrivateRanges": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The operation mode for automatically learning private ranges to not be SNAT." + }, + "privateRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of private IP addresses/IP address ranges to not be SNAT." + } + }, + "description": "The private IP addresses/IP ranges to which traffic will not be SNAT." + }, + "FirewallPolicySQL": { + "type": "object", + "properties": { + "allowSqlRedirect": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A flag to indicate if SQL Redirect traffic filtering is enabled. Turning on the flag requires no rule using port 11000-11999." + } + }, + "description": "SQL Settings in Firewall Policy." + }, + "FirewallPolicyThreatIntelWhitelist": { + "type": "object", + "properties": { + "fqdns": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of FQDNs for the ThreatIntel Whitelist." + }, + "ipAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of IP addresses for the ThreatIntel Whitelist." + } + }, + "description": "ThreatIntel Whitelist for Firewall Policy." + }, + "FirewallPolicyTransportSecurity": { + "type": "object", + "properties": { + "certificateAuthority": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallPolicyCertificateAuthority" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Trusted Root certificates properties for tls." + } + }, + "description": "Configuration needed to perform TLS termination & initiation." + }, + "FlowLogFormatParameters": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "JSON" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The file type of flow log." + }, + "version": { + "oneOf": [ + { + "type": "integer", + "default": "0" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The version (revision) of the flow log." + } + }, + "description": "Parameters that define the flow log format." + }, + "FlowLogPropertiesFormat": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to enable/disable flow logging." + }, + "flowAnalyticsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/TrafficAnalyticsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters that define the configuration of traffic analytics." + }, + "format": { + "oneOf": [ + { + "$ref": "#/definitions/FlowLogFormatParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters that define the flow log format." + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicyParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters that define the retention policy for flow log." + }, + "storageId": { + "type": "string", + "description": "ID of the storage account which is used to store the flow log." + }, + "targetResourceId": { + "type": "string", + "description": "ID of network security group to which flow log will be applied." + } + }, + "required": [ + "storageId", + "targetResourceId" + ], + "description": "Parameters that define the configuration of flow log." + }, + "FrontendIPConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FrontendIPConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Frontend IP Configuration of the load balancer." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "description": "Frontend IP address of the load balancer." + }, + "FrontendIPConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "gatewayLoadBalancer": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4." + }, + "privateIPAllocationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Static", + "Dynamic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Private IP allocation method." + }, + "publicIPAddress": { + "oneOf": [ + { + "$ref": "#/definitions/PublicIPAddress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Public IP address resource." + }, + "publicIPPrefix": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/Subnet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subnet in a virtual network resource." + } + }, + "description": "Properties of Frontend IP Configuration of the load balancer." + }, + "GatewayCustomBgpIpAddressIpConfiguration": { + "type": "object", + "properties": { + "customBgpIpAddress": { + "type": "string", + "description": "The custom BgpPeeringAddress which belongs to IpconfigurationId." + }, + "ipConfigurationId": { + "type": "string", + "description": "The IpconfigurationId of ipconfiguration which belongs to gateway." + } + }, + "required": [ + "customBgpIpAddress", + "ipConfigurationId" + ], + "description": "GatewayCustomBgpIpAddressIpConfiguration for a virtual network gateway connection." + }, + "GatewayLoadBalancerTunnelInterface": { + "type": "object", + "properties": { + "identifier": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifier of gateway load balancer tunnel interface." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port of gateway load balancer tunnel interface." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Native", + "VXLAN" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protocol of gateway load balancer tunnel interface." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Internal", + "External" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Traffic type of gateway load balancer tunnel interface." + } + }, + "description": "Gateway load balancer tunnel interface of a load balancer backend address pool." + }, + "GroupByUserSession": { + "type": "object", + "properties": { + "groupByVariables": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GroupByVariable" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of group by clause variables." + } + }, + "required": [ + "groupByVariables" + ], + "description": "Define user session identifier group by clauses." + }, + "GroupByVariable": { + "type": "object", + "properties": { + "variableName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ClientAddr", + "GeoLocation", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "User Session clause variable." + } + }, + "required": [ + "variableName" + ], + "description": "Define user session group by clause variables." + }, + "HTTPHeader": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name in HTTP header." + }, + "value": { + "type": "string", + "description": "The value in HTTP header." + } + }, + "description": "The HTTP header." + }, + "Hub": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Resource Id." + }, + "resourceType": { + "type": "string", + "description": "Resource Type." + } + }, + "description": "Hub Item." + }, + "HubIPAddresses": { + "type": "object", + "properties": { + "privateIPAddress": { + "type": "string", + "description": "Private IP Address associated with azure firewall." + }, + "publicIPs": { + "oneOf": [ + { + "$ref": "#/definitions/HubPublicIPAddresses" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Public IP addresses associated with azure firewall." + } + }, + "description": "IP addresses associated with azure firewall." + }, + "HubIPConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Static", + "Dynamic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private IP address allocation method." + }, + "publicIPAddress": { + "oneOf": [ + { + "$ref": "#/definitions/PublicIPAddress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Public IP address resource." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/Subnet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subnet in a virtual network resource." + } + }, + "description": "Properties of IP configuration." + }, + "HubPublicIPAddresses": { + "type": "object", + "properties": { + "addresses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallPublicIPAddress" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Public IP addresses associated with azure firewall or IP addresses to be retained." + }, + "count": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of Public IP addresses associated with azure firewall." + } + }, + "description": "Public IP addresses associated with azure firewall." + }, + "HubRoute": { + "type": "object", + "properties": { + "destinations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all destinations." + }, + "destinationType": { + "type": "string", + "description": "The type of destinations (eg: CIDR, ResourceId, Service)." + }, + "name": { + "type": "string", + "description": "The name of the Route that is unique within a RouteTable. This name can be used to access this route." + }, + "nextHop": { + "type": "string", + "description": "NextHop resource ID." + }, + "nextHopType": { + "type": "string", + "description": "The type of next hop (eg: ResourceId)." + } + }, + "required": [ + "destinations", + "destinationType", + "name", + "nextHop", + "nextHopType" + ], + "description": "RouteTable route." + }, + "HubRouteTableProperties": { + "type": "object", + "properties": { + "labels": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of labels associated with this route table." + }, + "routes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/HubRoute" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all routes." + } + }, + "description": "Parameters for RouteTable." + }, + "HubVirtualNetworkConnectionProperties": { + "type": "object", + "properties": { + "allowHubToRemoteVnetTransit": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Deprecated: VirtualHub to RemoteVnet transit to enabled or not." + }, + "allowRemoteVnetToUseHubVnetGateways": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Deprecated: Allow RemoteVnet to use Virtual Hub's gateways." + }, + "enableInternetSecurity": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable internet security." + }, + "remoteVirtualNetwork": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "routingConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/RoutingConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Routing Configuration indicating the associated and propagated route tables for this connection." + } + }, + "description": "Parameters for HubVirtualNetworkConnection." + }, + "InboundNatPool": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/InboundNatPoolPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Inbound NAT pool." + } + }, + "description": "Inbound NAT pool of the load balancer." + }, + "InboundNatPoolPropertiesFormat": { + "type": "object", + "properties": { + "backendPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$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." + }, + "enableFloatingIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "enableTcpReset": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP." + }, + "frontendIPConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "frontendPortRangeEnd": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535." + }, + "frontendPortRangeStart": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534." + }, + "idleTimeoutInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Udp", + "Tcp", + "All" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The reference to the transport protocol used by the inbound NAT pool." + } + }, + "required": [ + "backendPort", + "frontendPortRangeEnd", + "frontendPortRangeStart", + "protocol" + ], + "description": "Properties of Inbound NAT pool." + }, + "InboundNatRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/InboundNatRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the inbound NAT rule." + } + }, + "description": "Inbound NAT rule of the load balancer." + }, + "InboundNatRulePropertiesFormat": { + "type": "object", + "properties": { + "backendAddressPool": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "backendPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port used for the internal endpoint. Acceptable values range from 1 to 65535." + }, + "enableFloatingIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "enableTcpReset": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP." + }, + "frontendIPConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "frontendPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$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 range from 1 to 65534." + }, + "frontendPortRangeEnd": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port range end for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534." + }, + "frontendPortRangeStart": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port range start for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534." + }, + "idleTimeoutInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Udp", + "Tcp", + "All" + ] + }, + { + "$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." + } + }, + "description": "Properties of the inbound NAT rule." + }, + "InboundSecurityRuleProperties": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InboundSecurityRules" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of allowed rules." + } + }, + "description": "Properties of the Inbound Security Rules resource." + }, + "InboundSecurityRules": { + "type": "object", + "properties": { + "destinationPortRange": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 65535 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NVA port ranges to be opened up. One needs to provide specific ports." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TCP", + "UDP" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protocol. This should be either TCP or UDP." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Only /30, /31 and /32 Ip ranges are allowed." + } + }, + "description": "Properties of the Inbound Security Rules resource." + }, + "IpAllocationPropertiesFormat": { + "type": "object", + "properties": { + "allocationTags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IpAllocation tags." + }, + "ipamAllocationId": { + "type": "string", + "description": "The IPAM allocation ID." + }, + "prefix": { + "type": "string", + "description": "The address prefix for the IpAllocation." + }, + "prefixLength": { + "oneOf": [ + { + "type": "integer", + "default": "0" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The address prefix length for the IpAllocation." + }, + "prefixType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The address prefix Type for the IpAllocation." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Undefined", + "Hypernet" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type for the IpAllocation." + } + }, + "description": "Properties of the IpAllocation." + }, + "IPConfigurationBgpPeeringAddress": { + "type": "object", + "properties": { + "customBgpIpAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of custom BGP peering addresses which belong to IP configuration." + }, + "ipconfigurationId": { + "type": "string", + "description": "The ID of IP configuration which belongs to gateway." + } + }, + "description": "Properties of IPConfigurationBgpPeeringAddress." + }, + "IPConfigurationProfile": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IPConfigurationProfilePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IP configuration profile properties." + } + }, + "description": "IP configuration profile child resource." + }, + "IPConfigurationProfilePropertiesFormat": { + "type": "object", + "properties": { + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/Subnet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subnet in a virtual network resource." + } + }, + "description": "IP configuration profile properties." + }, + "IpGroupPropertiesFormat": { + "type": "object", + "properties": { + "ipAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IpAddresses/IpAddressPrefixes in the IpGroups resource." + } + }, + "description": "The IpGroups property information." + }, + "IPRule": { + "type": "object", + "properties": { + "addressPrefix": { + "type": "string", + "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed." + } + } + }, + "IpsecPolicy": { + "type": "object", + "properties": { + "dhGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "DHGroup1", + "DHGroup2", + "DHGroup14", + "DHGroup2048", + "ECP256", + "ECP384", + "DHGroup24" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The DH Group used in IKE Phase 1 for initial SA." + }, + "ikeEncryption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DES", + "DES3", + "AES128", + "AES192", + "AES256", + "GCMAES256", + "GCMAES128" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IKE encryption algorithm (IKE phase 2)." + }, + "ikeIntegrity": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MD5", + "SHA1", + "SHA256", + "SHA384", + "GCMAES256", + "GCMAES128" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IKE integrity algorithm (IKE phase 2)." + }, + "ipsecEncryption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "DES", + "DES3", + "AES128", + "AES192", + "AES256", + "GCMAES128", + "GCMAES192", + "GCMAES256" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IPSec encryption algorithm (IKE phase 1)." + }, + "ipsecIntegrity": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MD5", + "SHA1", + "SHA256", + "GCMAES128", + "GCMAES192", + "GCMAES256" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IPSec integrity algorithm (IKE phase 1)." + }, + "pfsGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "PFS1", + "PFS2", + "PFS2048", + "ECP256", + "ECP384", + "PFS24", + "PFS14", + "PFSMM" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Pfs Group used in IKE Phase 2 for new child SA." + }, + "saDataSizeKilobytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel." + }, + "saLifeTimeSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel." + } + }, + "required": [ + "dhGroup", + "ikeEncryption", + "ikeIntegrity", + "ipsecEncryption", + "ipsecIntegrity", + "pfsGroup", + "saDataSizeKilobytes", + "saLifeTimeSeconds" + ], + "description": "An IPSec Policy configuration for a virtual network gateway connection." + }, + "IpTag": { + "type": "object", + "properties": { + "ipTagType": { + "type": "string", + "description": "The IP tag type. Example: FirstPartyUsage." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag associated with the public IP. Example: SQL." + } + }, + "description": "Contains the IpTag associated with the object." + }, + "Ipv6CircuitConnectionConfig": { + "type": "object", + "properties": { + "addressPrefix": { + "type": "string", + "description": "/125 IP address space to carve out customer addresses for global reach." + } + }, + "description": "IPv6 Circuit Connection properties for global reach." + }, + "Ipv6ExpressRouteCircuitPeeringConfig": { + "type": "object", + "properties": { + "microsoftPeeringConfig": { + "oneOf": [ + { + "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the peering configuration." + }, + "primaryPeerAddressPrefix": { + "type": "string", + "description": "The primary address prefix." + }, + "routeFilter": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "secondaryPeerAddressPrefix": { + "type": "string", + "description": "The secondary address prefix." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of peering." + } + }, + "description": "Contains IPv6 peering config." + }, + "LoadBalancerBackendAddress": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the backend address." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LoadBalancerBackendAddressPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the load balancer backend addresses." + } + }, + "description": "Load balancer backend addresses." + }, + "LoadBalancerBackendAddressPropertiesFormat": { + "type": "object", + "properties": { + "adminState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Up", + "Down" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of administrative states which once set can override health probe so that Load Balancer will always forward new connections to backend, or deny new connections and reset existing connections." + }, + "ipAddress": { + "type": "string", + "description": "IP Address belonging to the referenced virtual network." + }, + "loadBalancerFrontendIPConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "virtualNetwork": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of the load balancer backend addresses." + }, + "LoadBalancerPropertiesFormat": { + "type": "object", + "properties": { + "backendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/BackendAddressPool" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of backend address pools used by a load balancer." + }, + "frontendIPConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Object representing the frontend IPs to be used for the load balancer." + }, + "inboundNatPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatPool" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound NAT rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules." + }, + "inboundNatRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual inbound NAT rules." + }, + "loadBalancingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Object collection representing the load balancing rules Gets the provisioning." + }, + "outboundRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/OutboundRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The outbound rules." + }, + "probes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Probe" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of probe objects used in the load balancer." + } + }, + "description": "Properties of the load balancer." + }, + "LoadBalancerSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "Standard", + "Gateway" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of a load balancer SKU." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Regional", + "Global" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tier of a load balancer SKU." + } + }, + "description": "SKU of a load balancer." + }, + "loadBalancers_backendAddressPools_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the backend address pool." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackendAddressPoolPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the backend address pool." + }, + "type": { + "type": "string", + "enum": [ + "backendAddressPools" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/loadBalancers/backendAddressPools" + }, + "loadBalancers_inboundNatRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the inbound NAT rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/InboundNatRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the inbound NAT rule." + }, + "type": { + "type": "string", + "enum": [ + "inboundNatRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/loadBalancers/inboundNatRules" + }, + "LoadBalancingRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of load balancing rules used by the load balancer. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LoadBalancingRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the load balancer." + } + }, + "description": "A load balancing rule for a load balancer." + }, + "LoadBalancingRulePropertiesFormat": { + "type": "object", + "properties": { + "backendAddressPool": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "backendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of references to pool of DIPs." + }, + "backendPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$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 0 and 65535. Note that value 0 enables \"Any Port\"." + }, + "disableOutboundSnat": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule." + }, + "enableFloatingIP": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "enableTcpReset": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP." + }, + "frontendIPConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "frontendPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$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 0 and 65534. Note that value 0 enables \"Any Port\"." + }, + "idleTimeoutInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "loadDistribution": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "SourceIP", + "SourceIPProtocol" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The load distribution policy for this rule." + }, + "probe": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Udp", + "Tcp", + "All" + ] + }, + { + "$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": [ + "frontendPort", + "protocol" + ], + "description": "Properties of the load balancer." + }, + "LocalNetworkGateway": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LocalNetworkGatewayPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "LocalNetworkGateway properties." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + } + }, + "required": [ + "properties" + ], + "description": "A common class for general resource information." + }, + "LocalNetworkGatewayPropertiesFormat": { + "type": "object", + "properties": { + "bgpSettings": { + "oneOf": [ + { + "$ref": "#/definitions/BgpSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "BGP settings details." + }, + "fqdn": { + "type": "string", + "description": "FQDN of local network gateway." + }, + "gatewayIpAddress": { + "type": "string", + "description": "IP address of local network gateway." + }, + "localNetworkAddressSpace": { + "oneOf": [ + { + "$ref": "#/definitions/AddressSpace" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + } + }, + "description": "LocalNetworkGateway properties." + }, + "ManagedRuleGroupOverride": { + "type": "object", + "properties": { + "ruleGroupName": { + "type": "string", + "description": "The managed rule group to override." + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled." + } + }, + "required": [ + "ruleGroupName" + ], + "description": "Defines a managed rule group override setting." + }, + "ManagedRuleOverride": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AnomalyScoring", + "Allow", + "Block", + "Log" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the override action to be applied when rule matches." + }, + "ruleId": { + "type": "string", + "description": "Identifier for the managed rule." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of the managed rule. Defaults to Disabled if not specified." + } + }, + "required": [ + "ruleId" + ], + "description": "Defines a managed rule group override setting." + }, + "ManagedRulesDefinition": { + "type": "object", + "properties": { + "exclusions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/OwaspCrsExclusionEntry" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Exclusions that are applied on the policy." + }, + "managedRuleSets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleSet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed rule sets that are associated with the policy." + } + }, + "required": [ + "managedRuleSets" + ], + "description": "Allow to exclude some variable satisfy the condition for the WAF check." + }, + "ManagedRuleSet": { + "type": "object", + "properties": { + "ruleGroupOverrides": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the rule group overrides to apply to the rule set." + }, + "ruleSetType": { + "type": "string", + "description": "Defines the rule set type to use." + }, + "ruleSetVersion": { + "type": "string", + "description": "Defines the version of the rule set to use." + } + }, + "required": [ + "ruleSetType", + "ruleSetVersion" + ], + "description": "Defines a managed rule set." + }, + "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 virtual machine." + }, + "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." + }, + "MatchCondition": { + "type": "object", + "properties": { + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Match value." + }, + "matchVariables": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MatchVariable" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of match variables." + }, + "negationConditon": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether this is negate condition or not." + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "Regex", + "GeoMatch", + "Any" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Uppercase", + "Lowercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls", + "HtmlEntityDecode" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms." + } + }, + "required": [ + "matchValues", + "matchVariables", + "operator" + ], + "description": "Define match conditions." + }, + "MatchVariable": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "The selector of match variable." + }, + "variableName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RemoteAddr", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeaders", + "RequestBody", + "RequestCookies" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Match Variable." + } + }, + "required": [ + "variableName" + ], + "description": "Define match variables." + }, + "NatGateway": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NatGatewayPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Nat Gateway properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/NatGatewaySku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU of nat gateway." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of availability zones denoting the zone in which Nat Gateway should be deployed." + } + }, + "description": "Nat Gateway resource." + }, + "NatGatewayPropertiesFormat": { + "type": "object", + "properties": { + "idleTimeoutInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The idle timeout of the nat gateway." + }, + "publicIpAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of public ip addresses associated with the nat gateway resource." + }, + "publicIpPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of public ip prefixes associated with the nat gateway resource." + } + }, + "description": "Nat Gateway properties." + }, + "NatGatewaySku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of Nat Gateway SKU." + } + }, + "description": "SKU of nat gateway." + }, + "NatRule": { + "type": "object", + "properties": { + "destinationAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination IP addresses or Service Tags." + }, + "destinationPorts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination ports." + }, + "ipProtocols": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "TCP", + "UDP", + "Any", + "ICMP" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of FirewallPolicyRuleNetworkProtocols." + }, + "ruleType": { + "type": "string", + "enum": [ + "NatRule" + ] + }, + "sourceAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IP addresses for this rule." + }, + "sourceIpGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IpGroups for this rule." + }, + "translatedAddress": { + "type": "string", + "description": "The translated address for this NAT rule." + }, + "translatedFqdn": { + "type": "string", + "description": "The translated FQDN for this NAT rule." + }, + "translatedPort": { + "type": "string", + "description": "The translated port for this NAT rule." + } + }, + "required": [ + "ruleType" + ], + "description": "Rule of type nat." + }, + "NetworkGroupProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the network group." + } + }, + "description": "Properties of network group" + }, + "NetworkInterfaceDnsSettings": { + "type": "object", + "properties": { + "dnsServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection." + }, + "internalDnsNameLabel": { + "type": "string", + "description": "Relative DNS name for this NIC used for internal communications between VMs in the same virtual network." + } + }, + "description": "DNS settings of a network interface." + }, + "NetworkInterfaceIPConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkInterfaceIPConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of IP configuration." + }, + "type": { + "type": "string", + "description": "Resource type." + } + }, + "description": "IPConfiguration in a network interface." + }, + "NetworkInterfaceIPConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "applicationGatewayBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The reference to ApplicationGatewayBackendAddressPool resource." + }, + "applicationSecurityGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationSecurityGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application security groups in which the IP configuration is included." + }, + "gatewayLoadBalancer": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "loadBalancerBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/BackendAddressPool" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The reference to LoadBalancerBackendAddressPool resource." + }, + "loadBalancerInboundNatRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of references of LoadBalancerInboundNatRules." + }, + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether this is a primary customer address on the network interface." + }, + "privateIPAddress": { + "type": "string", + "description": "Private IP address of the IP configuration." + }, + "privateIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4." + }, + "privateIPAllocationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Static", + "Dynamic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private IP address allocation method." + }, + "publicIPAddress": { + "oneOf": [ + { + "$ref": "#/definitions/PublicIPAddress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Public IP address resource." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/Subnet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subnet in a virtual network resource." + }, + "virtualNetworkTaps": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The reference to Virtual Network Taps." + } + }, + "description": "Properties of IP configuration." + }, + "NetworkInterfacePropertiesFormat": { + "type": "object", + "properties": { + "auxiliaryMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "MaxConnections", + "Floating", + "AcceleratedConnections" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary mode of Network Interface resource." + }, + "auxiliarySku": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "A1", + "A2", + "A4", + "A8" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auxiliary sku of Network Interface resource." + }, + "disableTcpStateTracking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to disable tcp state tracking." + }, + "dnsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkInterfaceDnsSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DNS settings of a network interface." + }, + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the network interface is configured for accelerated networking. Not applicable to VM sizes which require accelerated networking." + }, + "enableIPForwarding": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether IP forwarding is enabled on this network interface." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of IPConfigurations of the network interface." + }, + "migrationPhase": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Prepare", + "Commit", + "Abort", + "Committed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration phase of Network Interface resource." + }, + "networkSecurityGroup": { + "oneOf": [ + { + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NetworkSecurityGroup resource." + }, + "nicType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Elastic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of Network Interface resource." + }, + "privateLinkService": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkService" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private link service resource." + }, + "workloadType": { + "type": "string", + "description": "WorkloadType of the NetworkInterface for BareMetal resources" + } + }, + "description": "NetworkInterface properties." + }, + "networkInterfaces_tapConfigurations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the tap configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkInterfaceTapConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Virtual Network Tap configuration." + }, + "type": { + "type": "string", + "enum": [ + "tapConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkInterfaces/tapConfigurations" + }, + "NetworkInterfaceTapConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "virtualNetworkTap": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkTap" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Virtual Network Tap resource." + } + }, + "description": "Properties of Virtual Network Tap configuration." + }, + "NetworkManagerConnectionProperties": { + "type": "object", + "properties": { + "connectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Connected", + "Pending", + "Conflict", + "Revoked", + "Rejected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection state." + }, + "description": { + "type": "string", + "description": "A description of the network manager connection." + }, + "networkManagerId": { + "type": "string", + "description": "Network Manager Id." + } + }, + "description": "Information about the network manager connection." + }, + "NetworkManagerProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the network manager." + }, + "networkManagerScopeAccesses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "SecurityAdmin", + "Connectivity" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scope Access." + }, + "networkManagerScopes": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkManagerPropertiesNetworkManagerScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scope of Network Manager." + } + }, + "required": [ + "networkManagerScopeAccesses", + "networkManagerScopes" + ], + "description": "Properties of Managed Network" + }, + "NetworkManagerPropertiesNetworkManagerScopes": { + "type": "object", + "properties": { + "managementGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of management groups." + }, + "subscriptions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of subscriptions." + } + }, + "description": "Scope of Network Manager." + }, + "NetworkManagerSecurityGroupItem": { + "type": "object", + "properties": { + "networkGroupId": { + "type": "string", + "description": "Network manager group Id." + } + }, + "required": [ + "networkGroupId" + ], + "description": "Network manager security group item." + }, + "networkManagers_connectivityConfigurations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the network manager connectivity configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectivityConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of network manager connectivity configuration" + }, + "type": { + "type": "string", + "enum": [ + "connectivityConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagers/connectivityConfigurations" + }, + "networkManagers_networkGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the network group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of network group" + }, + "type": { + "type": "string", + "enum": [ + "networkGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagers/networkGroups" + }, + "networkManagers_networkGroups_staticMembers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the static member." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StaticMemberProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of static member." + }, + "type": { + "type": "string", + "enum": [ + "staticMembers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagers/networkGroups/staticMembers" + }, + "networkManagers_scopeConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "Name for the cross-tenant connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScopeConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scope connection." + }, + "type": { + "type": "string", + "enum": [ + "scopeConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagers/scopeConnections" + }, + "networkManagers_securityAdminConfigurations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the network manager Security Configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAdminConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the security admin configuration properties." + }, + "type": { + "type": "string", + "enum": [ + "securityAdminConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagers/securityAdminConfigurations" + }, + "networkManagers_securityAdminConfigurations_ruleCollections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the network manager security Configuration rule collection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AdminRuleCollectionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the admin rule collection properties." + }, + "type": { + "type": "string", + "enum": [ + "ruleCollections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections" + }, + "networkManagers_securityAdminConfigurations_ruleCollections_rules_childResource": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AdminRule" + }, + { + "$ref": "#/definitions/DefaultAdminRule" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the rule." + }, + "type": { + "type": "string", + "enum": [ + "rules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules" + }, + "NetworkProfilePropertiesFormat": { + "type": "object", + "properties": { + "containerNetworkInterfaceConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerNetworkInterfaceConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of chid container network interface configurations." + } + }, + "description": "Network profile properties." + }, + "NetworkRule": { + "type": "object", + "properties": { + "destinationAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination IP addresses or Service Tags." + }, + "destinationFqdns": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination FQDNs." + }, + "destinationIpGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination IpGroups for this rule." + }, + "destinationPorts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of destination ports." + }, + "ipProtocols": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "TCP", + "UDP", + "Any", + "ICMP" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of FirewallPolicyRuleNetworkProtocols." + }, + "ruleType": { + "type": "string", + "enum": [ + "NetworkRule" + ] + }, + "sourceAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IP addresses for this rule." + }, + "sourceIpGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source IpGroups for this rule." + } + }, + "required": [ + "ruleType" + ], + "description": "Rule of type network." + }, + "NetworkSecurityGroup": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkSecurityGroupPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network Security Group resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + } + }, + "description": "NetworkSecurityGroup resource." + }, + "NetworkSecurityGroupPropertiesFormat": { + "type": "object", + "properties": { + "flushConnection": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation." + }, + "securityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of security rules of the network security group." + } + }, + "description": "Network Security Group resource." + }, + "networkSecurityGroups_securityRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the security rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Security rule resource." + }, + "type": { + "type": "string", + "enum": [ + "securityRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkSecurityGroups/securityRules" + }, + "NetworkVirtualApplianceConnectionProperties": { + "type": "object", + "properties": { + "asn": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network Virtual Appliance ASN." + }, + "bgpPeerAddress": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of bgpPeerAddresses for the NVA instances" + }, + "enableInternetSecurity": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable internet security." + }, + "name": { + "type": "string", + "description": "The name of the resource." + }, + "routingConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/RoutingConfigurationNfv" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NFV version of Routing Configuration indicating the associated and propagated route tables for this connection." + }, + "tunnelIdentifier": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Unique identifier for the connection." + } + }, + "description": "Properties of the NetworkVirtualApplianceConnection subresource." + }, + "NetworkVirtualAppliancePropertiesFormat": { + "type": "object", + "properties": { + "additionalNics": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualApplianceAdditionalNicProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Details required for Additional Network Interface." + }, + "bootStrapConfigurationBlobs": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "BootStrapConfigurationBlobs storage URLs." + }, + "cloudInitConfiguration": { + "type": "string", + "description": "CloudInitConfiguration string in plain text." + }, + "cloudInitConfigurationBlobs": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CloudInitConfigurationBlob storage URLs." + }, + "delegation": { + "oneOf": [ + { + "$ref": "#/definitions/DelegationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the delegation." + }, + "nvaSku": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualApplianceSkuProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network Virtual Appliance Sku Properties." + }, + "partnerManagedResource": { + "oneOf": [ + { + "$ref": "#/definitions/PartnerManagedResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the partner managed resource." + }, + "sshPublicKey": { + "type": "string", + "description": "Public key for SSH login." + }, + "virtualApplianceAsn": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VirtualAppliance ASN. Microsoft private, public and IANA reserved ASN are not supported." + }, + "virtualHub": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Network Virtual Appliance definition." + }, + "networkVirtualAppliances_inboundSecurityRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of security rule collection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/InboundSecurityRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Inbound Security Rules resource." + }, + "type": { + "type": "string", + "enum": [ + "inboundSecurityRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkVirtualAppliances/inboundSecurityRules" + }, + "networkVirtualAppliances_networkVirtualApplianceConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the NVA connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkVirtualApplianceConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the NetworkVirtualApplianceConnection subresource." + }, + "type": { + "type": "string", + "enum": [ + "networkVirtualApplianceConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkVirtualAppliances/networkVirtualApplianceConnections" + }, + "networkVirtualAppliances_virtualApplianceSites_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the site." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualApplianceSiteProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the rule group." + }, + "type": { + "type": "string", + "enum": [ + "virtualApplianceSites" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkVirtualAppliances/virtualApplianceSites" + }, + "NetworkWatcherPropertiesFormat": { + "type": "object", + "properties": {}, + "description": "The network watcher properties." + }, + "networkWatchers_connectionMonitors_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "location": { + "type": "string", + "description": "Connection monitor location." + }, + "name": { + "type": "string", + "description": "The name of the connection monitor." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionMonitorParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters that define the operation to create a connection monitor." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection monitor tags." + }, + "type": { + "type": "string", + "enum": [ + "connectionMonitors" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkWatchers/connectionMonitors" + }, + "networkWatchers_flowLogs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the flow log." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FlowLogPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters that define the configuration of flow log." + }, + "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": [ + "flowLogs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkWatchers/flowLogs" + }, + "networkWatchers_packetCaptures_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the packet capture session." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PacketCaptureParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters that define the create packet capture operation." + }, + "type": { + "type": "string", + "enum": [ + "packetCaptures" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/networkWatchers/packetCaptures" + }, + "O365BreakOutCategoryPolicies": { + "type": "object", + "properties": { + "allow": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to control allow category." + }, + "default": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to control default category." + }, + "optimize": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to control optimize category." + } + }, + "description": "Office365 breakout categories." + }, + "O365PolicyProperties": { + "type": "object", + "properties": { + "breakOutCategories": { + "oneOf": [ + { + "$ref": "#/definitions/O365BreakOutCategoryPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Office365 breakout categories." + } + }, + "description": "The Office365 breakout policy." + }, + "Office365PolicyProperties": { + "type": "object", + "properties": { + "breakOutCategories": { + "oneOf": [ + { + "$ref": "#/definitions/BreakOutCategoryPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network Virtual Appliance Sku Properties." + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "OutboundRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OutboundRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Outbound rule of the load balancer." + } + }, + "description": "Outbound rule of the load balancer." + }, + "OutboundRulePropertiesFormat": { + "type": "object", + "properties": { + "allocatedOutboundPorts": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of outbound ports to be used for NAT." + }, + "backendAddressPool": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "enableTcpReset": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP." + }, + "frontendIPConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Frontend IP addresses of the load balancer." + }, + "idleTimeoutInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The timeout for the TCP idle connection." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Tcp", + "Udp", + "All" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The protocol for the outbound rule in load balancer." + } + }, + "required": [ + "backendAddressPool", + "frontendIPConfigurations", + "protocol" + ], + "description": "Outbound rule of the load balancer." + }, + "OwaspCrsExclusionEntry": { + "type": "object", + "properties": { + "exclusionManagedRuleSets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExclusionManagedRuleSet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed rule sets that are associated with the exclusion." + }, + "matchVariable": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RequestHeaderNames", + "RequestCookieNames", + "RequestArgNames", + "RequestHeaderKeys", + "RequestHeaderValues", + "RequestCookieKeys", + "RequestCookieValues", + "RequestArgKeys", + "RequestArgValues" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The variable to be excluded." + }, + "selector": { + "type": "string", + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to." + }, + "selectorMatchOperator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Equals", + "Contains", + "StartsWith", + "EndsWith", + "EqualsAny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to." + } + }, + "required": [ + "matchVariable", + "selector", + "selectorMatchOperator" + ], + "description": "Allow to exclude some variable satisfy the condition for the WAF check." + }, + "P2SConnectionConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/P2SConnectionConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for P2SConnectionConfiguration." + } + }, + "description": "P2SConnectionConfiguration Resource." + }, + "P2SConnectionConfigurationProperties": { + "type": "object", + "properties": { + "enableInternetSecurity": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not." + }, + "routingConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/RoutingConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Routing Configuration indicating the associated and propagated route tables for this connection." + }, + "vpnClientAddressPool": { + "oneOf": [ + { + "$ref": "#/definitions/AddressSpace" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + } + }, + "description": "Parameters for P2SConnectionConfiguration." + }, + "P2SVpnGatewayProperties": { + "type": "object", + "properties": { + "customDnsServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all customer specified DNS servers IP addresses." + }, + "isRoutingPreferenceInternet": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable Routing Preference property for the Public IP Interface of the P2SVpnGateway." + }, + "p2SConnectionConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/P2SConnectionConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all p2s connection configurations of the gateway." + }, + "virtualHub": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "vpnGatewayScaleUnit": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The scale unit for this p2s vpn gateway." + }, + "vpnServerConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Parameters for P2SVpnGateway." + }, + "PacketCaptureFilter": { + "type": "object", + "properties": { + "localIPAddress": { + "type": "string", + "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5\"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "localPort": { + "type": "string", + "description": "Local port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TCP", + "UDP", + "Any" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protocol to be filtered on." + }, + "remoteIPAddress": { + "type": "string", + "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "remotePort": { + "type": "string", + "description": "Remote port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + } + }, + "description": "Filter that is applied to packet capture request. Multiple filters can be applied." + }, + "PacketCaptureMachineScope": { + "type": "object", + "properties": { + "exclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture." + }, + "include": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of AzureVMSS instances to run packet capture on." + } + }, + "description": "A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS." + }, + "PacketCaptureParameters": { + "type": "object", + "properties": { + "bytesToCapturePerPacket": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 4294967295, + "default": "0" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of bytes captured per packet, the remaining bytes are truncated." + }, + "filters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PacketCaptureFilter" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of packet capture filters." + }, + "scope": { + "oneOf": [ + { + "$ref": "#/definitions/PacketCaptureMachineScope" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS." + }, + "storageLocation": { + "oneOf": [ + { + "$ref": "#/definitions/PacketCaptureStorageLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage location for a packet capture session." + }, + "target": { + "type": "string", + "description": "The ID of the targeted resource, only AzureVM and AzureVMSS as target type are currently supported." + }, + "targetType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureVM", + "AzureVMSS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target type of the resource provided." + }, + "timeLimitInSeconds": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 18000, + "default": "18000" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum duration of the capture session in seconds." + }, + "totalBytesPerSession": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 4294967295, + "default": "1073741824" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum size of the capture output." + } + }, + "required": [ + "storageLocation", + "target" + ], + "description": "Parameters that define the create packet capture operation." + }, + "PacketCaptureStorageLocation": { + "type": "object", + "properties": { + "filePath": { + "type": "string", + "description": "A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional." + }, + "storageId": { + "type": "string", + "description": "The ID of the storage account to save the packet capture session. Required if no local file path is provided." + }, + "storagePath": { + "type": "string", + "description": "The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture." + } + }, + "description": "The storage location for a packet capture session." + }, + "Parameter": { + "type": "object", + "properties": { + "asPath": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of AS paths." + }, + "community": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of BGP communities." + }, + "routePrefix": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of route prefixes." + } + }, + "description": "Parameters for an Action." + }, + "PartnerManagedResourceProperties": { + "type": "object", + "properties": {}, + "description": "Properties of the partner managed resource." + }, + "PolicySettings": { + "type": "object", + "properties": { + "customBlockResponseBody": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$", + "maxLength": 32768 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding." + }, + "customBlockResponseStatusCode": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the action type is block, customer can override the response status code." + }, + "fileUploadEnforcement": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether allow WAF to enforce file upload limits." + }, + "fileUploadLimitInMb": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum file upload size in Mb for WAF." + }, + "logScrubbing": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySettingsLogScrubbing" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To scrub sensitive log fields" + }, + "maxRequestBodySizeInKb": { + "oneOf": [ + { + "type": "integer", + "minimum": 8 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum request body size in Kb for WAF." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Prevention", + "Detection" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The mode of the policy." + }, + "requestBodyCheck": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to allow WAF to check request Body." + }, + "requestBodyEnforcement": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether allow WAF to enforce request body limits." + }, + "requestBodyInspectLimitInKB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Max inspection limit in KB for request body inspection for WAF." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of the policy." + } + }, + "description": "Defines contents of a web application firewall global configuration." + }, + "PolicySettingsLogScrubbing": { + "type": "object", + "properties": { + "scrubbingRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WebApplicationFirewallScrubbingRules" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rules that are applied to the logs for scrubbing." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "State of the log scrubbing config. Default value is Enabled." + } + }, + "description": "To scrub sensitive log fields" + }, + "PrivateDnsZoneConfig": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateDnsZonePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the private dns zone configuration resource." + } + }, + "description": "PrivateDnsZoneConfig resource." + }, + "PrivateDnsZoneGroupPropertiesFormat": { + "type": "object", + "properties": { + "privateDnsZoneConfigs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateDnsZoneConfig" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of private dns zone configurations of the private dns zone group." + } + }, + "description": "Properties of the private dns zone group." + }, + "PrivateDnsZonePropertiesFormat": { + "type": "object", + "properties": { + "privateDnsZoneId": { + "type": "string", + "description": "The resource id of the private dns zone." + } + }, + "description": "Properties of the private dns zone configuration resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "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." + } + }, + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateEndpointIPConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointIPConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an IP Configuration of the private endpoint." + } + }, + "description": "An IP Configuration of the private endpoint." + }, + "PrivateEndpointIPConfigurationProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The ID of a group obtained from the remote resource that this private endpoint should connect to." + }, + "memberName": { + "type": "string", + "description": "The member name of a group obtained from the remote resource that this private endpoint should connect to." + }, + "privateIPAddress": { + "type": "string", + "description": "A private ip address obtained from the private endpoint's subnet." + } + }, + "description": "Properties of an IP Configuration of the private endpoint." + }, + "PrivateEndpointProperties": { + "type": "object", + "properties": { + "applicationSecurityGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationSecurityGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application security groups in which the private endpoint IP configuration is included." + }, + "customDnsConfigs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CustomDnsConfigPropertiesFormat" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of custom dns configurations." + }, + "customNetworkInterfaceName": { + "type": "string", + "description": "The custom name of the network interface attached to the private endpoint." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints." + }, + "manualPrivateLinkServiceConnections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceConnection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource." + }, + "privateLinkServiceConnections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceConnection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A grouping of information about the connection to the remote resource." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/Subnet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subnet in a virtual network resource." + } + }, + "description": "Properties of the private endpoint." + }, + "privateEndpoints_privateDnsZoneGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the private dns zone group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateDnsZoneGroupPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the private dns zone group." + }, + "type": { + "type": "string", + "enum": [ + "privateDnsZoneGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups" + }, + "PrivateLinkService": { + "type": "object", + "properties": { + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExtendedLocation complex type." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the private link service." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + } + }, + "description": "Private link service resource." + }, + "PrivateLinkServiceConnection": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the PrivateLinkServiceConnection." + } + }, + "description": "PrivateLinkServiceConnection resource." + }, + "PrivateLinkServiceConnectionProperties": { + "type": "object", + "properties": { + "groupIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to." + }, + "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." + }, + "privateLinkServiceId": { + "type": "string", + "description": "The resource id of private link service." + }, + "requestMessage": { + "type": "string", + "description": "A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars." + } + }, + "description": "Properties of the PrivateLinkServiceConnection." + }, + "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": { + "type": "string", + "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." + }, + "PrivateLinkServiceIpConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of private link service ip configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceIpConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of private link service IP configuration." + } + }, + "description": "The private link service ip configuration." + }, + "PrivateLinkServiceIpConfigurationProperties": { + "type": "object", + "properties": { + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the ip configuration is primary or not." + }, + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4." + }, + "privateIPAllocationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Static", + "Dynamic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private IP address allocation method." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/Subnet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subnet in a virtual network resource." + } + }, + "description": "Properties of private link service IP configuration." + }, + "PrivateLinkServiceProperties": { + "type": "object", + "properties": { + "autoApproval": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServicePropertiesAutoApproval" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The auto-approval list of the private link service." + }, + "enableProxyProtocol": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the private link service is enabled for proxy protocol or not." + }, + "fqdns": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Fqdn." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceIpConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of private link service IP configurations." + }, + "loadBalancerFrontendIpConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of references to the load balancer IP configurations." + }, + "visibility": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServicePropertiesVisibility" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The visibility list of the private link service." + } + }, + "description": "Properties of the private link service." + }, + "PrivateLinkServicePropertiesAutoApproval": { + "type": "object", + "properties": { + "subscriptions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of subscriptions." + } + }, + "description": "The auto-approval list of the private link service." + }, + "PrivateLinkServicePropertiesVisibility": { + "type": "object", + "properties": { + "subscriptions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of subscriptions." + } + }, + "description": "The visibility list of the private link service." + }, + "privateLinkServices_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the private end point connection." + }, + "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.Network/privateLinkServices/privateEndpointConnections" + }, + "Probe": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProbePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Load balancer probe resource." + } + }, + "description": "A load balancer probe." + }, + "ProbePropertiesFormat": { + "type": "object", + "properties": { + "intervalInSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5." + }, + "numberOfProbes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port for communicating the probe. Possible values range from 1 to 65535, inclusive." + }, + "probeThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Http", + "Tcp", + "Https" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful." + }, + "requestPath": { + "type": "string", + "description": "The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value." + } + }, + "required": [ + "port", + "protocol" + ], + "description": "Load balancer probe resource." + }, + "PropagatedRouteTable": { + "type": "object", + "properties": { + "ids": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of resource ids of all the RouteTables." + }, + "labels": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of labels." + } + }, + "description": "The list of RouteTables to advertise the routes to." + }, + "PropagatedRouteTableNfv": { + "type": "object", + "properties": { + "ids": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RoutingConfigurationNfvSubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of resource ids of all the RouteTables." + }, + "labels": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of labels." + } + }, + "description": "Nfv version of the list of RouteTables to advertise the routes to." + }, + "PublicIPAddress": { + "type": "object", + "properties": { + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExtendedLocation complex type." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PublicIPAddressPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Public IP address properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/PublicIPAddressSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU of a public IP address." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "description": "Public IP address resource." + }, + "PublicIPAddressDnsSettings": { + "type": "object", + "properties": { + "domainNameLabel": { + "type": "string", + "description": "The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system." + }, + "domainNameLabelScope": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TenantReuse", + "SubscriptionReuse", + "ResourceGroupReuse", + "NoReuse" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN." + }, + "fqdn": { + "type": "string", + "description": "The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone." + }, + "reverseFqdn": { + "type": "string", + "description": "The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN." + } + }, + "description": "Contains FQDN of the DNS record associated with the public IP address." + }, + "PublicIPAddressPropertiesFormat": { + "type": "object", + "properties": { + "ddosSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DdosSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Contains the DDoS protection settings of the public IP." + }, + "deleteOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Detach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specify what happens to the public IP address when the VM using it is deleted." + }, + "dnsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/PublicIPAddressDnsSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Contains FQDN of the DNS record associated with the public IP address." + }, + "idleTimeoutInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The idle timeout of the public IP address." + }, + "ipAddress": { + "type": "string", + "description": "The IP address associated with the public IP address resource." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of tags associated with the public IP address." + }, + "linkedPublicIPAddress": { + "oneOf": [ + { + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Public IP address resource." + }, + "migrationPhase": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Prepare", + "Commit", + "Abort", + "Committed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration phase of Public IP Address." + }, + "natGateway": { + "oneOf": [ + { + "$ref": "#/definitions/NatGateway" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Nat Gateway resource." + }, + "publicIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The public IP address version." + }, + "publicIPAllocationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Static", + "Dynamic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The public IP address allocation method." + }, + "publicIPPrefix": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "servicePublicIPAddress": { + "oneOf": [ + { + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Public IP address resource." + } + }, + "description": "Public IP address properties." + }, + "PublicIPAddressSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of a public IP address SKU." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Regional", + "Global" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tier of a public IP address SKU." + } + }, + "description": "SKU of a public IP address." + }, + "PublicIPPrefixPropertiesFormat": { + "type": "object", + "properties": { + "customIPPrefix": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "ipTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of tags associated with the public IP prefix." + }, + "natGateway": { + "oneOf": [ + { + "$ref": "#/definitions/NatGateway" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Nat Gateway resource." + }, + "prefixLength": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Length of the Public IP Prefix." + }, + "publicIPAddressVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The public IP address version." + } + }, + "description": "Public IP prefix properties." + }, + "PublicIPPrefixSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of a public IP prefix SKU." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Regional", + "Global" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tier of a public IP prefix SKU." + } + }, + "description": "SKU of a public IP prefix." + }, + "QosDefinition": { + "type": "object", + "properties": { + "destinationIpRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/QosIpRange" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Destination IP ranges." + }, + "destinationPortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/QosPortRange" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Destination port ranges." + }, + "markings": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of markings to be used in the configuration." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DoNotUse", + "Icmp", + "Tcp", + "Udp", + "Gre", + "Esp", + "Ah", + "Vxlan", + "All" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "RNM supported protocol types." + }, + "sourceIpRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/QosIpRange" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source IP ranges." + }, + "sourcePortRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/QosPortRange" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sources port ranges." + } + }, + "description": "Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking." + }, + "QosIpRange": { + "type": "object", + "properties": { + "endIP": { + "type": "string", + "description": "End IP Address." + }, + "startIP": { + "type": "string", + "description": "Start IP Address." + } + }, + "description": "Qos Traffic Profiler IP Range properties." + }, + "QosPortRange": { + "type": "object", + "properties": { + "end": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Qos Port Range end." + }, + "start": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Qos Port Range start." + } + }, + "description": "Qos Traffic Profiler Port range properties." + }, + "RadiusServer": { + "type": "object", + "properties": { + "radiusServerAddress": { + "type": "string", + "description": "The address of this radius server." + }, + "radiusServerScore": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The initial score assigned to this radius server." + }, + "radiusServerSecret": { + "type": "string", + "description": "The secret used for this radius server." + } + }, + "required": [ + "radiusServerAddress" + ], + "description": "Radius Server Settings." + }, + "RetentionPolicyParameters": { + "type": "object", + "properties": { + "days": { + "oneOf": [ + { + "type": "integer", + "default": "0" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of days to retain flow log records." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to enable/disable retention." + } + }, + "description": "Parameters that define the retention policy for flow log." + }, + "Route": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RoutePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Route resource." + }, + "type": { + "type": "string", + "description": "The type of the resource." + } + }, + "description": "Route resource." + }, + "RouteFilterPropertiesFormat": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RouteFilterRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of RouteFilterRules contained within a route filter." + } + }, + "description": "Route Filter Resource." + }, + "RouteFilterRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RouteFilterRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Route Filter Rule Resource." + } + }, + "description": "Route Filter Rule Resource." + }, + "RouteFilterRulePropertiesFormat": { + "type": "object", + "properties": { + "access": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The access type of the rule." + }, + "communities": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']." + }, + "routeFilterRuleType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Community" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rule type of the rule." + } + }, + "required": [ + "access", + "communities", + "routeFilterRuleType" + ], + "description": "Route Filter Rule Resource." + }, + "routeFilters_routeFilterRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the route filter rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RouteFilterRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Route Filter Rule Resource." + }, + "type": { + "type": "string", + "enum": [ + "routeFilterRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/routeFilters/routeFilterRules" + }, + "RouteMapProperties": { + "type": "object", + "properties": { + "associatedInboundConnections": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of connections which have this RoutMap associated for inbound traffic." + }, + "associatedOutboundConnections": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of connections which have this RoutMap associated for outbound traffic." + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RouteMapRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of RouteMap rules to be applied." + } + }, + "description": "Properties of RouteMap resource" + }, + "RouteMapRule": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Action" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of actions which will be applied on a match." + }, + "matchCriteria": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Criterion" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of matching criterion which will be applied to traffic." + }, + "name": { + "type": "string", + "description": "The unique name for the rule." + }, + "nextStepIfMatched": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Continue", + "Terminate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'." + } + }, + "description": "A RouteMap Rule." + }, + "RoutePropertiesFormat": { + "type": "object", + "properties": { + "addressPrefix": { + "type": "string", + "description": "The destination CIDR to which the route applies." + }, + "hasBgpOverride": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether this route overrides overlapping BGP routes regardless of LPM." + }, + "nextHopIpAddress": { + "type": "string", + "description": "The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance." + }, + "nextHopType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "VirtualNetworkGateway", + "VnetLocal", + "Internet", + "VirtualAppliance", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of Azure hop the packet should be sent to." + } + }, + "required": [ + "nextHopType" + ], + "description": "Route resource." + }, + "RouteTable": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RouteTablePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Route Table resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + } + }, + "description": "Route table resource." + }, + "RouteTablePropertiesFormat": { + "type": "object", + "properties": { + "disableBgpRoutePropagation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to disable the routes learned by BGP on that route table. True means disable." + }, + "routes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Route" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of routes contained within a route table." + } + }, + "description": "Route Table resource." + }, + "routeTables_routes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the route." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RoutePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Route resource." + }, + "type": { + "type": "string", + "enum": [ + "routes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/routeTables/routes" + }, + "RoutingConfiguration": { + "type": "object", + "properties": { + "associatedRouteTable": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "inboundRouteMap": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "outboundRouteMap": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "propagatedRouteTables": { + "oneOf": [ + { + "$ref": "#/definitions/PropagatedRouteTable" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of RouteTables to advertise the routes to." + }, + "vnetRoutes": { + "oneOf": [ + { + "$ref": "#/definitions/VnetRoute" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of routes that control routing from VirtualHub into a virtual network connection." + } + }, + "description": "Routing Configuration indicating the associated and propagated route tables for this connection." + }, + "RoutingConfigurationNfv": { + "type": "object", + "properties": { + "associatedRouteTable": { + "oneOf": [ + { + "$ref": "#/definitions/RoutingConfigurationNfvSubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to RouteTableV3 associated with the connection." + }, + "inboundRouteMap": { + "oneOf": [ + { + "$ref": "#/definitions/RoutingConfigurationNfvSubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to RouteTableV3 associated with the connection." + }, + "outboundRouteMap": { + "oneOf": [ + { + "$ref": "#/definitions/RoutingConfigurationNfvSubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to RouteTableV3 associated with the connection." + }, + "propagatedRouteTables": { + "oneOf": [ + { + "$ref": "#/definitions/PropagatedRouteTableNfv" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Nfv version of the list of RouteTables to advertise the routes to." + } + }, + "description": "NFV version of Routing Configuration indicating the associated and propagated route tables for this connection." + }, + "RoutingConfigurationNfvSubResource": { + "type": "object", + "properties": { + "resourceUri": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to RouteTableV3 associated with the connection." + }, + "RoutingIntentProperties": { + "type": "object", + "properties": { + "routingPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RoutingPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of routing policies." + } + }, + "description": "The properties of a RoutingIntent resource." + }, + "RoutingPolicy": { + "type": "object", + "properties": { + "destinations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic)." + }, + "name": { + "type": "string", + "description": "The unique name for the routing policy." + }, + "nextHop": { + "type": "string", + "description": "The next hop resource id on which this routing policy is applicable to." + } + }, + "required": [ + "destinations", + "name", + "nextHop" + ], + "description": "The routing policy object used in a RoutingIntent resource." + }, + "ScopeConnectionProperties": { + "type": "object", + "properties": { + "connectionState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Connected", + "Pending", + "Conflict", + "Revoked", + "Rejected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection State." + }, + "description": { + "type": "string", + "description": "A description of the scope connection." + }, + "resourceId": { + "type": "string", + "description": "Resource ID." + }, + "tenantId": { + "type": "string", + "description": "Tenant ID." + } + }, + "description": "Scope connection." + }, + "SecurityAdminConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "applyOnNetworkIntentPolicyBasedServices": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "None", + "All", + "AllowRulesOnly" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum list of network intent policy based services." + }, + "description": { + "type": "string", + "description": "A description of the security configuration." + } + }, + "description": "Defines the security admin configuration properties." + }, + "SecurityPartnerProviderPropertiesFormat": { + "type": "object", + "properties": { + "securityProviderName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ZScaler", + "IBoss", + "Checkpoint" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The security provider name." + }, + "virtualHub": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of the Security Partner Provider." + }, + "SecurityRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityRulePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Security rule resource." + }, + "type": { + "type": "string", + "description": "The type of the resource." + } + }, + "description": "Network security rule." + }, + "SecurityRulePropertiesFormat": { + "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": "A description for this rule. Restricted to 140 chars." + }, + "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." + }, + "destinationApplicationSecurityGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationSecurityGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The application security group specified as destination." + }, + "destinationPortRange": { + "type": "string", + "description": "The 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": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic." + }, + "priority": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The priority of the rule. The value can be between 100 and 4096. 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": [ + "Tcp", + "Udp", + "Icmp", + "Esp", + "*", + "Ah" + ] + }, + { + "$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." + }, + "sourceApplicationSecurityGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationSecurityGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The application security group specified as source." + }, + "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", + "priority", + "protocol" + ], + "description": "Security rule resource." + }, + "ServiceDelegationPropertiesFormat": { + "type": "object", + "properties": { + "serviceName": { + "type": "string", + "description": "The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers)." + } + }, + "description": "Properties of a service delegation." + }, + "serviceEndpointPolicies_serviceEndpointPolicyDefinitions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the service endpoint policy definition name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceEndpointPolicyDefinitionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service Endpoint policy definition resource." + }, + "type": { + "type": "string", + "enum": [ + "serviceEndpointPolicyDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/serviceEndpointPolicies/serviceEndpointPolicyDefinitions" + }, + "ServiceEndpointPolicy": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceEndpointPolicyPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service Endpoint Policy resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + } + }, + "description": "Service End point policy resource." + }, + "ServiceEndpointPolicyDefinition": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceEndpointPolicyDefinitionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service Endpoint policy definition resource." + }, + "type": { + "type": "string", + "description": "The type of the resource." + } + }, + "description": "Service Endpoint policy definitions." + }, + "ServiceEndpointPolicyDefinitionPropertiesFormat": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description for this rule. Restricted to 140 chars." + }, + "service": { + "type": "string", + "description": "Service endpoint name." + }, + "serviceResources": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of service resources." + } + }, + "description": "Service Endpoint policy definition resource." + }, + "ServiceEndpointPolicyPropertiesFormat": { + "type": "object", + "properties": { + "contextualServiceEndpointPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of contextual service endpoint policy." + }, + "serviceAlias": { + "type": "string", + "description": "The alias indicating if the policy belongs to a service" + }, + "serviceEndpointPolicyDefinitions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of service endpoint policy definitions of the service endpoint policy." + } + }, + "description": "Service Endpoint Policy resource." + }, + "ServiceEndpointPropertiesFormat": { + "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." + } + }, + "description": "The service endpoint properties." + }, + "SignaturesOverridesProperties": { + "type": "object", + "properties": { + "signatures": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Will contain the properties of the resource (the actual signature overrides)" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of this Bastion Host." + } + }, + "description": "The sku of this Bastion Host." + }, + "StaticMemberProperties": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Resource Id." + } + }, + "description": "Properties of static member." + }, + "StaticRoute": { + "type": "object", + "properties": { + "addressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all address prefixes." + }, + "name": { + "type": "string", + "description": "The name of the StaticRoute that is unique within a VnetRoute." + }, + "nextHopIpAddress": { + "type": "string", + "description": "The ip address of the next hop." + } + }, + "description": "List of all Static Routes." + }, + "StaticRoutesConfig": { + "type": "object", + "properties": { + "vnetLocalRouteOverrideCriteria": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Contains", + "Equal" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke." + } + }, + "description": "Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection." + }, + "Subnet": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SubnetPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the subnet." + }, + "type": { + "type": "string", + "description": "Resource type." + } + }, + "description": "Subnet in a virtual network resource." + }, + "SubnetPropertiesFormat": { + "type": "object", + "properties": { + "addressPrefix": { + "type": "string", + "description": "The address prefix for the subnet." + }, + "addressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of address prefixes for the subnet." + }, + "applicationGatewayIPConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application gateway IP configurations of virtual network resource." + }, + "defaultOutboundAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet." + }, + "delegations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Delegation" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of references to the delegations on the subnet." + }, + "ipAllocations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of IpAllocation which reference this subnet." + }, + "natGateway": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "networkSecurityGroup": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkSecurityGroup" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NetworkSecurityGroup resource." + }, + "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." + }, + "routeTable": { + "oneOf": [ + { + "$ref": "#/definitions/RouteTable" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Route table resource." + }, + "serviceEndpointPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of service endpoint policies." + }, + "serviceEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointPropertiesFormat" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of service endpoints." + } + }, + "description": "Properties of the subnet." + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another subresource." + }, + "SwapResourceProperties": { + "type": "object", + "properties": { + "slotType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Production", + "Staging" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies slot info on a cloud service." + } + }, + "description": "Swap resource properties" + }, + "TrafficAnalyticsConfigurationProperties": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to enable/disable traffic analytics." + }, + "trafficAnalyticsInterval": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The interval in minutes which would decide how frequently TA service should do flow analytics." + }, + "workspaceId": { + "type": "string", + "description": "The resource guid of the attached workspace." + }, + "workspaceRegion": { + "type": "string", + "description": "The location of the attached workspace." + }, + "workspaceResourceId": { + "type": "string", + "description": "Resource Id of the attached workspace." + } + }, + "description": "Parameters that define the configuration of traffic analytics." + }, + "TrafficAnalyticsProperties": { + "type": "object", + "properties": { + "networkWatcherFlowAnalyticsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/TrafficAnalyticsConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters that define the configuration of traffic analytics." + } + }, + "description": "Parameters that define the configuration of traffic analytics." + }, + "TrafficSelectorPolicy": { + "type": "object", + "properties": { + "localAddressRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of local address spaces in CIDR format." + }, + "remoteAddressRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of remote address spaces in CIDR format." + } + }, + "required": [ + "localAddressRanges", + "remoteAddressRanges" + ], + "description": "An traffic selector policy for a virtual network gateway connection." + }, + "VirtualApplianceAdditionalNicProperties": { + "type": "object", + "properties": { + "hasPublicIp": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag (true or false) for Intent for Public Ip on additional nic" + }, + "name": { + "type": "string", + "description": "Name of additional nic" + } + }, + "description": "Network Virtual Appliance Additional NIC properties." + }, + "VirtualApplianceSiteProperties": { + "type": "object", + "properties": { + "addressPrefix": { + "type": "string", + "description": "Address Prefix." + }, + "o365Policy": { + "oneOf": [ + { + "$ref": "#/definitions/Office365PolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network Virtual Appliance Sku Properties." + } + }, + "description": "Properties of the rule group." + }, + "VirtualApplianceSkuProperties": { + "type": "object", + "properties": { + "bundledScaleUnit": { + "type": "string", + "description": "Virtual Appliance Scale Unit." + }, + "marketPlaceVersion": { + "type": "string", + "description": "Virtual Appliance Version." + }, + "vendor": { + "type": "string", + "description": "Virtual Appliance Vendor." + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "VirtualHubId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same subscription." + } + }, + "description": "Virtual Hub identifier." + }, + "VirtualHubProperties": { + "type": "object", + "properties": { + "addressPrefix": { + "type": "string", + "description": "Address-prefix for this VirtualHub." + }, + "allowBranchToBranchTraffic": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to control transit for VirtualRouter hub." + }, + "azureFirewall": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "expressRouteGateway": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "hubRoutingPreference": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ExpressRoute", + "VpnGateway", + "ASPath" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hubRoutingPreference of this VirtualHub." + }, + "p2SVpnGateway": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "preferredRoutingGateway": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ExpressRoute", + "VpnGateway", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The preferred gateway to route on-prem traffic." + }, + "routeTable": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHubRouteTable" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VirtualHub route table." + }, + "routingState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Provisioned", + "Provisioning", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The routing state." + }, + "securityPartnerProvider": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "securityProviderName": { + "type": "string", + "description": "The Security Provider name." + }, + "sku": { + "type": "string", + "description": "The sku of this VirtualHub." + }, + "virtualHubRouteTableV2s": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all virtual hub route table v2s associated with this VirtualHub." + }, + "virtualRouterAsn": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VirtualRouter ASN." + }, + "virtualRouterAutoScaleConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualRouterAutoScaleConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The VirtualHub Router autoscale configuration." + }, + "virtualRouterIps": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VirtualRouter IPs." + }, + "virtualWan": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "vpnGateway": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Parameters for VirtualHub." + }, + "VirtualHubRoute": { + "type": "object", + "properties": { + "addressPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all addressPrefixes." + }, + "nextHopIpAddress": { + "type": "string", + "description": "NextHop ip address." + } + }, + "description": "VirtualHub route." + }, + "VirtualHubRouteTable": { + "type": "object", + "properties": { + "routes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualHubRoute" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all routes." + } + }, + "description": "VirtualHub route table." + }, + "VirtualHubRouteTableV2": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHubRouteTableV2Properties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VirtualHubRouteTableV2." + } + }, + "description": "VirtualHubRouteTableV2 Resource." + }, + "VirtualHubRouteTableV2Properties": { + "type": "object", + "properties": { + "attachedConnections": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all connections attached to this route table v2." + }, + "routes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualHubRouteV2" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all routes." + } + }, + "description": "Parameters for VirtualHubRouteTableV2." + }, + "VirtualHubRouteV2": { + "type": "object", + "properties": { + "destinations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all destinations." + }, + "destinationType": { + "type": "string", + "description": "The type of destinations." + }, + "nextHops": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NextHops ip address." + }, + "nextHopType": { + "type": "string", + "description": "The type of next hops." + } + }, + "description": "VirtualHubRouteTableV2 route." + }, + "virtualHubs_bgpConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BgpConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the bgp connection." + }, + "type": { + "type": "string", + "enum": [ + "bgpConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/bgpConnections" + }, + "virtualHubs_hubRouteTables_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the RouteTable." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/HubRouteTableProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for RouteTable." + }, + "type": { + "type": "string", + "enum": [ + "hubRouteTables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/hubRouteTables" + }, + "virtualHubs_hubVirtualNetworkConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the HubVirtualNetworkConnection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/HubVirtualNetworkConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for HubVirtualNetworkConnection." + }, + "type": { + "type": "string", + "enum": [ + "hubVirtualNetworkConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/hubVirtualNetworkConnections" + }, + "virtualHubs_ipConfigurations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the ipconfig." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/HubIPConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of IP configuration." + }, + "type": { + "type": "string", + "enum": [ + "ipConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/ipConfigurations" + }, + "virtualHubs_routeMaps_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the RouteMap." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RouteMapProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of RouteMap resource" + }, + "type": { + "type": "string", + "enum": [ + "routeMaps" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/routeMaps" + }, + "virtualHubs_routeTables_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the VirtualHubRouteTableV2." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHubRouteTableV2Properties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VirtualHubRouteTableV2." + }, + "type": { + "type": "string", + "enum": [ + "routeTables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/routeTables" + }, + "virtualHubs_routingIntent_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the per VirtualHub singleton Routing Intent resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RoutingIntentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a RoutingIntent resource." + }, + "type": { + "type": "string", + "enum": [ + "routingIntent" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualHubs/routingIntent" + }, + "VirtualNetworkBgpCommunities": { + "type": "object", + "properties": { + "virtualNetworkCommunity": { + "type": "string", + "description": "The BGP community associated with the virtual network." + } + }, + "required": [ + "virtualNetworkCommunity" + ], + "description": "Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET." + }, + "VirtualNetworkEncryption": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if encryption is enabled on the virtual network." + }, + "enforcement": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DropUnencrypted", + "AllowUnencrypted" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the encrypted VNet allows VM that does not support encryption." + } + }, + "required": [ + "enabled" + ], + "description": "Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet." + }, + "VirtualNetworkGateway": { + "type": "object", + "properties": { + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ExtendedLocation complex type." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkGatewayPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VirtualNetworkGateway properties." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + } + }, + "required": [ + "properties" + ], + "description": "A common class for general resource information." + }, + "VirtualNetworkGatewayAutoScaleBounds": { + "type": "object", + "properties": { + "max": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum Scale Units for Autoscale configuration" + }, + "min": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum scale Units for Autoscale configuration" + } + } + }, + "VirtualNetworkGatewayAutoScaleConfiguration": { + "type": "object", + "properties": { + "bounds": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkGatewayAutoScaleBounds" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Virtual Network Gateway Autoscale Configuration details" + }, + "VirtualNetworkGatewayConnectionPropertiesFormat": { + "type": "object", + "properties": { + "authorizationKey": { + "type": "string", + "description": "The authorizationKey." + }, + "connectionMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "ResponderOnly", + "InitiatorOnly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The connection mode for this connection." + }, + "connectionProtocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IKEv2", + "IKEv1" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection protocol used for this connection." + }, + "connectionType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IPsec", + "Vnet2Vnet", + "ExpressRoute", + "VPNClient" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gateway connection type." + }, + "dpdTimeoutSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The dead peer detection timeout of this connection in seconds." + }, + "egressNatRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of egress NatRules." + }, + "enableBgp": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "EnableBgp flag." + }, + "enablePrivateLinkFastPath": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled." + }, + "expressRouteGatewayBypass": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Bypass ExpressRoute Gateway for data forwarding." + }, + "gatewayCustomBgpIpAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayCustomBgpIpAddressIpConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "GatewayCustomBgpIpAddresses to be used for virtual network gateway Connection." + }, + "ingressNatRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of ingress NatRules." + }, + "ipsecPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpsecPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IPSec Policies to be considered by this connection." + }, + "localNetworkGateway2": { + "oneOf": [ + { + "$ref": "#/definitions/LocalNetworkGateway" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A common class for general resource information." + }, + "peer": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "routingWeight": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The routing weight." + }, + "sharedKey": { + "type": "string", + "description": "The IPSec shared key." + }, + "trafficSelectorPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrafficSelectorPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Traffic Selector Policies to be considered by this connection." + }, + "useLocalAzureIpAddress": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Use private local Azure IP for the connection." + }, + "usePolicyBasedTrafficSelectors": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable policy-based traffic selectors." + }, + "virtualNetworkGateway1": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkGateway" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A common class for general resource information." + }, + "virtualNetworkGateway2": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkGateway" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A common class for general resource information." + } + }, + "required": [ + "connectionType", + "virtualNetworkGateway1" + ], + "description": "VirtualNetworkGatewayConnection properties." + }, + "VirtualNetworkGatewayIPConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkGatewayIPConfigurationPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of VirtualNetworkGatewayIPConfiguration." + } + }, + "description": "IP configuration for virtual network gateway." + }, + "VirtualNetworkGatewayIPConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "privateIPAllocationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Static", + "Dynamic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private IP address allocation method." + }, + "publicIPAddress": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Properties of VirtualNetworkGatewayIPConfiguration." + }, + "VirtualNetworkGatewayNatRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkGatewayNatRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VirtualNetworkGatewayNatRule." + } + }, + "description": "VirtualNetworkGatewayNatRule Resource." + }, + "VirtualNetworkGatewayNatRuleProperties": { + "type": "object", + "properties": { + "externalMappings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnNatRuleMapping" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private IP address external mapping for NAT." + }, + "internalMappings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnNatRuleMapping" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private IP address internal mapping for NAT." + }, + "ipConfigurationId": { + "type": "string", + "description": "The IP Configuration ID this NAT rule applies to." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "EgressSnat", + "IngressSnat" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Source NAT direction of a VPN NAT." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Static", + "Dynamic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of NAT rule for VPN NAT." + } + }, + "description": "Parameters for VirtualNetworkGatewayNatRule." + }, + "VirtualNetworkGatewayPolicyGroup": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkGatewayPolicyGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of VirtualNetworkGatewayPolicyGroup." + } + }, + "description": "Parameters for VirtualNetworkGatewayPolicyGroup." + }, + "VirtualNetworkGatewayPolicyGroupMember": { + "type": "object", + "properties": { + "attributeType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CertificateGroupId", + "AADGroupId", + "RadiusAzureGroupId" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Vpn Policy member attribute type." + }, + "attributeValue": { + "type": "string", + "description": "The value of Attribute used for this VirtualNetworkGatewayPolicyGroupMember." + }, + "name": { + "type": "string", + "description": "Name of the VirtualNetworkGatewayPolicyGroupMember." + } + }, + "description": "Vpn Client Connection configuration PolicyGroup member" + }, + "VirtualNetworkGatewayPolicyGroupProperties": { + "type": "object", + "properties": { + "isDefault": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Shows if this is a Default VirtualNetworkGatewayPolicyGroup or not." + }, + "policyMembers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayPolicyGroupMember" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Multiple PolicyMembers for VirtualNetworkGatewayPolicyGroup." + }, + "priority": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Priority for VirtualNetworkGatewayPolicyGroup." + } + }, + "required": [ + "isDefault", + "policyMembers", + "priority" + ], + "description": "Properties of VirtualNetworkGatewayPolicyGroup." + }, + "VirtualNetworkGatewayPropertiesFormat": { + "type": "object", + "properties": { + "activeActive": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ActiveActive flag." + }, + "adminState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property to indicate if the Express Route Gateway serves traffic when there are multiple Express Route Gateways in the vnet." + }, + "allowRemoteVnetTraffic": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configure this gateway to accept traffic from other Azure Virtual Networks. This configuration does not support connectivity to Azure Virtual WAN." + }, + "allowVirtualWanTraffic": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configures this gateway to accept traffic from remote Virtual WAN networks." + }, + "autoScaleConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkGatewayAutoScaleConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Virtual Network Gateway Autoscale Configuration details" + }, + "bgpSettings": { + "oneOf": [ + { + "$ref": "#/definitions/BgpSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "BGP settings details." + }, + "customRoutes": { + "oneOf": [ + { + "$ref": "#/definitions/AddressSpace" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + }, + "disableIPSecReplayProtection": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "disableIPSecReplayProtection flag." + }, + "enableBgp": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether BGP is enabled for this virtual network gateway or not." + }, + "enableBgpRouteTranslationForNat": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "EnableBgpRouteTranslationForNat flag." + }, + "enableDnsForwarding": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether dns forwarding is enabled or not." + }, + "enablePrivateIpAddress": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether private IP needs to be enabled on this gateway for connections or not." + }, + "gatewayDefaultSite": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "gatewayType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Vpn", + "ExpressRoute", + "LocalGateway" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of this virtual network gateway." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IP configurations for virtual network gateway." + }, + "natRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NatRules for virtual network gateway." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkGatewaySku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VirtualNetworkGatewaySku details." + }, + "virtualNetworkGatewayPolicyGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayPolicyGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The reference to the VirtualNetworkGatewayPolicyGroup resource which represents the available VirtualNetworkGatewayPolicyGroup for the gateway." + }, + "vNetExtendedLocationResourceId": { + "type": "string", + "description": "Customer vnet resource id. VirtualNetworkGateway of type local gateway is associated with the customer vnet." + }, + "vpnClientConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VpnClientConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VpnClientConfiguration for P2S client." + }, + "vpnGatewayGeneration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Generation1", + "Generation2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN." + }, + "vpnType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "PolicyBased", + "RouteBased" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of this virtual network gateway." + } + }, + "description": "VirtualNetworkGateway properties." + }, + "VirtualNetworkGatewaySku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "HighPerformance", + "Standard", + "UltraPerformance", + "VpnGw1", + "VpnGw2", + "VpnGw3", + "VpnGw4", + "VpnGw5", + "VpnGw1AZ", + "VpnGw2AZ", + "VpnGw3AZ", + "VpnGw4AZ", + "VpnGw5AZ", + "ErGw1AZ", + "ErGw2AZ", + "ErGw3AZ" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gateway SKU name." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "HighPerformance", + "Standard", + "UltraPerformance", + "VpnGw1", + "VpnGw2", + "VpnGw3", + "VpnGw4", + "VpnGw5", + "VpnGw1AZ", + "VpnGw2AZ", + "VpnGw3AZ", + "VpnGw4AZ", + "VpnGw5AZ", + "ErGw1AZ", + "ErGw2AZ", + "ErGw3AZ" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gateway SKU tier." + } + }, + "description": "VirtualNetworkGatewaySku details." + }, + "virtualNetworkGateways_natRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the nat rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkGatewayNatRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VirtualNetworkGatewayNatRule." + }, + "type": { + "type": "string", + "enum": [ + "natRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualNetworkGateways/natRules" + }, + "VirtualNetworkPeering": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkPeeringPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the virtual network peering." + }, + "type": { + "type": "string", + "description": "Resource type." + } + }, + "description": "Peerings in a virtual network resource." + }, + "VirtualNetworkPeeringPropertiesFormat": { + "type": "object", + "properties": { + "allowForwardedTraffic": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network." + }, + "allowGatewayTransit": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If gateway links can be used in remote virtual networking to link to this virtual network." + }, + "allowVirtualNetworkAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space." + }, + "doNotVerifyRemoteGateways": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If we need to verify the provisioning state of the remote gateway." + }, + "peeringState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Initiated", + "Connected", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The status of the virtual network peering." + }, + "peeringSyncLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FullyInSync", + "RemoteNotInSync", + "LocalNotInSync", + "LocalAndRemoteNotInSync" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The peering sync status of the virtual network peering." + }, + "remoteAddressSpace": { + "oneOf": [ + { + "$ref": "#/definitions/AddressSpace" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + }, + "remoteBgpCommunities": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkBgpCommunities" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET." + }, + "remoteVirtualNetwork": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "remoteVirtualNetworkAddressSpace": { + "oneOf": [ + { + "$ref": "#/definitions/AddressSpace" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + }, + "useRemoteGateways": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway." + } + }, + "description": "Properties of the virtual network peering." + }, + "VirtualNetworkPropertiesFormat": { + "type": "object", + "properties": { + "addressSpace": { + "oneOf": [ + { + "$ref": "#/definitions/AddressSpace" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + }, + "bgpCommunities": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkBgpCommunities" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET." + }, + "ddosProtectionPlan": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "dhcpOptions": { + "oneOf": [ + { + "$ref": "#/definitions/DhcpOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP options." + }, + "enableDdosProtection": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the resource." + }, + "enableVmProtection": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if VM protection is enabled for all the subnets in the virtual network." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet." + }, + "flowTimeoutInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The FlowTimeout value (in minutes) for the Virtual Network" + }, + "ipAllocations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of IpAllocation which reference this VNET." + }, + "subnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of subnets in a Virtual Network." + }, + "virtualNetworkPeerings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of peerings in a Virtual Network." + } + }, + "description": "Properties of the virtual network." + }, + "virtualNetworks_subnets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the subnet." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SubnetPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the subnet." + }, + "type": { + "type": "string", + "enum": [ + "subnets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualNetworks/subnets" + }, + "virtualNetworks_virtualNetworkPeerings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the peering." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkPeeringPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the virtual network peering." + }, + "type": { + "type": "string", + "enum": [ + "virtualNetworkPeerings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualNetworks/virtualNetworkPeerings" + }, + "VirtualNetworkTap": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkTapPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Virtual Network Tap properties." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + } + }, + "description": "Virtual Network Tap resource." + }, + "VirtualNetworkTapPropertiesFormat": { + "type": "object", + "properties": { + "destinationLoadBalancerFrontEndIPConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/FrontendIPConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frontend IP address of the load balancer." + }, + "destinationNetworkInterfaceIPConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkInterfaceIPConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IPConfiguration in a network interface." + }, + "destinationPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The VXLAN destination port that will receive the tapped traffic." + } + }, + "description": "Virtual Network Tap properties." + }, + "VirtualRouterAutoScaleConfiguration": { + "type": "object", + "properties": { + "minCapacity": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum number of scale units for VirtualHub Router." + } + }, + "description": "The VirtualHub Router autoscale configuration." + }, + "VirtualRouterPeeringProperties": { + "type": "object", + "properties": { + "peerAsn": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Peer ASN." + }, + "peerIp": { + "type": "string", + "description": "Peer IP." + } + }, + "description": "Properties of the rule group." + }, + "VirtualRouterPropertiesFormat": { + "type": "object", + "properties": { + "hostedGateway": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "hostedSubnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "virtualRouterAsn": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VirtualRouter ASN." + }, + "virtualRouterIps": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VirtualRouter IPs." + } + }, + "description": "Virtual Router definition." + }, + "virtualRouters_peerings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the Virtual Router Peering." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualRouterPeeringProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the rule group." + }, + "type": { + "type": "string", + "enum": [ + "peerings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/virtualRouters/peerings" + }, + "VirtualWanProperties": { + "type": "object", + "properties": { + "allowBranchToBranchTraffic": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "True if branch to branch traffic is allowed." + }, + "allowVnetToVnetTraffic": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "True if Vnet to Vnet traffic is allowed." + }, + "disableVpnEncryption": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vpn encryption to be disabled or not." + }, + "office365LocalBreakoutCategory": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Optimize", + "OptimizeAndAllow", + "All", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The office local breakout category." + }, + "type": { + "type": "string", + "description": "The type of the VirtualWAN." + } + }, + "description": "Parameters for VirtualWAN." + }, + "VnetRoute": { + "type": "object", + "properties": { + "staticRoutes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/StaticRoute" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all Static Routes." + }, + "staticRoutesConfig": { + "oneOf": [ + { + "$ref": "#/definitions/StaticRoutesConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection." + } + }, + "description": "List of routes that control routing from VirtualHub into a virtual network connection." + }, + "VngClientConnectionConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VngClientConnectionConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of VngClientConnectionConfiguration." + } + }, + "description": "A vpn client connection configuration for client connection configuration." + }, + "VngClientConnectionConfigurationProperties": { + "type": "object", + "properties": { + "virtualNetworkGatewayPolicyGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of references to virtualNetworkGatewayPolicyGroups" + }, + "vpnClientAddressPool": { + "oneOf": [ + { + "$ref": "#/definitions/AddressSpace" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + } + }, + "required": [ + "virtualNetworkGatewayPolicyGroups", + "vpnClientAddressPool" + ], + "description": "Properties of VngClientConnectionConfiguration." + }, + "VpnClientConfiguration": { + "type": "object", + "properties": { + "aadAudience": { + "type": "string", + "description": "The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication." + }, + "aadIssuer": { + "type": "string", + "description": "The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication." + }, + "aadTenant": { + "type": "string", + "description": "The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication." + }, + "radiusServerAddress": { + "type": "string", + "description": "The radius server address property of the VirtualNetworkGateway resource for vpn client connection." + }, + "radiusServers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RadiusServer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The radiusServers property for multiple radius server configuration." + }, + "radiusServerSecret": { + "type": "string", + "description": "The radius secret property of the VirtualNetworkGateway resource for vpn client connection." + }, + "vngClientConnectionConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VngClientConnectionConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "per ip address pool connection policy for virtual network gateway P2S client." + }, + "vpnAuthenticationTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Certificate", + "Radius", + "AAD" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VPN authentication types for the virtual network gateway.." + }, + "vpnClientAddressPool": { + "oneOf": [ + { + "$ref": "#/definitions/AddressSpace" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + }, + "vpnClientIpsecPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpsecPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VpnClientIpsecPolicies for virtual network gateway P2S client." + }, + "vpnClientProtocols": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "IkeV2", + "SSTP", + "OpenVPN" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VpnClientProtocols for Virtual network gateway." + }, + "vpnClientRevokedCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientRevokedCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VpnClientRevokedCertificate for Virtual network gateway." + }, + "vpnClientRootCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientRootCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VpnClientRootCertificate for virtual network gateway." + } + }, + "description": "VpnClientConfiguration for P2S client." + }, + "VpnClientRevokedCertificate": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnClientRevokedCertificatePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the revoked VPN client certificate of virtual network gateway." + } + }, + "description": "VPN client revoked certificate of virtual network gateway." + }, + "VpnClientRevokedCertificatePropertiesFormat": { + "type": "object", + "properties": { + "thumbprint": { + "type": "string", + "description": "The revoked VPN client certificate thumbprint." + } + }, + "description": "Properties of the revoked VPN client certificate of virtual network gateway." + }, + "VpnClientRootCertificate": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnClientRootCertificatePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of SSL certificates of application gateway." + } + }, + "required": [ + "properties" + ], + "description": "VPN client root certificate of virtual network gateway." + }, + "VpnClientRootCertificatePropertiesFormat": { + "type": "object", + "properties": { + "publicCertData": { + "type": "string", + "description": "The certificate public data." + } + }, + "required": [ + "publicCertData" + ], + "description": "Properties of SSL certificates of application gateway." + }, + "VpnConnection": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnConnection." + } + }, + "description": "VpnConnection Resource." + }, + "VpnConnectionProperties": { + "type": "object", + "properties": { + "connectionBandwidth": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Expected bandwidth in MBPS." + }, + "connectionStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The connection status." + }, + "dpdTimeoutSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DPD timeout in seconds for vpn connection." + }, + "enableBgp": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "EnableBgp flag." + }, + "enableInternetSecurity": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable internet security." + }, + "enableRateLimiting": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "EnableBgp flag." + }, + "ipsecPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpsecPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IPSec Policies to be considered by this connection." + }, + "remoteVpnSite": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "routingConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/RoutingConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Routing Configuration indicating the associated and propagated route tables for this connection." + }, + "routingWeight": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Routing weight for vpn connection." + }, + "sharedKey": { + "type": "string", + "description": "SharedKey for the vpn connection." + }, + "trafficSelectorPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrafficSelectorPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Traffic Selector Policies to be considered by this connection." + }, + "useLocalAzureIpAddress": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Use local azure ip to initiate connection." + }, + "usePolicyBasedTrafficSelectors": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable policy-based traffic selectors." + }, + "vpnConnectionProtocolType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IKEv2", + "IKEv1" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection protocol used for this connection." + }, + "vpnLinkConnections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnSiteLinkConnection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all vpn site link connections to the gateway." + } + }, + "description": "Parameters for VpnConnection." + }, + "VpnGatewayNatRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnGatewayNatRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnGatewayNatRule." + } + }, + "description": "VpnGatewayNatRule Resource." + }, + "VpnGatewayNatRuleProperties": { + "type": "object", + "properties": { + "externalMappings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnNatRuleMapping" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private IP address external mapping for NAT." + }, + "internalMappings": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnNatRuleMapping" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private IP address internal mapping for NAT." + }, + "ipConfigurationId": { + "type": "string", + "description": "The IP Configuration ID this NAT rule applies to." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "EgressSnat", + "IngressSnat" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Source NAT direction of a VPN NAT." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Static", + "Dynamic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of NAT rule for VPN NAT." + } + }, + "description": "Parameters for VpnGatewayNatRule." + }, + "VpnGatewayProperties": { + "type": "object", + "properties": { + "bgpSettings": { + "oneOf": [ + { + "$ref": "#/definitions/BgpSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "BGP settings details." + }, + "connections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnConnection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all vpn connections to the gateway." + }, + "enableBgpRouteTranslationForNat": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable BGP routes translation for NAT on this VpnGateway." + }, + "isRoutingPreferenceInternet": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable Routing Preference property for the Public IP Interface of the VpnGateway." + }, + "natRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnGatewayNatRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all the nat Rules associated with the gateway." + }, + "virtualHub": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "vpnGatewayScaleUnit": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The scale unit for this vpn gateway." + } + }, + "description": "Parameters for VpnGateway." + }, + "vpnGateways_natRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the nat rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnGatewayNatRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnGatewayNatRule." + }, + "type": { + "type": "string", + "enum": [ + "natRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/vpnGateways/natRules" + }, + "vpnGateways_vpnConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnConnection." + }, + "type": { + "type": "string", + "enum": [ + "vpnConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/vpnGateways/vpnConnections" + }, + "VpnLinkBgpSettings": { + "type": "object", + "properties": { + "asn": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The BGP speaker's ASN." + }, + "bgpPeeringAddress": { + "type": "string", + "description": "The BGP peering address and BGP identifier of this BGP speaker." + } + }, + "description": "BGP settings details for a link." + }, + "VpnLinkProviderProperties": { + "type": "object", + "properties": { + "linkProviderName": { + "type": "string", + "description": "Name of the link provider." + }, + "linkSpeedInMbps": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Link speed." + } + }, + "description": "List of properties of a link provider." + }, + "VpnNatRuleMapping": { + "type": "object", + "properties": { + "addressSpace": { + "type": "string", + "description": "Address space for Vpn NatRule mapping." + }, + "portRange": { + "type": "string", + "description": "Port range for Vpn NatRule mapping." + } + }, + "description": "Vpn NatRule mapping." + }, + "VpnServerConfigRadiusClientRootCertificate": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "thumbprint": { + "type": "string", + "description": "The Radius client root certificate thumbprint." + } + }, + "description": "Properties of the Radius client root certificate of VpnServerConfiguration." + }, + "VpnServerConfigRadiusServerRootCertificate": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "publicCertData": { + "type": "string", + "description": "The certificate public data." + } + }, + "description": "Properties of Radius Server root certificate of VpnServerConfiguration." + }, + "VpnServerConfigurationPolicyGroup": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnServerConfigurationPolicyGroup." + } + }, + "description": "VpnServerConfigurationPolicyGroup Resource." + }, + "VpnServerConfigurationPolicyGroupMember": { + "type": "object", + "properties": { + "attributeType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CertificateGroupId", + "AADGroupId", + "RadiusAzureGroupId" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Vpn Policy member attribute type." + }, + "attributeValue": { + "type": "string", + "description": "The value of Attribute used for this VpnServerConfigurationPolicyGroupMember." + }, + "name": { + "type": "string", + "description": "Name of the VpnServerConfigurationPolicyGroupMember." + } + }, + "description": "VpnServerConfiguration PolicyGroup member" + }, + "VpnServerConfigurationPolicyGroupProperties": { + "type": "object", + "properties": { + "isDefault": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Shows if this is a Default VpnServerConfigurationPolicyGroup or not." + }, + "policyMembers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroupMember" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Multiple PolicyMembers for VpnServerConfigurationPolicyGroup." + }, + "priority": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Priority for VpnServerConfigurationPolicyGroup." + } + }, + "description": "Parameters for VpnServerConfigurationPolicyGroup." + }, + "VpnServerConfigurationProperties": { + "type": "object", + "properties": { + "aadAuthenticationParameters": { + "oneOf": [ + { + "$ref": "#/definitions/AadAuthenticationParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AAD Vpn authentication type related parameters." + }, + "configurationPolicyGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all VpnServerConfigurationPolicyGroups." + }, + "name": { + "type": "string", + "description": "The name of the VpnServerConfiguration that is unique within a resource group." + }, + "radiusClientRootCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigRadiusClientRootCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Radius client root certificate of VpnServerConfiguration." + }, + "radiusServerAddress": { + "type": "string", + "description": "The radius server address property of the VpnServerConfiguration resource for point to site client connection." + }, + "radiusServerRootCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigRadiusServerRootCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Radius Server root certificate of VpnServerConfiguration." + }, + "radiusServers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RadiusServer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Multiple Radius Server configuration for VpnServerConfiguration." + }, + "radiusServerSecret": { + "type": "string", + "description": "The radius secret property of the VpnServerConfiguration resource for point to site client connection." + }, + "vpnAuthenticationTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Certificate", + "Radius", + "AAD" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VPN authentication types for the VpnServerConfiguration." + }, + "vpnClientIpsecPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpsecPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VpnClientIpsecPolicies for VpnServerConfiguration." + }, + "vpnClientRevokedCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigVpnClientRevokedCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VPN client revoked certificate of VpnServerConfiguration." + }, + "vpnClientRootCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigVpnClientRootCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VPN client root certificate of VpnServerConfiguration." + }, + "vpnProtocols": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "IkeV2", + "OpenVPN" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "VPN protocols for the VpnServerConfiguration." + } + }, + "description": "Parameters for VpnServerConfiguration." + }, + "vpnServerConfigurations_configurationPolicyGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the ConfigurationPolicyGroup." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnServerConfigurationPolicyGroup." + }, + "type": { + "type": "string", + "enum": [ + "configurationPolicyGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Network/vpnServerConfigurations/configurationPolicyGroups" + }, + "VpnServerConfigVpnClientRevokedCertificate": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "thumbprint": { + "type": "string", + "description": "The revoked VPN client certificate thumbprint." + } + }, + "description": "Properties of the revoked VPN client certificate of VpnServerConfiguration." + }, + "VpnServerConfigVpnClientRootCertificate": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "publicCertData": { + "type": "string", + "description": "The certificate public data." + } + }, + "description": "Properties of VPN client root certificate of VpnServerConfiguration." + }, + "VpnSiteLink": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnSiteLinkProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnSite." + } + }, + "description": "VpnSiteLink Resource." + }, + "VpnSiteLinkConnection": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnSiteLinkConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters for VpnConnection." + } + }, + "description": "VpnSiteLinkConnection Resource." + }, + "VpnSiteLinkConnectionProperties": { + "type": "object", + "properties": { + "connectionBandwidth": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Expected bandwidth in MBPS." + }, + "connectionStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The connection status." + }, + "egressNatRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of egress NatRules." + }, + "enableBgp": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "EnableBgp flag." + }, + "enableRateLimiting": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "EnableBgp flag." + }, + "ingressNatRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of ingress NatRules." + }, + "ipsecPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpsecPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IPSec Policies to be considered by this connection." + }, + "routingWeight": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Routing weight for vpn connection." + }, + "sharedKey": { + "type": "string", + "description": "SharedKey for the vpn connection." + }, + "useLocalAzureIpAddress": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Use local azure ip to initiate connection." + }, + "usePolicyBasedTrafficSelectors": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable policy-based traffic selectors." + }, + "vpnConnectionProtocolType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IKEv2", + "IKEv1" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection protocol used for this connection." + }, + "vpnGatewayCustomBgpAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayCustomBgpIpAddressIpConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "vpnGatewayCustomBgpAddresses used by this connection." + }, + "vpnLinkConnectionMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "ResponderOnly", + "InitiatorOnly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vpn link connection mode." + }, + "vpnSiteLink": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + } + }, + "description": "Parameters for VpnConnection." + }, + "VpnSiteLinkProperties": { + "type": "object", + "properties": { + "bgpProperties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnLinkBgpSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "BGP settings details for a link." + }, + "fqdn": { + "type": "string", + "description": "FQDN of vpn-site-link." + }, + "ipAddress": { + "type": "string", + "description": "The ip-address for the vpn-site-link." + }, + "linkProperties": { + "oneOf": [ + { + "$ref": "#/definitions/VpnLinkProviderProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of properties of a link provider." + } + }, + "description": "Parameters for VpnSite." + }, + "VpnSiteProperties": { + "type": "object", + "properties": { + "addressSpace": { + "oneOf": [ + { + "$ref": "#/definitions/AddressSpace" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + }, + "bgpProperties": { + "oneOf": [ + { + "$ref": "#/definitions/BgpSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "BGP settings details." + }, + "deviceProperties": { + "oneOf": [ + { + "$ref": "#/definitions/DeviceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of properties of the device." + }, + "ipAddress": { + "type": "string", + "description": "The ip-address for the vpn-site." + }, + "isSecuritySite": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IsSecuritySite flag." + }, + "o365Policy": { + "oneOf": [ + { + "$ref": "#/definitions/O365PolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Office365 breakout policy." + }, + "siteKey": { + "type": "string", + "description": "The key for vpn-site that can be used for connections." + }, + "virtualWan": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another subresource." + }, + "vpnSiteLinks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VpnSiteLink" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of all vpn site links." + } + }, + "description": "Parameters for VpnSite." + }, + "WebApplicationFirewallCustomRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Block", + "Log" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of Actions." + }, + "groupByUserSession": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GroupByUserSession" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of user session identifier group by clauses." + }, + "matchConditions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of match conditions." + }, + "name": { + "type": "string", + "maxLength": 128, + "description": "The name of the resource that is unique within a policy. This name can be used to access the resource." + }, + "priority": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value." + }, + "rateLimitDuration": { + "oneOf": [ + { + "type": "string", + "enum": [ + "OneMin", + "FiveMins" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Duration over which Rate Limit policy will be applied. Applies only when ruleType is RateLimitRule." + }, + "rateLimitThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rate Limit threshold to apply in case ruleType is RateLimitRule. Must be greater than or equal to 1" + }, + "ruleType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MatchRule", + "RateLimitRule", + "Invalid" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The rule type." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + } + }, + "required": [ + "action", + "matchConditions", + "priority", + "ruleType" + ], + "description": "Defines contents of a web application rule." + }, + "WebApplicationFirewallPolicyPropertiesFormat": { + "type": "object", + "properties": { + "customRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WebApplicationFirewallCustomRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The custom rules inside the policy." + }, + "managedRules": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedRulesDefinition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allow to exclude some variable satisfy the condition for the WAF check." + }, + "policySettings": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines contents of a web application firewall global configuration." + } + }, + "required": [ + "managedRules" + ], + "description": "Defines web application firewall policy properties." + }, + "WebApplicationFirewallScrubbingRules": { + "type": "object", + "properties": { + "matchVariable": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RequestHeaderNames", + "RequestCookieNames", + "RequestArgNames", + "RequestPostArgNames", + "RequestJSONArgNames", + "RequestIPAddress" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The variable to be scrubbed from the logs." + }, + "selector": { + "type": "string", + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this rule applies to." + }, + "selectorMatchOperator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Equals", + "EqualsAny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the state of log scrubbing rule. Default value is Enabled." + } + }, + "required": [ + "matchVariable", + "selectorMatchOperator" + ], + "description": "Allow certain variables to be scrubbed on WAF logs" + } + } +} \ No newline at end of file diff --git a/schemas/2023-06-01-preview/Microsoft.Quota.json b/schemas/2023-06-01-preview/Microsoft.Quota.json new file mode 100644 index 0000000000..db0259870e --- /dev/null +++ b/schemas/2023-06-01-preview/Microsoft.Quota.json @@ -0,0 +1,432 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-06-01-preview/Microsoft.Quota.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Quota", + "description": "Microsoft Quota Resource Types", + "resourceDefinitions": {}, + "managementGroup_resourceDefinitions": { + "groupQuotas": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The GroupQuota name. The name should be unique for the provided context tenantId/MgId." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GroupQuotasEntityBase" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties and filters for ShareQuota. The request parameter is optional, if there are no filters specified." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/groupQuotas_subscriptions_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Quota/groupQuotas" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Quota/groupQuotas" + }, + "groupQuotas_subscriptions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "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 ID of the target subscription. The value must be an UUID." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Quota/groupQuotas/subscriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Quota/groupQuotas/subscriptions" + } + }, + "extension_resourceDefinitions": { + "groupQuotas_groupQuotaLimits": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GroupQuotaDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Group Quota details." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Quota/groupQuotas/groupQuotaLimits" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Quota/groupQuotas/groupQuotaLimits" + }, + "groupQuotas_quotaAllocations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SubscriptionQuotaDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subscription Quota details." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Quota/groupQuotas/quotaAllocations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Quota/groupQuotas/quotaAllocations" + } + }, + "definitions": { + "AdditionalAttributes": { + "type": "object", + "properties": { + "environment": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NonProduction", + "Production" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "groupId": { + "oneOf": [ + { + "$ref": "#/definitions/GroupingId" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The grouping Id for the group quota. It can be management Group Id or ServiceTreeId if applicable. " + } + }, + "required": [ + "groupId" + ], + "description": "Additional attribute to allow subscriptions to be part of the GroupQuota." + }, + "AssignedToSubscription": { + "type": "object", + "properties": { + "quotaAllocated": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The amount of quota allocated to this subscriptionId from the GroupQuotasEntity." + }, + "subscriptionId": { + "type": "string", + "description": "An Azure subscriptionId." + } + }, + "description": "SubscriptionIds and quota allocated to subscriptions from the GroupQuota." + }, + "GroupingId": { + "type": "object", + "properties": { + "groupingIdType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ServiceTreeId", + "BillingId" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "value": { + "type": "string", + "description": "GroupId value based on the groupingType selected - management Group Id or ServiceTreeId." + } + }, + "description": "The grouping Id for the group quota. It can be management Group Id or ServiceTreeId if applicable. " + }, + "GroupQuotaDetails": { + "type": "object", + "properties": { + "assignedToSubscriptions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AssignedToSubscription" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Assigned Group Quota to subscriptions." + }, + "comment": { + "type": "string", + "description": "Any comment related to quota request." + }, + "limit": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The current Group Quota Limit at the parentId level." + }, + "name": { + "oneOf": [ + { + "$ref": "#/definitions/GroupQuotaDetailsName" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the resource provided by the resource Provider. This property is already included in the request URI, so it is a readonly property returned in the response." + } + }, + "description": "Group Quota details." + }, + "GroupQuotaDetailsName": { + "type": "object", + "properties": {}, + "description": "Name of the resource provided by the resource Provider. This property is already included in the request URI, so it is a readonly property returned in the response." + }, + "GroupQuotasEntityBase": { + "type": "object", + "properties": { + "additionalAttributes": { + "oneOf": [ + { + "$ref": "#/definitions/AdditionalAttributes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional attribute to allow subscriptions to be part of the GroupQuota." + }, + "displayName": { + "type": "string", + "description": "Display name of the GroupQuota entity." + } + }, + "description": "Properties and filters for ShareQuota. The request parameter is optional, if there are no filters specified." + }, + "groupQuotas_subscriptions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-01-preview" + ] + }, + "name": { + "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 ID of the target subscription. The value must be an UUID." + }, + "type": { + "type": "string", + "enum": [ + "subscriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Quota/groupQuotas/subscriptions" + }, + "SubscriptionGroupQuotaAssignment": { + "type": "object", + "properties": { + "managementGroupId": { + "type": "string", + "description": "The management group id of the quota source." + }, + "quotaAllocated": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The amount of quota allocated to this subscriptionId from the quota source." + } + }, + "description": "MGId the source of groupQuota." + }, + "SubscriptionQuotaDetails": { + "type": "object", + "properties": { + "quotaSources": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionGroupQuotaAssignment" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Assigned Group Quota to subscriptions." + } + }, + "description": "Subscription Quota details." + } + } +} \ No newline at end of file diff --git a/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json b/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json new file mode 100644 index 0000000000..79247cc0ca --- /dev/null +++ b/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json @@ -0,0 +1,4514 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-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-06-27-preview/Microsoft.DelegatedNetwork.json b/schemas/2023-06-27-preview/Microsoft.DelegatedNetwork.json new file mode 100644 index 0000000000..ff10afa129 --- /dev/null +++ b/schemas/2023-06-27-preview/Microsoft.DelegatedNetwork.json @@ -0,0 +1,381 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-06-27-preview/Microsoft.DelegatedNetwork.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DelegatedNetwork", + "description": "Microsoft DelegatedNetwork Resource Types", + "resourceDefinitions": { + "controller": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-27-preview" + ] + }, + "location": { + "type": "string", + "description": "Location of the resource." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DelegatedControllerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of Delegated controller resource." + }, + "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.DelegatedNetwork/controller" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DelegatedNetwork/controller" + }, + "delegatedSubnets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-27-preview" + ] + }, + "location": { + "type": "string", + "description": "Location of the resource." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DelegatedSubnetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of delegated subnet" + }, + "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.DelegatedNetwork/delegatedSubnets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DelegatedNetwork/delegatedSubnets" + }, + "orchestrators": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-06-27-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/OrchestratorIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Kubernetes" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The kind of workbook. Choices are user and shared." + }, + "location": { + "type": "string", + "description": "Location of the resource." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OrchestratorResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of orchestrator" + }, + "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.DelegatedNetwork/orchestrators" + ] + } + }, + "required": [ + "apiVersion", + "kind", + "name", + "properties", + "type" + ], + "description": "Microsoft.DelegatedNetwork/orchestrators" + } + }, + "definitions": { + "ControllerDetails": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "controller arm resource id" + } + }, + "description": "controller details" + }, + "DelegatedControllerProperties": { + "type": "object", + "properties": { + "purpose": { + "oneOf": [ + { + "type": "string", + "enum": [ + "test", + "prod" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The purpose of the dnc controller resource." + } + }, + "description": "Properties of Delegated controller resource." + }, + "DelegatedSubnetProperties": { + "type": "object", + "properties": { + "allocationBlockPrefixSize": { + "oneOf": [ + { + "type": "integer", + "minimum": 24, + "maximum": 30 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines prefix size of CIDR blocks allocated to nodes in VnetBlock Mode.\r\nDelegated subnet's prefix size should be smaller than this by a minimum of 3." + }, + "controllerDetails": { + "oneOf": [ + { + "$ref": "#/definitions/ControllerDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "controller details" + }, + "subnetDetails": { + "oneOf": [ + { + "$ref": "#/definitions/SubnetDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of orchestrator" + } + }, + "description": "Properties of delegated subnet" + }, + "OrchestratorIdentity": { + "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 identity used for orchestrator cluster. Type 'SystemAssigned' will use an implicitly created identity orchestrator clusters." + } + } + }, + "OrchestratorResourceProperties": { + "type": "object", + "properties": { + "apiServerEndpoint": { + "type": "string", + "description": "K8s APIServer url. Either one of apiServerEndpoint or privateLinkResourceId can be specified" + }, + "clusterRootCA": { + "type": "string", + "description": "RootCA certificate of kubernetes cluster base64 encoded" + }, + "controllerDetails": { + "oneOf": [ + { + "$ref": "#/definitions/ControllerDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "controller details" + }, + "orchestratorAppId": { + "type": "string", + "description": "AAD ID used with apiserver" + }, + "orchestratorTenantId": { + "type": "string", + "description": "TenantID of server App ID" + }, + "privateLinkResourceId": { + "type": "string", + "description": "private link arm resource id. Either one of apiServerEndpoint or privateLinkResourceId can be specified" + } + }, + "required": [ + "controllerDetails" + ], + "description": "Properties of orchestrator" + }, + "SubnetDetails": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "subnet arm resource id" + } + }, + "description": "Properties of orchestrator" + } + } +} \ No newline at end of file diff --git a/schemas/2023-07-01-preview/Microsoft.AppPlatform.json b/schemas/2023-07-01-preview/Microsoft.AppPlatform.json new file mode 100644 index 0000000000..cd2a626b0c --- /dev/null +++ b/schemas/2023-07-01-preview/Microsoft.AppPlatform.json @@ -0,0 +1,6875 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.AppPlatform", + "description": "Microsoft AppPlatform Resource Types", + "resourceDefinitions": { + "Spring": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The GEO location of the resource." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9-]*[a-z0-9]$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Service resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service properties payload" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/Spring_apms_childResource" + }, + { + "$ref": "#/definitions/Spring_eurekaServers_childResource" + }, + { + "$ref": "#/definitions/Spring_configServers_childResource" + }, + { + "$ref": "#/definitions/Spring_configurationServices_childResource" + }, + { + "$ref": "#/definitions/Spring_serviceRegistries_childResource" + }, + { + "$ref": "#/definitions/Spring_applicationLiveViews_childResource" + }, + { + "$ref": "#/definitions/Spring_DevToolPortals_childResource" + }, + { + "$ref": "#/definitions/Spring_containerRegistries_childResource" + }, + { + "$ref": "#/definitions/Spring_buildServices_childResource" + }, + { + "$ref": "#/definitions/Spring_monitoringSettings_childResource" + }, + { + "$ref": "#/definitions/Spring_apps_childResource" + }, + { + "$ref": "#/definitions/Spring_storages_childResource" + }, + { + "$ref": "#/definitions/Spring_certificates_childResource" + }, + { + "$ref": "#/definitions/Spring_gateways_childResource" + }, + { + "$ref": "#/definitions/Spring_apiPortals_childResource" + }, + { + "$ref": "#/definitions/Spring_applicationAccelerators_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Apps" + }, + "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": "Tags of the service which is a list of key value pairs that describe the resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring" + }, + "Spring_apiPortals": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of API portal." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiPortalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API portal properties payload" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/Spring_apiPortals_domains_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Apps" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/apiPortals" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apiPortals" + }, + "Spring_apiPortals_domains": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the API portal custom domain." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiPortalCustomDomainProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of custom domain for API portal" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/apiPortals/domains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apiPortals/domains" + }, + "Spring_apms": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9-]*[a-z0-9]$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the APM" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApmProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an APM" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/apms" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apms" + }, + "Spring_applicationAccelerators": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the application accelerator." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationAcceleratorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application accelerator properties payload" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/Spring_applicationAccelerators_customizedAccelerators_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Apps" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/applicationAccelerators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/applicationAccelerators" + }, + "Spring_applicationAccelerators_customizedAccelerators": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the customized accelerator." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomizedAcceleratorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Customized accelerator properties payload" + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Apps" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/applicationAccelerators/customizedAccelerators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/applicationAccelerators/customizedAccelerators" + }, + "Spring_applicationLiveViews": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of Application Live View." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationLiveViewProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application Live View properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/applicationLiveViews" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/applicationLiveViews" + }, + "Spring_apps": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedIdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity properties retrieved from ARM request headers." + }, + "location": { + "type": "string", + "description": "The GEO location of the application, always the same with its parent resource" + }, + "name": { + "type": "string", + "description": "The name of the App resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AppResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "App resource properties payload" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/Spring_apps_bindings_childResource" + }, + { + "$ref": "#/definitions/Spring_apps_domains_childResource" + }, + { + "$ref": "#/definitions/Spring_apps_deployments_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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/apps" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apps" + }, + "Spring_apps_bindings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the Binding resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BindingResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Binding resource properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/apps/bindings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apps/bindings" + }, + "Spring_apps_deployments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the Deployment resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DeploymentResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Deployment resource properties payload" + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Apps" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/apps/deployments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apps/deployments" + }, + "Spring_apps_domains": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the custom domain resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom domain of app resource payload." + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/apps/domains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apps/domains" + }, + "Spring_buildServices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the build service resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BuildServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Build service resource properties payload" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/Spring_buildServices_builds_childResource" + }, + { + "$ref": "#/definitions/Spring_buildServices_builders_childResource" + }, + { + "$ref": "#/definitions/Spring_buildServices_agentPools_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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/buildServices" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/buildServices" + }, + "Spring_buildServices_agentPools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the build service agent pool resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BuildServiceAgentPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Build service agent pool 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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/buildServices/agentPools" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/buildServices/agentPools" + }, + "Spring_buildServices_builders": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the builder resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BuilderProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "KPack Builder properties payload" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/Spring_buildServices_builders_buildpackBindings_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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/buildServices/builders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/buildServices/builders" + }, + "Spring_buildServices_builders_buildpackBindings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the Buildpack Binding Name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BuildpackBindingProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a buildpack binding" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings" + }, + "Spring_buildServices_builds": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the build resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BuildProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Build resource properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/buildServices/builds" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/buildServices/builds" + }, + "Spring_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the certificate resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource payload." + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/certificates" + }, + "Spring_configServers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigServerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Config server git properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/configServers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/configServers" + }, + "Spring_configurationServices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9]*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of Application Configuration Service." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application Configuration Service properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/configurationServices" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/configurationServices" + }, + "Spring_containerRegistries": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9-]*[a-z0-9]$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the container registry." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerRegistryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container registry resource payload." + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/containerRegistries" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/containerRegistries" + }, + "Spring_DevToolPortals": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of Dev Tool Portal." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DevToolPortalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dev Tool Portal properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/DevToolPortals" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/DevToolPortals" + }, + "Spring_eurekaServers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EurekaServerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Eureka server properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/eurekaServers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/eurekaServers" + }, + "Spring_gateways": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9]*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of Spring Cloud Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Spring Cloud Gateway properties payload" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/Spring_gateways_routeConfigs_childResource" + }, + { + "$ref": "#/definitions/Spring_gateways_domains_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Apps" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/gateways" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/gateways" + }, + "Spring_gateways_domains": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the Spring Cloud Gateway custom domain." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayCustomDomainProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of custom domain for Spring Cloud Gateway" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/gateways/domains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/gateways/domains" + }, + "Spring_gateways_routeConfigs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the Spring Cloud Gateway route config." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayRouteConfigProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API route config of the Spring Cloud Gateway" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/gateways/routeConfigs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/gateways/routeConfigs" + }, + "Spring_monitoringSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MonitoringSettingProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monitoring Setting properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/monitoringSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/monitoringSettings" + }, + "Spring_serviceRegistries": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of Service Registry." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/serviceRegistries" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/serviceRegistries" + }, + "Spring_storages": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the storage resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage resource payload." + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AppPlatform/Spring/storages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/storages" + } + }, + "definitions": { + "AcceleratorAuthSetting": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AcceleratorPublicSetting" + }, + { + "$ref": "#/definitions/AcceleratorBasicAuthSetting" + }, + { + "$ref": "#/definitions/AcceleratorSshSetting" + } + ], + "properties": {}, + "description": "Auth setting payload." + }, + "AcceleratorBasicAuthSetting": { + "type": "object", + "properties": { + "authType": { + "type": "string", + "enum": [ + "BasicAuth" + ] + }, + "caCertResourceId": { + "type": "string", + "description": "Resource Id of CA certificate for https URL of Git repository." + }, + "password": { + "type": "string", + "description": "Password of git repository basic auth." + }, + "username": { + "type": "string", + "description": "Username of git repository basic auth." + } + }, + "required": [ + "authType", + "username" + ], + "description": "Auth setting for basic auth." + }, + "AcceleratorGitRepository": { + "type": "object", + "properties": { + "authSetting": { + "oneOf": [ + { + "$ref": "#/definitions/AcceleratorAuthSetting" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Auth setting payload." + }, + "branch": { + "type": "string", + "description": "Git repository branch to be used." + }, + "commit": { + "type": "string", + "description": "Git repository commit to be used." + }, + "gitTag": { + "type": "string", + "description": "Git repository tag to be used." + }, + "intervalInSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Interval for checking for updates to Git or image repository." + }, + "url": { + "type": "string", + "description": "Git repository URL for the accelerator." + } + }, + "required": [ + "authSetting", + "url" + ] + }, + "AcceleratorPublicSetting": { + "type": "object", + "properties": { + "authType": { + "type": "string", + "enum": [ + "Public" + ] + }, + "caCertResourceId": { + "type": "string", + "description": "Resource Id of CA certificate for https URL of Git repository." + } + }, + "required": [ + "authType" + ], + "description": "Auth setting for public url." + }, + "AcceleratorSshSetting": { + "type": "object", + "properties": { + "authType": { + "type": "string", + "enum": [ + "SSH" + ] + }, + "hostKey": { + "type": "string", + "description": "Public SSH Key of git repository." + }, + "hostKeyAlgorithm": { + "type": "string", + "description": "SSH Key algorithm of git repository." + }, + "privateKey": { + "type": "string", + "description": "Private SSH Key algorithm of git repository." + } + }, + "required": [ + "authType" + ], + "description": "Auth setting for SSH auth." + }, + "ApiPortalCustomDomainProperties": { + "type": "object", + "properties": { + "thumbprint": { + "type": "string", + "description": "The thumbprint of bound certificate." + } + }, + "description": "The properties of custom domain for API portal" + }, + "ApiPortalProperties": { + "type": "object", + "properties": { + "gatewayIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The array of resource Ids of gateway to integrate with API portal." + }, + "httpsOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicate if only https is allowed." + }, + "public": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the API portal exposes endpoint." + }, + "sourceUrls": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of OpenAPI source URL locations." + }, + "ssoProperties": { + "oneOf": [ + { + "$ref": "#/definitions/SsoProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Single sign-on related configuration" + } + }, + "description": "API portal properties payload" + }, + "ApmProperties": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Non-sensitive properties for the APM" + }, + "secrets": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sensitive properties for the APM" + }, + "type": { + "type": "string", + "description": "APM Type" + } + }, + "required": [ + "type" + ], + "description": "Properties of an APM" + }, + "ApmReference": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Resource Id of the APM" + } + }, + "required": [ + "resourceId" + ], + "description": "A reference to the APM" + }, + "ApplicationAcceleratorProperties": { + "type": "object", + "properties": {}, + "description": "Application accelerator properties payload" + }, + "ApplicationInsightsAgentVersions": { + "type": "object", + "properties": {}, + "description": "Application Insights agent versions properties payload" + }, + "ApplicationLiveViewProperties": { + "type": "object", + "properties": {}, + "description": "Application Live View properties payload" + }, + "AppResourceProperties": { + "type": "object", + "properties": { + "addonConfigs": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": {} + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of addons" + }, + "customPersistentDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CustomPersistentDiskResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of persistent disk resources list and a possible link for next page." + }, + "enableEndToEndTLS": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicate if end to end TLS is enabled." + }, + "httpsOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicate if only https is allowed." + }, + "ingressSettings": { + "oneOf": [ + { + "$ref": "#/definitions/IngressSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "App ingress settings payload." + }, + "loadedCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadedCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of loaded certificate resources list and a possible link for next page." + }, + "persistentDisk": { + "oneOf": [ + { + "$ref": "#/definitions/PersistentDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Persistent disk payload" + }, + "public": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the App exposes public endpoint" + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of auth secrets" + }, + "temporaryDisk": { + "oneOf": [ + { + "$ref": "#/definitions/TemporaryDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Temporary disk payload" + }, + "vnetAddons": { + "oneOf": [ + { + "$ref": "#/definitions/AppVNetAddons" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional App settings in vnet injection instance" + }, + "workloadProfileName": { + "type": "string", + "description": "The workload profile used for this app. Supported for Consumption + Dedicated plan." + } + }, + "description": "App resource properties payload" + }, + "AppVNetAddons": { + "type": "object", + "properties": { + "publicEndpoint": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the App in vnet injection instance exposes endpoint which could be accessed from internet." + } + }, + "description": "Additional App settings in vnet injection instance" + }, + "AzureFileVolume": { + "type": "object", + "properties": { + "shareName": { + "type": "string", + "description": "The share name of the Azure File share." + }, + "type": { + "type": "string", + "enum": [ + "AzureFileVolume" + ] + } + }, + "required": [ + "type" + ], + "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes." + }, + "BindingResourceProperties": { + "type": "object", + "properties": { + "bindingParameters": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Binding parameters of the Binding resource" + }, + "key": { + "type": "string", + "description": "The key of the bound resource" + }, + "resourceId": { + "type": "string", + "description": "The Azure resource id of the bound resource" + } + }, + "description": "Binding resource properties payload" + }, + "BuilderProperties": { + "type": "object", + "properties": { + "buildpackGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/BuildpacksGroupProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Builder buildpack groups." + }, + "stack": { + "oneOf": [ + { + "$ref": "#/definitions/StackProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "KPack ClusterStack properties payload" + } + }, + "description": "KPack Builder properties payload" + }, + "BuildpackBindingLaunchProperties": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Non-sensitive properties for launchProperties" + }, + "secrets": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sensitive properties for launchProperties" + } + }, + "description": "Buildpack Binding Launch Properties" + }, + "BuildpackBindingProperties": { + "type": "object", + "properties": { + "bindingType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ApplicationInsights", + "ApacheSkyWalking", + "AppDynamics", + "Dynatrace", + "NewRelic", + "ElasticAPM", + "CACertificates" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Buildpack Binding Type." + }, + "launchProperties": { + "oneOf": [ + { + "$ref": "#/definitions/BuildpackBindingLaunchProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Buildpack Binding Launch Properties" + } + }, + "description": "Properties of a buildpack binding" + }, + "BuildpackProperties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the buildpack" + } + }, + "description": "Buildpack properties payload" + }, + "BuildpacksGroupProperties": { + "type": "object", + "properties": { + "buildpacks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/BuildpackProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Buildpacks in the buildpack group" + }, + "name": { + "type": "string", + "description": "Buildpack group name" + } + }, + "description": "Buildpack group properties of the Builder" + }, + "BuildProperties": { + "type": "object", + "properties": { + "agentPool": { + "type": "string", + "description": "The resource id of agent pool" + }, + "apms": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApmReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of ApmReferences" + }, + "builder": { + "type": "string", + "description": "The resource id of builder to build the source code" + }, + "certificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of CertificateReferences" + }, + "env": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The environment variables for this build" + }, + "relativePath": { + "type": "string", + "description": "The relative path of source code" + }, + "resourceRequests": { + "oneOf": [ + { + "$ref": "#/definitions/BuildResourceRequests" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource request payload of Build Resource." + }, + "triggeredBuildResult": { + "oneOf": [ + { + "$ref": "#/definitions/TriggeredBuildResult" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The build result triggered by a build" + } + }, + "description": "Build resource properties payload" + }, + "BuildResourceRequests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "default": "1", + "description": "Optional Cpu allocated to the build resource. 1 core can be represented by 1 or 1000m. \r\nThe default value is 1, this should not exceed build service agent pool cpu size." + }, + "memory": { + "type": "string", + "default": "2Gi", + "description": "Optional Memory allocated to the build resource. 1 GB can be represented by 1Gi or 1024Mi. \r\nThe default value is 2Gi, this should not exceed build service agent pool memory size." + } + }, + "description": "Resource request payload of Build Resource." + }, + "BuildResultUserSourceInfo": { + "type": "object", + "properties": { + "buildResultId": { + "type": "string", + "description": "Resource id of an existing succeeded build result under the same Spring instance." + }, + "type": { + "type": "string", + "enum": [ + "BuildResult" + ] + } + }, + "required": [ + "type" + ], + "description": "Reference to a build result" + }, + "BuildServiceAgentPoolProperties": { + "type": "object", + "properties": { + "poolSize": { + "oneOf": [ + { + "$ref": "#/definitions/BuildServiceAgentPoolSizeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Build service agent pool size properties" + } + }, + "description": "Build service agent pool properties" + }, + "BuildServiceAgentPoolSizeProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of build service agent pool size" + } + }, + "description": "Build service agent pool size properties" + }, + "BuildServiceProperties": { + "type": "object", + "properties": { + "containerRegistry": { + "type": "string", + "description": "The resource id of the container registry used in this build service." + }, + "resourceRequests": { + "oneOf": [ + { + "$ref": "#/definitions/BuildServicePropertiesResourceRequests" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The runtime resource configuration of this build service." + } + }, + "description": "Build service resource properties payload" + }, + "BuildServicePropertiesResourceRequests": { + "type": "object", + "properties": {}, + "description": "The runtime resource configuration of this build service." + }, + "CertificateProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultCertificateProperties" + }, + { + "$ref": "#/definitions/ContentCertificateProperties" + } + ], + "properties": {}, + "description": "Certificate resource payload." + }, + "CertificateReference": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Resource Id of the certificate" + } + }, + "required": [ + "resourceId" + ], + "description": "A reference to the certificate" + }, + "ClusterResourceProperties": { + "type": "object", + "properties": { + "infraResourceGroup": { + "type": "string", + "description": "The name of the resource group that contains the infrastructure resources" + }, + "maintenanceScheduleConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/MaintenanceScheduleConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration for the planned maintenance" + }, + "managedEnvironmentId": { + "type": "string", + "description": "The resource Id of the Managed Environment that the Spring Apps instance builds on" + }, + "marketplaceResource": { + "oneOf": [ + { + "$ref": "#/definitions/MarketplaceResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Purchasing 3rd Party product for one Azure Spring Apps instance" + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Service network profile payload" + }, + "vnetAddons": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceVNetAddons" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Additional Service settings in vnet injection instance" + }, + "zoneRedundant": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Service properties payload" + }, + "ConfigServerGitProperty": { + "type": "object", + "properties": { + "hostKey": { + "type": "string", + "description": "Public sshKey of git repository." + }, + "hostKeyAlgorithm": { + "type": "string", + "description": "SshKey algorithm of git repository." + }, + "label": { + "type": "string", + "description": "Label of the repository" + }, + "password": { + "type": "string", + "description": "Password of git repository basic auth." + }, + "privateKey": { + "type": "string", + "description": "Private sshKey algorithm of git repository." + }, + "repositories": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GitPatternRepository" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Repositories of git." + }, + "searchPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Searching path of the repository" + }, + "strictHostKeyChecking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Strict host key checking or not." + }, + "uri": { + "type": "string", + "description": "URI of the repository" + }, + "username": { + "type": "string", + "description": "Username of git repository basic auth." + } + }, + "required": [ + "uri" + ], + "description": "Property of git." + }, + "ConfigServerProperties": { + "type": "object", + "properties": { + "configServer": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigServerSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The settings of config server." + }, + "enabledState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enabled state of the config server. This is only used in Consumption tier." + }, + "error": { + "oneOf": [ + { + "$ref": "#/definitions/Error" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The error code compose of code and message." + } + }, + "description": "Config server git properties payload" + }, + "ConfigServerSettings": { + "type": "object", + "properties": { + "gitProperty": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigServerGitProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property of git." + } + }, + "description": "The settings of config server." + }, + "ConfigurationServiceGitProperty": { + "type": "object", + "properties": { + "repositories": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationServiceGitRepository" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Repositories of Application Configuration Service git property." + } + }, + "description": "Property of git environment." + }, + "ConfigurationServiceGitRepository": { + "type": "object", + "properties": { + "caCertResourceId": { + "type": "string", + "description": "Resource Id of CA certificate for https URL of Git repository." + }, + "gitImplementation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "go-git", + "libgit2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Git libraries used to support various repository providers." + }, + "hostKey": { + "type": "string", + "description": "Public sshKey of git repository." + }, + "hostKeyAlgorithm": { + "type": "string", + "description": "SshKey algorithm of git repository." + }, + "label": { + "type": "string", + "description": "Label of the repository" + }, + "name": { + "type": "string", + "description": "Name of the repository" + }, + "password": { + "type": "string", + "description": "Password of git repository basic auth." + }, + "patterns": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of patterns of the repository" + }, + "privateKey": { + "type": "string", + "description": "Private sshKey algorithm of git repository." + }, + "searchPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Searching path of the repository" + }, + "strictHostKeyChecking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Strict host key checking or not." + }, + "uri": { + "type": "string", + "description": "URI of the repository" + }, + "username": { + "type": "string", + "description": "Username of git repository basic auth." + } + }, + "required": [ + "label", + "name", + "patterns", + "uri" + ], + "description": "Git repository property payload for Application Configuration Service" + }, + "ConfigurationServiceProperties": { + "type": "object", + "properties": { + "generation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Gen1", + "Gen2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The generation of the Application Configuration Service." + }, + "resourceRequests": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationServiceResourceRequests" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource request payload of Application Configuration Service" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationServiceSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The settings of Application Configuration Service." + } + }, + "description": "Application Configuration Service properties payload" + }, + "ConfigurationServiceResourceRequests": { + "type": "object", + "properties": {}, + "description": "Resource request payload of Application Configuration Service" + }, + "ConfigurationServiceSettings": { + "type": "object", + "properties": { + "gitProperty": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationServiceGitProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Property of git environment." + } + }, + "description": "The settings of Application Configuration Service." + }, + "ContainerProbeSettings": { + "type": "object", + "properties": { + "disableProbe": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether disable the liveness and readiness probe" + } + }, + "description": "Container liveness and readiness probe settings" + }, + "ContainerRegistryBasicCredentials": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "The password of the Container Registry." + }, + "server": { + "type": "string", + "description": "The login server of the Container Registry." + }, + "type": { + "type": "string", + "enum": [ + "BasicAuth" + ] + }, + "username": { + "type": "string", + "description": "The username of the Container Registry." + } + }, + "required": [ + "password", + "server", + "type", + "username" + ], + "description": "The basic authentication properties for the container registry resource." + }, + "ContainerRegistryCredentials": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ContainerRegistryBasicCredentials" + } + ], + "properties": {}, + "description": "The credential for the container registry resource." + }, + "ContainerRegistryProperties": { + "type": "object", + "properties": { + "credentials": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerRegistryCredentials" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The credential for the container registry resource." + } + }, + "required": [ + "credentials" + ], + "description": "Container registry resource payload." + }, + "ContentCertificateProperties": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The content of uploaded certificate." + }, + "type": { + "type": "string", + "enum": [ + "ContentCertificate" + ] + } + }, + "required": [ + "type" + ], + "description": "Properties of certificate imported from key vault." + }, + "CustomContainer": { + "type": "object", + "properties": { + "args": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Arguments to the entrypoint. The docker image's CMD is used if this is not provided." + }, + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided." + }, + "containerImage": { + "type": "string", + "description": "Container image of the custom container. This should be in the form of : without the server name of the registry" + }, + "imageRegistryCredential": { + "oneOf": [ + { + "$ref": "#/definitions/ImageRegistryCredential" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Credential of the image registry" + }, + "languageFramework": { + "type": "string", + "description": "Language framework of the container image uploaded. Supported values: \"springboot\", \"\", null." + }, + "server": { + "type": "string", + "description": "The name of the registry that contains the container image" + } + }, + "description": "Custom container payload" + }, + "CustomContainerUserSourceInfo": { + "type": "object", + "properties": { + "customContainer": { + "oneOf": [ + { + "$ref": "#/definitions/CustomContainer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom container payload" + }, + "type": { + "type": "string", + "enum": [ + "Container" + ] + } + }, + "required": [ + "type" + ], + "description": "Custom container user source info" + }, + "CustomDomainProperties": { + "type": "object", + "properties": { + "certName": { + "type": "string", + "description": "The bound certificate name of domain." + }, + "thumbprint": { + "type": "string", + "description": "The thumbprint of bound certificate." + } + }, + "description": "Custom domain of app resource payload." + }, + "CustomizedAcceleratorProperties": { + "type": "object", + "properties": { + "acceleratorTags": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "gitRepository": { + "oneOf": [ + { + "$ref": "#/definitions/AcceleratorGitRepository" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "iconUrl": { + "type": "string" + } + }, + "required": [ + "gitRepository" + ], + "description": "Customized accelerator properties payload" + }, + "CustomPersistentDiskProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureFileVolume" + } + ], + "properties": { + "enableSubPath": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If set to true, it will create and mount a dedicated directory for every individual app instance." + }, + "mountOptions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "These are the mount options for a persistent disk." + }, + "mountPath": { + "type": "string", + "description": "The mount path of the persistent disk." + }, + "readOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the persistent disk is a readOnly one." + } + }, + "required": [ + "mountPath" + ], + "description": "Custom persistent disk resource payload." + }, + "CustomPersistentDiskResource": { + "type": "object", + "properties": { + "customPersistentDiskProperties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomPersistentDiskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom persistent disk resource payload." + }, + "storageId": { + "type": "string", + "description": "The resource id of Azure Spring Apps Storage resource." + } + }, + "required": [ + "storageId" + ], + "description": "Custom persistent disk resource payload." + }, + "CustomScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the custom scale rule." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata properties to describe custom scale rule." + }, + "type": { + "type": "string", + "description": "Type of the custom scale rule\neg: azure-servicebus, redis etc." + } + }, + "description": "Azure Spring Apps App Instance Custom scaling rule." + }, + "DeploymentResourceProperties": { + "type": "object", + "properties": { + "active": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the Deployment is active" + }, + "deploymentSettings": { + "oneOf": [ + { + "$ref": "#/definitions/DeploymentSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Deployment settings payload" + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/UserSourceInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source information for a deployment" + } + }, + "description": "Deployment resource properties payload" + }, + "DeploymentSettings": { + "type": "object", + "properties": { + "addonConfigs": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": {} + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of addons" + }, + "apms": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApmReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of ApmReferences" + }, + "containerProbeSettings": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerProbeSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container liveness and readiness probe settings" + }, + "environmentVariables": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of environment variables" + }, + "livenessProbe": { + "oneOf": [ + { + "$ref": "#/definitions/Probe" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Probe describes a health check to be performed against an App Instance to determine whether it is alive or ready to receive traffic." + }, + "readinessProbe": { + "oneOf": [ + { + "$ref": "#/definitions/Probe" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Probe describes a health check to be performed against an App Instance to determine whether it is alive or ready to receive traffic." + }, + "resourceRequests": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRequests" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Deployment resource request payload" + }, + "scale": { + "oneOf": [ + { + "$ref": "#/definitions/Scale" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Spring Apps scaling configurations." + }, + "startupProbe": { + "oneOf": [ + { + "$ref": "#/definitions/Probe" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Probe describes a health check to be performed against an App Instance to determine whether it is alive or ready to receive traffic." + }, + "terminationGracePeriodSeconds": { + "oneOf": [ + { + "type": "integer", + "default": "90" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional duration in seconds the App Instance needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the App Instance are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 90 seconds." + } + }, + "description": "Deployment settings payload" + }, + "DevToolPortalFeatureDetail": { + "type": "object", + "properties": { + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "State of the plugin." + } + }, + "description": "Detail settings for Dev Tool Portal feature" + }, + "DevToolPortalFeatureSettings": { + "type": "object", + "properties": { + "applicationAccelerator": { + "oneOf": [ + { + "$ref": "#/definitions/DevToolPortalFeatureDetail" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Detail settings for Dev Tool Portal feature" + }, + "applicationLiveView": { + "oneOf": [ + { + "$ref": "#/definitions/DevToolPortalFeatureDetail" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Detail settings for Dev Tool Portal feature" + } + }, + "description": "Settings for Dev Tool Portal" + }, + "DevToolPortalProperties": { + "type": "object", + "properties": { + "features": { + "oneOf": [ + { + "$ref": "#/definitions/DevToolPortalFeatureSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings for Dev Tool Portal" + }, + "public": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the resource exposes public endpoint" + }, + "ssoProperties": { + "oneOf": [ + { + "$ref": "#/definitions/DevToolPortalSsoProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Single sign-on related configuration" + } + }, + "description": "Dev Tool Portal properties payload" + }, + "DevToolPortalSsoProperties": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The public identifier for the application" + }, + "clientSecret": { + "type": "string", + "description": "The secret known only to the application and the authorization server" + }, + "metadataUrl": { + "type": "string", + "description": "The URI of a JSON file with generic OIDC provider configuration." + }, + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "It defines the specific actions applications can be allowed to do on a user's behalf" + } + }, + "description": "Single sign-on related configuration" + }, + "Error": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The code of error." + }, + "message": { + "type": "string", + "description": "The message of error." + } + }, + "description": "The error code compose of code and message." + }, + "EurekaServerProperties": { + "type": "object", + "properties": { + "enabledState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enabled state of the eureka server. This is only used in Consumption tier." + }, + "error": { + "oneOf": [ + { + "$ref": "#/definitions/Error" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The error code compose of code and message." + } + }, + "description": "Eureka server properties payload" + }, + "ExecAction": { + "type": "object", + "properties": { + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." + }, + "type": { + "type": "string", + "enum": [ + "ExecAction" + ] + } + }, + "required": [ + "type" + ], + "description": "ExecAction describes a \"run in container\" action." + }, + "GatewayApiMetadataProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Detailed description of the APIs available on the Gateway instance (default: `Generated OpenAPI 3 document that describes the API routes configured.`)" + }, + "documentation": { + "type": "string", + "description": "Location of additional documentation for the APIs available on the Gateway instance" + }, + "serverUrl": { + "type": "string", + "description": "Base URL that API consumers will use to access APIs on the Gateway instance." + }, + "title": { + "type": "string", + "description": "Title describing the context of the APIs available on the Gateway instance (default: `Spring Cloud Gateway for K8S`)" + }, + "version": { + "type": "string", + "description": "Version of APIs available on this Gateway instance (default: `unspecified`)." + } + }, + "description": "API metadata property for Spring Cloud Gateway" + }, + "GatewayApiRoute": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description, will be applied to methods in the generated OpenAPI documentation." + }, + "filters": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To modify the request before sending it to the target endpoint, or the received response." + }, + "order": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Route processing order." + }, + "predicates": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A number of conditions to evaluate a route for each request. Each predicate may be evaluated against request headers and parameter values. All of the predicates associated with a route must evaluate to true for the route to be matched to the request." + }, + "ssoEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable sso validation." + }, + "tags": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Classification tags, will be applied to methods in the generated OpenAPI documentation." + }, + "title": { + "type": "string", + "description": "A title, will be applied to methods in the generated OpenAPI documentation." + }, + "tokenRelay": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pass currently-authenticated user's identity token to application service, default is 'false'" + }, + "uri": { + "type": "string", + "description": "Full uri, will override `appName`." + } + }, + "description": "API route config of the Spring Cloud Gateway" + }, + "GatewayCorsProperties": { + "type": "object", + "properties": { + "allowCredentials": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether user credentials are supported on cross-site requests. Valid values: `true`, `false`." + }, + "allowedHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allowed headers in cross-site requests. The special value `*` allows actual requests to send any header." + }, + "allowedMethods": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allowed HTTP methods on cross-site requests. The special value `*` allows all methods. If not set, `GET` and `HEAD` are allowed by default." + }, + "allowedOriginPatterns": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allowed origin patterns to make cross-site requests." + }, + "allowedOrigins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allowed origins to make cross-site requests. The special value `*` allows all domains." + }, + "exposedHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "HTTP response headers to expose for cross-site requests." + }, + "maxAge": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "How long, in seconds, the response from a pre-flight request can be cached by clients." + } + }, + "description": "Cross-Origin Resource Sharing property" + }, + "GatewayCustomDomainProperties": { + "type": "object", + "properties": { + "thumbprint": { + "type": "string", + "description": "The thumbprint of bound certificate." + } + }, + "description": "The properties of custom domain for Spring Cloud Gateway" + }, + "GatewayProperties": { + "type": "object", + "properties": { + "addonConfigs": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": {} + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of addons for Spring Cloud Gateway" + }, + "apiMetadataProperties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayApiMetadataProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API metadata property for Spring Cloud Gateway" + }, + "apmTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "ApplicationInsights", + "AppDynamics", + "Dynatrace", + "NewRelic", + "ElasticAPM" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of APM type used in Spring Cloud Gateway" + }, + "clientAuth": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayPropertiesClientAuth" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Client-Certification Authentication." + }, + "corsProperties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayCorsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cross-Origin Resource Sharing property" + }, + "environmentVariables": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayPropertiesEnvironmentVariables" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Environment variables of Spring Cloud Gateway" + }, + "httpsOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicate if only https is allowed." + }, + "public": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the Spring Cloud Gateway exposes endpoint." + }, + "resourceRequests": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayResourceRequests" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource request payload of Spring Cloud Gateway." + }, + "ssoProperties": { + "oneOf": [ + { + "$ref": "#/definitions/SsoProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Single sign-on related configuration" + } + }, + "description": "Spring Cloud Gateway properties payload" + }, + "GatewayPropertiesClientAuth": { + "type": "object", + "properties": { + "certificates": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of certificate resource Ids in Azure Spring Apps." + }, + "certificateVerification": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to enable certificate verification or not." + } + }, + "description": "Client-Certification Authentication." + }, + "GatewayPropertiesEnvironmentVariables": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Non-sensitive properties" + }, + "secrets": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sensitive properties" + } + }, + "description": "Environment variables of Spring Cloud Gateway" + }, + "GatewayResourceRequests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "default": "1", + "description": "Cpu allocated to each Spring Cloud Gateway instance." + }, + "memory": { + "type": "string", + "default": "2Gi", + "description": "Memory allocated to each Spring Cloud Gateway instance." + } + }, + "description": "Resource request payload of Spring Cloud Gateway." + }, + "GatewayRouteConfigOpenApiProperties": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "The URI of OpenAPI specification." + } + }, + "description": "OpenAPI properties of Spring Cloud Gateway route config." + }, + "GatewayRouteConfigProperties": { + "type": "object", + "properties": { + "appResourceId": { + "type": "string", + "description": "The resource Id of the Azure Spring Apps app, required unless route defines `uri`." + }, + "filters": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "To modify the request before sending it to the target endpoint, or the received response in app level." + }, + "openApi": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayRouteConfigOpenApiProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "OpenAPI properties of Spring Cloud Gateway route config." + }, + "predicates": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A number of conditions to evaluate a route for each request in app level. Each predicate may be evaluated against request headers and parameter values. All of the predicates associated with a route must evaluate to true for the route to be matched to the request." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "HTTP", + "HTTPS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protocol of routed Azure Spring Apps applications." + }, + "routes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayApiRoute" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of API routes, each route contains properties such as `title`, `uri`, `ssoEnabled`, `predicates`, `filters`." + }, + "ssoEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable Single Sign-On in app level." + } + }, + "description": "API route config of the Spring Cloud Gateway" + }, + "GitPatternRepository": { + "type": "object", + "properties": { + "hostKey": { + "type": "string", + "description": "Public sshKey of git repository." + }, + "hostKeyAlgorithm": { + "type": "string", + "description": "SshKey algorithm of git repository." + }, + "label": { + "type": "string", + "description": "Label of the repository" + }, + "name": { + "type": "string", + "description": "Name of the repository" + }, + "password": { + "type": "string", + "description": "Password of git repository basic auth." + }, + "pattern": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of pattern of the repository" + }, + "privateKey": { + "type": "string", + "description": "Private sshKey algorithm of git repository." + }, + "searchPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Searching path of the repository" + }, + "strictHostKeyChecking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Strict host key checking or not." + }, + "uri": { + "type": "string", + "description": "URI of the repository" + }, + "username": { + "type": "string", + "description": "Username of git repository basic auth." + } + }, + "required": [ + "name", + "uri" + ], + "description": "Git repository property payload for config server" + }, + "HTTPGetAction": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "Path to access on the HTTP server." + }, + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "HTTP", + "HTTPS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scheme to use for connecting to the host. Defaults to HTTP.\n\nPossible enum values:\n - `\"HTTP\"` means that the scheme used will be http://\n - `\"HTTPS\"` means that the scheme used will be https://." + }, + "type": { + "type": "string", + "enum": [ + "HTTPGetAction" + ] + } + }, + "required": [ + "type" + ], + "description": "HTTPGetAction describes an action based on HTTP Get requests." + }, + "HttpScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the custom scale rule." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata properties to describe http scale rule." + } + }, + "description": "Azure Spring Apps App Instance Http scaling rule." + }, + "ImageRegistryCredential": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "The password of the image registry credential" + }, + "username": { + "type": "string", + "description": "The username of the image registry credential" + } + }, + "description": "Credential of the image registry" + }, + "IngressConfig": { + "type": "object", + "properties": { + "readTimeoutInSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ingress read time out in seconds." + } + }, + "description": "Ingress configuration payload for Azure Spring Apps resource." + }, + "IngressSettings": { + "type": "object", + "properties": { + "backendProtocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GRPC", + "Default" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "How ingress should communicate with this app backend service." + }, + "clientAuth": { + "oneOf": [ + { + "$ref": "#/definitions/IngressSettingsClientAuth" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Client-Certification Authentication." + }, + "readTimeoutInSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ingress read time out in seconds." + }, + "sendTimeoutInSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ingress send time out in seconds." + }, + "sessionAffinity": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Cookie", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the affinity, set this to Cookie to enable session affinity." + }, + "sessionCookieMaxAge": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Time in seconds until the cookie expires." + } + }, + "description": "App ingress settings payload." + }, + "IngressSettingsClientAuth": { + "type": "object", + "properties": { + "certificates": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of certificate resource id." + } + }, + "description": "Client-Certification Authentication." + }, + "JarUploadedUserSourceInfo": { + "type": "object", + "properties": { + "jvmOptions": { + "type": "string", + "description": "JVM parameter" + }, + "runtimeVersion": { + "type": "string", + "description": "Runtime version of the Jar file" + }, + "type": { + "type": "string", + "enum": [ + "Jar" + ] + } + }, + "required": [ + "type" + ], + "description": "Uploaded Jar binary for a deployment" + }, + "KeyVaultCertificateProperties": { + "type": "object", + "properties": { + "certVersion": { + "type": "string", + "description": "The certificate version of key vault." + }, + "excludePrivateKey": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. If set to true, it will not import private key from key vault." + }, + "keyVaultCertName": { + "type": "string", + "description": "The certificate name of key vault." + }, + "type": { + "type": "string", + "enum": [ + "KeyVaultCertificate" + ] + }, + "vaultUri": { + "type": "string", + "description": "The vault uri of user key vault." + } + }, + "required": [ + "keyVaultCertName", + "type", + "vaultUri" + ], + "description": "Properties of certificate imported from key vault." + }, + "LoadedCertificate": { + "type": "object", + "properties": { + "loadTrustStore": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicate whether the certificate will be loaded into default trust store, only work for Java runtime." + }, + "resourceId": { + "type": "string", + "description": "Resource Id of loaded certificate" + } + }, + "required": [ + "resourceId" + ], + "description": "Loaded certificate payload" + }, + "MaintenanceScheduleConfiguration": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/WeeklyMaintenanceScheduleConfiguration" + } + ], + "properties": {}, + "description": "Configuration for the planned maintenance" + }, + "ManagedIdentityProperties": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "Principal Id of system-assigned managed identity." + }, + "tenantId": { + "type": "string", + "description": "Tenant Id of system-assigned managed identity." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the managed identity." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedManagedIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "User-assigned managed identities in key-value map. The key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Managed identity properties retrieved from ARM request headers." + }, + "MarketplaceResource": { + "type": "object", + "properties": { + "plan": { + "type": "string", + "description": "The plan id of the 3rd Party Artifact that is being procured." + }, + "product": { + "type": "string", + "description": "The 3rd Party artifact that is being procured." + }, + "publisher": { + "type": "string", + "description": "The publisher id of the 3rd Party Artifact that is being bought." + } + }, + "description": "Purchasing 3rd Party product for one Azure Spring Apps instance" + }, + "MonitoringSettingProperties": { + "type": "object", + "properties": { + "appInsightsAgentVersions": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationInsightsAgentVersions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application Insights agent versions properties payload" + }, + "appInsightsInstrumentationKey": { + "type": "string", + "description": "Target application insight instrumentation key, null or whitespace include empty will disable monitoringSettings" + }, + "appInsightsSamplingRate": { + "oneOf": [ + { + "type": "number", + "minimum": 0, + "maximum": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the sampling rate of application insight agent, should be in range [0.0, 100.0]" + }, + "error": { + "oneOf": [ + { + "$ref": "#/definitions/Error" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The error code compose of code and message." + }, + "traceEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether enable the trace functionality, which will be deprecated since api version 2020-11-01-preview. Please leverage appInsightsInstrumentationKey to indicate if monitoringSettings enabled or not" + } + }, + "description": "Monitoring Setting properties payload" + }, + "NetCoreZipUploadedUserSourceInfo": { + "type": "object", + "properties": { + "netCoreMainEntryPath": { + "type": "string", + "description": "The path to the .NET executable relative to zip root" + }, + "runtimeVersion": { + "type": "string", + "description": "Runtime version of the .Net file" + }, + "type": { + "type": "string", + "enum": [ + "NetCoreZip" + ] + } + }, + "required": [ + "type" + ], + "description": "Uploaded Jar binary for a deployment" + }, + "NetworkProfile": { + "type": "object", + "properties": { + "appNetworkResourceGroup": { + "type": "string", + "description": "Name of the resource group containing network resources for customer apps in Azure Spring Apps" + }, + "appSubnetId": { + "type": "string", + "description": "Fully qualified resource Id of the subnet to host customer apps in Azure Spring Apps" + }, + "ingressConfig": { + "oneOf": [ + { + "$ref": "#/definitions/IngressConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ingress configuration payload for Azure Spring Apps resource." + }, + "outboundType": { + "type": "string", + "description": "The egress traffic type of Azure Spring Apps VNet instances." + }, + "serviceCidr": { + "type": "string", + "description": "Azure Spring Apps service reserved CIDR" + }, + "serviceRuntimeNetworkResourceGroup": { + "type": "string", + "description": "Name of the resource group containing network resources of Azure Spring Apps Service Runtime" + }, + "serviceRuntimeSubnetId": { + "type": "string", + "description": "Fully qualified resource Id of the subnet to host Azure Spring Apps Service Runtime" + } + }, + "description": "Service network profile payload" + }, + "PersistentDisk": { + "type": "object", + "properties": { + "mountPath": { + "type": "string", + "description": "Mount path of the persistent disk" + }, + "sizeInGB": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Size of the persistent disk in GB" + } + }, + "description": "Persistent disk payload" + }, + "Probe": { + "type": "object", + "properties": { + "disableProbe": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicate whether the probe is disabled." + }, + "failureThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Minimum value is 1." + }, + "initialDelaySeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of seconds after the App Instance has started before probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + }, + "periodSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "How often (in seconds) to perform the probe. Minimum value is 1." + }, + "probeAction": { + "oneOf": [ + { + "$ref": "#/definitions/ProbeAction" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The action of the probe." + }, + "successThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 for liveness and startup. Minimum value is 1." + }, + "timeoutSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of seconds after which the probe times out. Minimum value is 1." + } + }, + "required": [ + "disableProbe" + ], + "description": "Probe describes a health check to be performed against an App Instance to determine whether it is alive or ready to receive traffic." + }, + "ProbeAction": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/HTTPGetAction" + }, + { + "$ref": "#/definitions/ExecAction" + }, + { + "$ref": "#/definitions/TCPSocketAction" + } + ], + "properties": {}, + "description": "The action of the probe." + }, + "QueueScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the queue scale rule." + }, + "queueLength": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Queue length." + }, + "queueName": { + "type": "string", + "description": "Queue name." + } + }, + "description": "Azure Spring Apps App Instance Azure Queue based scaling rule." + }, + "ResourceRequests": { + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "Required CPU. 1 core can be represented by 1 or 1000m. This should be 500m or 1 for Basic tier, and {500m, 1, 2, 3, 4} for Standard tier." + }, + "memory": { + "type": "string", + "description": "Required memory. 1 GB can be represented by 1Gi or 1024Mi. This should be {512Mi, 1Gi, 2Gi} for Basic tier, and {512Mi, 1Gi, 2Gi, ..., 8Gi} for Standard tier." + } + }, + "description": "Deployment resource request payload" + }, + "Scale": { + "type": "object", + "properties": { + "maxReplicas": { + "oneOf": [ + { + "type": "integer", + "default": "10" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Maximum number of container replicas. Defaults to 10 if not set." + }, + "minReplicas": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Minimum number of container replicas." + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scaling rules." + } + }, + "description": "Azure Spring Apps scaling configurations." + }, + "ScaleRule": { + "type": "object", + "properties": { + "azureQueue": { + "oneOf": [ + { + "$ref": "#/definitions/QueueScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Spring Apps App Instance Azure Queue based scaling rule." + }, + "custom": { + "oneOf": [ + { + "$ref": "#/definitions/CustomScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Spring Apps App Instance Custom scaling rule." + }, + "http": { + "oneOf": [ + { + "$ref": "#/definitions/HttpScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Spring Apps App Instance Http scaling rule." + }, + "name": { + "type": "string", + "description": "Scale Rule Name" + }, + "tcp": { + "oneOf": [ + { + "$ref": "#/definitions/TcpScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Spring Apps App Instance Tcp scaling rule." + } + }, + "description": "Azure Spring Apps App Instance scaling rule." + }, + "ScaleRuleAuth": { + "type": "object", + "properties": { + "secretRef": { + "type": "string", + "description": "Name of the Azure Spring Apps App Instance secret from which to pull the auth params." + }, + "triggerParameter": { + "type": "string", + "description": "Trigger Parameter that uses the secret" + } + }, + "description": "Auth Secrets for Azure Spring Apps App Instance Scale Rule" + }, + "Secret": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Secret Name." + }, + "value": { + "type": "string", + "description": "Secret Value." + } + }, + "description": "Secret definition." + }, + "ServiceVNetAddons": { + "type": "object", + "properties": { + "dataPlanePublicEndpoint": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the data plane components(log stream, app connect, remote debugging) in vnet injection instance could be accessed from internet." + }, + "logStreamPublicEndpoint": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the log stream in vnet injection instance could be accessed from internet." + } + }, + "description": "Additional Service settings in vnet injection instance" + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Current capacity of the target resource" + }, + "name": { + "type": "string", + "default": "S0", + "description": "Name of the Sku" + }, + "tier": { + "type": "string", + "default": "Standard", + "description": "Tier of the Sku" + } + }, + "description": "Sku of Azure Spring Apps" + }, + "SourceUploadedUserSourceInfo": { + "type": "object", + "properties": { + "artifactSelector": { + "type": "string", + "description": "Selector for the artifact to be used for the deployment for multi-module projects. This should be\r\nthe relative path to the target module/project." + }, + "runtimeVersion": { + "type": "string", + "description": "Runtime version of the source file" + }, + "type": { + "type": "string", + "enum": [ + "Source" + ] + } + }, + "required": [ + "type" + ], + "description": "Uploaded Java source code binary for a deployment" + }, + "Spring_apiPortals_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of API portal." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiPortalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API portal properties payload" + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Apps" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "apiPortals" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apiPortals" + }, + "Spring_apiPortals_domains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the API portal custom domain." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiPortalCustomDomainProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of custom domain for API portal" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "domains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apiPortals/domains" + }, + "Spring_apms_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9-]*[a-z0-9]$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the APM" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApmProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an APM" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "apms" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apms" + }, + "Spring_applicationAccelerators_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the application accelerator." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationAcceleratorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application accelerator properties payload" + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Apps" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "applicationAccelerators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/applicationAccelerators" + }, + "Spring_applicationAccelerators_customizedAccelerators_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the customized accelerator." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomizedAcceleratorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Customized accelerator properties payload" + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Apps" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "customizedAccelerators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/applicationAccelerators/customizedAccelerators" + }, + "Spring_applicationLiveViews_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of Application Live View." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationLiveViewProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application Live View properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "applicationLiveViews" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/applicationLiveViews" + }, + "Spring_apps_bindings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the Binding resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BindingResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Binding resource properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "bindings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apps/bindings" + }, + "Spring_apps_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedIdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity properties retrieved from ARM request headers." + }, + "location": { + "type": "string", + "description": "The GEO location of the application, always the same with its parent resource" + }, + "name": { + "type": "string", + "description": "The name of the App resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AppResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "App resource properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "apps" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apps" + }, + "Spring_apps_deployments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the Deployment resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DeploymentResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Deployment resource properties payload" + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Apps" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "deployments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apps/deployments" + }, + "Spring_apps_domains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the custom domain resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom domain of app resource payload." + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "domains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/apps/domains" + }, + "Spring_buildServices_agentPools_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the build service agent pool resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BuildServiceAgentPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Build service agent pool 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." + }, + "type": { + "type": "string", + "enum": [ + "agentPools" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/buildServices/agentPools" + }, + "Spring_buildServices_builders_buildpackBindings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the Buildpack Binding Name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BuildpackBindingProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a buildpack binding" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "buildpackBindings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings" + }, + "Spring_buildServices_builders_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the builder resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BuilderProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "KPack Builder properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "builders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/buildServices/builders" + }, + "Spring_buildServices_builds_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the build resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BuildProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Build resource properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "builds" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/buildServices/builds" + }, + "Spring_buildServices_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the build service resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BuildServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Build service resource properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "buildServices" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/buildServices" + }, + "Spring_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the certificate resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource payload." + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/certificates" + }, + "Spring_configServers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigServerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Config server git properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "configServers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/configServers" + }, + "Spring_configurationServices_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9]*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of Application Configuration Service." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application Configuration Service properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "configurationServices" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/configurationServices" + }, + "Spring_containerRegistries_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9-]*[a-z0-9]$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the container registry." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerRegistryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container registry resource payload." + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "containerRegistries" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/containerRegistries" + }, + "Spring_DevToolPortals_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of Dev Tool Portal." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DevToolPortalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dev Tool Portal properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "DevToolPortals" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/DevToolPortals" + }, + "Spring_eurekaServers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EurekaServerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Eureka server properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "eurekaServers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/eurekaServers" + }, + "Spring_gateways_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z][a-z0-9]*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of Spring Cloud Gateway." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Spring Cloud Gateway properties payload" + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Apps" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "gateways" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/gateways" + }, + "Spring_gateways_domains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the Spring Cloud Gateway custom domain." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayCustomDomainProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of custom domain for Spring Cloud Gateway" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "domains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/gateways/domains" + }, + "Spring_gateways_routeConfigs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the Spring Cloud Gateway route config." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GatewayRouteConfigProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API route config of the Spring Cloud Gateway" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "routeConfigs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/gateways/routeConfigs" + }, + "Spring_monitoringSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MonitoringSettingProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monitoring Setting properties payload" + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "monitoringSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/monitoringSettings" + }, + "Spring_serviceRegistries_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of Service Registry." + }, + "type": { + "type": "string", + "enum": [ + "serviceRegistries" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/serviceRegistries" + }, + "Spring_storages_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the storage resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage resource payload." + }, + "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." + }, + "type": { + "type": "string", + "enum": [ + "storages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AppPlatform/Spring/storages" + }, + "SsoProperties": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The public identifier for the application" + }, + "clientSecret": { + "type": "string", + "description": "The secret known only to the application and the authorization server" + }, + "issuerUri": { + "type": "string", + "description": "The URI of Issuer Identifier" + }, + "scope": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "It defines the specific actions applications can be allowed to do on a user's behalf" + } + }, + "description": "Single sign-on related configuration" + }, + "StackProperties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the ClusterStack." + }, + "version": { + "type": "string", + "description": "Version of the ClusterStack" + } + }, + "description": "KPack ClusterStack properties payload" + }, + "StorageAccount": { + "type": "object", + "properties": { + "accountKey": { + "type": "string", + "description": "The account key of the Azure Storage Account." + }, + "accountName": { + "type": "string", + "description": "The account name of the Azure Storage Account." + }, + "storageType": { + "type": "string", + "enum": [ + "StorageAccount" + ] + } + }, + "required": [ + "accountKey", + "accountName", + "storageType" + ], + "description": "storage resource of type Azure Storage Account." + }, + "StorageProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/StorageAccount" + } + ], + "properties": {}, + "description": "Storage resource payload." + }, + "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 timestamp of resource modification (UTC)." + }, + "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." + }, + "TcpScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the tcp scale rule." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata properties to describe tcp scale rule." + } + }, + "description": "Azure Spring Apps App Instance Tcp scaling rule." + }, + "TCPSocketAction": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "TCPSocketAction" + ] + } + }, + "required": [ + "type" + ], + "description": "TCPSocketAction describes an action based on opening a socket" + }, + "TemporaryDisk": { + "type": "object", + "properties": { + "mountPath": { + "type": "string", + "default": "/tmp", + "description": "Mount path of the temporary disk" + }, + "sizeInGB": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 5 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Size of the temporary disk in GB" + } + }, + "description": "Temporary disk payload" + }, + "TriggeredBuildResult": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The unique build id of this build result" + } + }, + "description": "The build result triggered by a build" + }, + "UploadedUserSourceInfo": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/JarUploadedUserSourceInfo" + }, + { + "$ref": "#/definitions/SourceUploadedUserSourceInfo" + }, + { + "$ref": "#/definitions/NetCoreZipUploadedUserSourceInfo" + } + ], + "properties": { + "relativePath": { + "type": "string", + "description": "Relative path of the storage which stores the source" + }, + "type": { + "type": "string", + "enum": [ + "UploadedUserSourceInfo" + ] + } + }, + "required": [ + "type" + ], + "description": "Source with uploaded location" + }, + "UserAssignedManagedIdentity": { + "type": "object", + "properties": {}, + "description": "The details of the user-assigned managed identity assigned to an App." + }, + "UserSourceInfo": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/UploadedUserSourceInfo" + }, + { + "$ref": "#/definitions/BuildResultUserSourceInfo" + }, + { + "$ref": "#/definitions/CustomContainerUserSourceInfo" + } + ], + "properties": { + "version": { + "type": "string", + "description": "Version of the source" + } + }, + "description": "Source information for a deployment" + }, + "WeeklyMaintenanceScheduleConfiguration": { + "type": "object", + "properties": { + "day": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The day to run the maintenance job." + }, + "frequency": { + "type": "string", + "enum": [ + "Weekly" + ] + }, + "hour": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 23 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hour to run the maintenance job" + } + }, + "required": [ + "day", + "frequency", + "hour" + ], + "description": "Weekly planned maintenance" + } + } +} \ No newline at end of file diff --git a/schemas/2023-07-01-preview/Microsoft.RedHatOpenShift.json b/schemas/2023-07-01-preview/Microsoft.RedHatOpenShift.json new file mode 100644 index 0000000000..6026b38852 --- /dev/null +++ b/schemas/2023-07-01-preview/Microsoft.RedHatOpenShift.json @@ -0,0 +1,993 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.RedHatOpenShift.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.RedHatOpenShift", + "description": "Microsoft RedHatOpenShift Resource Types", + "resourceDefinitions": { + "openShiftClusters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$", + "minLength": 1, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the OpenShift cluster resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OpenShiftClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "OpenShiftClusterProperties represents an OpenShift cluster's properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/openshiftclusters_machinePool_childResource" + }, + { + "$ref": "#/definitions/openshiftclusters_secret_childResource" + }, + { + "$ref": "#/definitions/openshiftclusters_syncIdentityProvider_childResource" + }, + { + "$ref": "#/definitions/openshiftclusters_syncSet_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.RedHatOpenShift/openShiftClusters" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.RedHatOpenShift/openShiftClusters" + }, + "openshiftclusters_machinePool": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$", + "minLength": 1, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the MachinePool resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MachinePoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "MachinePoolProperties represents the properties of a MachinePool" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RedHatOpenShift/openshiftclusters/machinePool" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RedHatOpenShift/openshiftclusters/machinePool" + }, + "openshiftclusters_secret": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$", + "minLength": 1, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Secret resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SecretProperties represents the properties of a Secret" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RedHatOpenShift/openshiftclusters/secret" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RedHatOpenShift/openshiftclusters/secret" + }, + "openshiftclusters_syncIdentityProvider": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$", + "minLength": 1, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the SyncIdentityProvider resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SyncIdentityProviderProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SyncSetProperties represents the properties of a SyncSet" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RedHatOpenShift/openshiftclusters/syncIdentityProvider" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RedHatOpenShift/openshiftclusters/syncIdentityProvider" + }, + "openshiftclusters_syncSet": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$", + "minLength": 1, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the SyncSet resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SyncSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SyncSetProperties represents the properties of a SyncSet" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RedHatOpenShift/openshiftclusters/syncSet" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RedHatOpenShift/openshiftclusters/syncSet" + } + }, + "definitions": { + "APIServerProfile": { + "type": "object", + "properties": { + "ip": { + "type": "string", + "description": "The IP of the cluster API server." + }, + "url": { + "type": "string", + "description": "The URL to access the cluster API server." + }, + "visibility": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Private", + "Public" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "API server visibility." + } + }, + "description": "APIServerProfile represents an API server profile." + }, + "ClusterProfile": { + "type": "object", + "properties": { + "domain": { + "type": "string", + "description": "The domain for the cluster." + }, + "fipsValidatedModules": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If FIPS validated crypto modules are used." + }, + "pullSecret": { + "type": "string", + "description": "The pull secret for the cluster." + }, + "resourceGroupId": { + "type": "string", + "description": "The ID of the cluster resource group." + }, + "version": { + "type": "string", + "description": "The version of the cluster." + } + }, + "description": "ClusterProfile represents a cluster profile." + }, + "ConsoleProfile": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL to access the cluster console." + } + }, + "description": "ConsoleProfile represents a console profile." + }, + "IngressProfile": { + "type": "object", + "properties": { + "ip": { + "type": "string", + "description": "The IP of the ingress." + }, + "name": { + "type": "string", + "description": "The ingress profile name." + }, + "visibility": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Private", + "Public" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ingress visibility." + } + }, + "description": "IngressProfile represents an ingress profile." + }, + "LoadBalancerProfile": { + "type": "object", + "properties": { + "allocatedOutboundPorts": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 1024." + }, + "managedOutboundIps": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedOutboundIPs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ManagedOutboundIPs represents the desired managed outbound IPs for the cluster public load balancer." + }, + "outboundIpPrefixes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/OutboundIPPrefix" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The desired outbound IP Prefix resources for the cluster load balancer." + }, + "outboundIps": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/OutboundIP" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The desired outbound IP resources for the cluster load balancer." + } + }, + "description": "LoadBalancerProfile represents the profile of the cluster public load balancer." + }, + "MachinePoolProperties": { + "type": "object", + "properties": { + "resources": { + "type": "string" + } + }, + "description": "MachinePoolProperties represents the properties of a MachinePool" + }, + "ManagedOutboundIPs": { + "type": "object", + "properties": { + "count": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Count represents the desired number of IPv4 outbound IPs created and managed by Azure for the cluster public load balancer. Allowed values are in the range of 1 - 20. The default value is 1." + } + }, + "description": "ManagedOutboundIPs represents the desired managed outbound IPs for the cluster public load balancer." + }, + "MasterProfile": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "The resource ID of an associated DiskEncryptionSet, if applicable." + }, + "encryptionAtHost": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether master virtual machines are encrypted at host." + }, + "subnetId": { + "type": "string", + "description": "The Azure resource ID of the master subnet." + }, + "vmSize": { + "type": "string", + "description": "VM size availability varies by region.\nIf a node contains insufficient compute resources (memory, cpu, etc.), pods might fail to run correctly.\nFor more details on restricted VM sizes, see: https://docs.microsoft.com/en-us/azure/openshift/support-policies-v4#supported-virtual-machine-sizes" + } + }, + "description": "MasterProfile represents a master profile." + }, + "NetworkProfile": { + "type": "object", + "properties": { + "loadBalancerProfile": { + "oneOf": [ + { + "$ref": "#/definitions/LoadBalancerProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "LoadBalancerProfile represents the profile of the cluster public load balancer." + }, + "outboundType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Loadbalancer", + "UserDefinedRouting" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The OutboundType used for egress traffic." + }, + "podCidr": { + "type": "string", + "description": "The CIDR used for OpenShift/Kubernetes Pods." + }, + "serviceCidr": { + "type": "string", + "description": "The CIDR used for OpenShift/Kubernetes Services." + } + }, + "description": "NetworkProfile represents a network profile." + }, + "OpenShiftClusterProperties": { + "type": "object", + "properties": { + "apiserverProfile": { + "oneOf": [ + { + "$ref": "#/definitions/APIServerProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "APIServerProfile represents an API server profile." + }, + "clusterProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ClusterProfile represents a cluster profile." + }, + "consoleProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ConsoleProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ConsoleProfile represents a console profile." + }, + "ingressProfiles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IngressProfile" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster ingress profiles." + }, + "masterProfile": { + "oneOf": [ + { + "$ref": "#/definitions/MasterProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "MasterProfile represents a master profile." + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NetworkProfile represents a network profile." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AdminUpdating", + "Creating", + "Deleting", + "Failed", + "Succeeded", + "Updating" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster provisioning state." + }, + "servicePrincipalProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ServicePrincipalProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ServicePrincipalProfile represents a service principal profile." + }, + "workerProfiles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WorkerProfile" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster worker profiles." + } + }, + "description": "OpenShiftClusterProperties represents an OpenShift cluster's properties." + }, + "openshiftclusters_machinePool_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$", + "minLength": 1, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the MachinePool resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MachinePoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "MachinePoolProperties represents the properties of a MachinePool" + }, + "type": { + "type": "string", + "enum": [ + "machinePool" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RedHatOpenShift/openshiftclusters/machinePool" + }, + "openshiftclusters_secret_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$", + "minLength": 1, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Secret resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SecretProperties represents the properties of a Secret" + }, + "type": { + "type": "string", + "enum": [ + "secret" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RedHatOpenShift/openshiftclusters/secret" + }, + "openshiftclusters_syncIdentityProvider_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$", + "minLength": 1, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the SyncIdentityProvider resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SyncIdentityProviderProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SyncSetProperties represents the properties of a SyncSet" + }, + "type": { + "type": "string", + "enum": [ + "syncIdentityProvider" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RedHatOpenShift/openshiftclusters/syncIdentityProvider" + }, + "openshiftclusters_syncSet_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$", + "minLength": 1, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the SyncSet resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SyncSetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SyncSetProperties represents the properties of a SyncSet" + }, + "type": { + "type": "string", + "enum": [ + "syncSet" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RedHatOpenShift/openshiftclusters/syncSet" + }, + "OutboundIP": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "description": "The fully qualified Azure resource id of the IP address resource." + } + }, + "description": "OutboundIP represents a desired outbound IP resource for the cluster load balancer." + }, + "OutboundIPPrefix": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "description": "The fully qualified Azure resource id of an IP Prefix resource." + } + }, + "description": "OutboundIPPrefix represents a desired outbound IP Prefix resource for the cluster load balancer." + }, + "SecretProperties": { + "type": "object", + "properties": { + "secretResources": { + "type": "string", + "description": "The Secrets Resources." + } + }, + "description": "SecretProperties represents the properties of a Secret" + }, + "ServicePrincipalProfile": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The client ID used for the cluster." + }, + "clientSecret": { + "type": "string", + "description": "The client secret used for the cluster." + } + }, + "description": "ServicePrincipalProfile represents a service principal profile." + }, + "SyncIdentityProviderProperties": { + "type": "object", + "properties": { + "resources": { + "type": "string" + } + }, + "description": "SyncSetProperties represents the properties of a SyncSet" + }, + "SyncSetProperties": { + "type": "object", + "properties": { + "resources": { + "type": "string", + "description": "Resources represents the SyncSets configuration." + } + }, + "description": "SyncSetProperties represents the properties of a SyncSet" + }, + "WorkerProfile": { + "type": "object", + "properties": { + "count": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of worker VMs." + }, + "diskEncryptionSetId": { + "type": "string", + "description": "The resource ID of an associated DiskEncryptionSet, if applicable." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disk size of the worker VMs." + }, + "encryptionAtHost": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether master virtual machines are encrypted at host." + }, + "name": { + "type": "string", + "description": "The worker profile name." + }, + "subnetId": { + "type": "string", + "description": "The Azure resource ID of the worker subnet." + }, + "vmSize": { + "type": "string", + "description": "VM size availability varies by region.\nIf a node contains insufficient compute resources (memory, cpu, etc.), pods might fail to run correctly.\nFor more details on restricted VM sizes, see: https://docs.microsoft.com/en-us/azure/openshift/support-policies-v4#supported-virtual-machine-sizes" + } + }, + "description": "WorkerProfile represents a worker profile." + } + } +} \ No newline at end of file diff --git a/schemas/2023-08-01/Microsoft.CostManagement.json b/schemas/2023-08-01/Microsoft.CostManagement.json index 864745fe98..3a554816ee 100644 --- a/schemas/2023-08-01/Microsoft.CostManagement.json +++ b/schemas/2023-08-01/Microsoft.CostManagement.json @@ -114,6 +114,55 @@ "description": "Microsoft.CostManagement/views" } }, + "extension_resourceDefinitions": { + "costAllocationRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "[A-Za-z0-9\\-_]+" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cost allocation rule name. The name cannot include spaces or any non alphanumeric characters other than '_' and '-'. The max length is 260 characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CostAllocationRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a cost allocation rule" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.CostManagement/costAllocationRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.CostManagement/costAllocationRules" + } + }, "unknown_resourceDefinitions": { "budgets": { "type": "object", @@ -181,6 +230,21 @@ "type": "string", "description": "eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not." }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/SystemAssignedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (either system assigned, or none)" + }, + "location": { + "type": "string", + "description": "The location of the Export's managed identity. Only required when utilizing managed identity." + }, "name": { "type": "string", "description": "Export Name." @@ -276,6 +340,41 @@ ], "description": "Microsoft.CostManagement/scheduledActions" }, + "settings": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/TagInheritanceSetting" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-01" + ] + }, + "name": { + "type": "string", + "enum": [ + "taginheritance" + ], + "description": "Setting type." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.CostManagement/settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.CostManagement/settings" + }, "views": { "type": "object", "properties": { @@ -548,6 +647,106 @@ ], "description": "The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.\n\n Supported for CategoryType(s): Cost, ReservationUtilization.\n\n Required for CategoryType(s): Cost, ReservationUtilization." }, + "CostAllocationProportion": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Target resource for cost allocation" + }, + "percentage": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Percentage of source cost to allocate to this resource. This value can be specified to two decimal places and the total percentage of all resources in this rule must sum to 100.00." + } + }, + "required": [ + "name", + "percentage" + ], + "description": "Target resources and allocation" + }, + "CostAllocationRuleDetails": { + "type": "object", + "properties": { + "sourceResources": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SourceCostAllocationResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source resources for cost allocation. At this time, this list can contain no more than one element." + }, + "targetResources": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TargetCostAllocationResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target resources for cost allocation. At this time, this list can contain no more than one element." + } + }, + "description": "Resource details of the cost allocation rule" + }, + "CostAllocationRuleProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of a cost allocation rule." + }, + "details": { + "oneOf": [ + { + "$ref": "#/definitions/CostAllocationRuleDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource details of the cost allocation rule" + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotActive", + "Active", + "Processing" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Status of the rule." + } + }, + "required": [ + "details", + "status" + ], + "description": "The properties of a cost allocation rule" + }, "ExportDataset": { "type": "object", "properties": { @@ -1735,6 +1934,73 @@ ], "description": "The properties of the schedule." }, + "SourceCostAllocationResource": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag" + }, + "resourceType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Dimension", + "Tag" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of resources contained in this cost allocation rule." + }, + "values": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source Resources for cost allocation. This list cannot contain more than 25 values." + } + }, + "required": [ + "name", + "resourceType", + "values" + ], + "description": "Source resources for cost allocation" + }, + "SystemAssignedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "type" + ], + "description": "Managed service identity (either system assigned, or none)" + }, "SystemData": { "type": "object", "properties": { @@ -1793,6 +2059,111 @@ }, "description": "Metadata pertaining to creation and last modification of the resource." }, + "TagInheritanceProperties": { + "type": "object", + "properties": { + "preferContainerTags": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When resource has the same tag as subscription or resource group and this property is set to true - the subscription or resource group tag will be applied. If subscription and resource group tags are also the same, subscription tag will be applied." + } + }, + "required": [ + "preferContainerTags" + ], + "description": "The properties of the tag inheritance setting." + }, + "TagInheritanceSetting": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "taginheritance" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TagInheritanceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the tag inheritance setting." + } + }, + "required": [ + "kind" + ], + "description": "Tag Inheritance Setting definition." + }, + "TargetCostAllocationResource": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag" + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FixedProportion" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Method of cost allocation for the rule" + }, + "resourceType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Dimension", + "Tag" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of resources contained in this cost allocation rule." + }, + "values": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CostAllocationProportion" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target resources for cost allocation. This list cannot contain more than 25 values." + } + }, + "required": [ + "name", + "policyType", + "resourceType", + "values" + ], + "description": "Target resources for cost allocation." + }, "ViewProperties": { "type": "object", "properties": { diff --git a/schemas/2023-08-01/Microsoft.Migrate.ResourceMover.json b/schemas/2023-08-01/Microsoft.Migrate.ResourceMover.json new file mode 100644 index 0000000000..0e757bf935 --- /dev/null +++ b/schemas/2023-08-01/Microsoft.Migrate.ResourceMover.json @@ -0,0 +1,1222 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-08-01/Microsoft.Migrate.ResourceMover.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Migrate", + "description": "Microsoft Migrate Resource Types", + "resourceDefinitions": { + "moveCollections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the MSI properties of the Move Collection." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives." + }, + "name": { + "type": "string", + "description": "The Move Collection Name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MoveCollectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the move collection properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/moveCollections_moveResources_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.Migrate/moveCollections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Migrate/moveCollections" + }, + "moveCollections_moveResources": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-01" + ] + }, + "name": { + "type": "string", + "description": "The Move Resource Name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MoveResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the move resource properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Migrate/moveCollections/moveResources" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Migrate/moveCollections/moveResources" + } + }, + "definitions": { + "AvailabilitySetResourceSettings": { + "type": "object", + "properties": { + "faultDomain": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the target fault domain." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Compute/availabilitySets" + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the Resource tags." + }, + "updateDomain": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 20 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the target update domain." + } + }, + "required": [ + "resourceType" + ], + "description": "Gets or sets the availability set resource settings." + }, + "DiskEncryptionSetResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Compute/diskEncryptionSets" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the disk encryption set resource settings." + }, + "Identity": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "Gets or sets the principal id." + }, + "tenantId": { + "type": "string", + "description": "Gets or sets the tenant id." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Defines the MSI properties of the Move Collection." + }, + "KeyVaultResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.KeyVault/vaults" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the key vault resource settings." + }, + "LBBackendAddressPoolResourceSettings": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the backend address pool name." + } + }, + "description": "Defines load balancer backend address pool properties." + }, + "LBFrontendIPConfigurationResourceSettings": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the frontend IP configuration name." + }, + "privateIpAddress": { + "type": "string", + "description": "Gets or sets the IP address of the Load Balancer.This is only specified if a specific\r\nprivate IP address shall be allocated from the subnet specified in subnetRef." + }, + "privateIpAllocationMethod": { + "type": "string", + "description": "Gets or sets PrivateIP allocation method (Static/Dynamic)." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubnetReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines reference to subnet." + }, + "zones": { + "type": "string", + "description": "Gets or sets the csv list of zones." + } + }, + "description": "Defines load balancer frontend IP configuration properties." + }, + "LoadBalancerBackendAddressPoolReference": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets the name of the proxy resource on the target side." + }, + "sourceArmResourceId": { + "type": "string", + "description": "Gets the ARM resource ID of the tracked resource being referenced." + } + }, + "required": [ + "sourceArmResourceId" + ], + "description": "Defines reference to load balancer backend address pools." + }, + "LoadBalancerNatRuleReference": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets the name of the proxy resource on the target side." + }, + "sourceArmResourceId": { + "type": "string", + "description": "Gets the ARM resource ID of the tracked resource being referenced." + } + }, + "required": [ + "sourceArmResourceId" + ], + "description": "Defines reference to load balancer NAT rules." + }, + "LoadBalancerResourceSettings": { + "type": "object", + "properties": { + "backendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LBBackendAddressPoolResourceSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the backend address pools of the load balancer." + }, + "frontendIPConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LBFrontendIPConfigurationResourceSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the frontend IP configurations of the load balancer." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/loadBalancers" + ] + }, + "sku": { + "type": "string", + "description": "Gets or sets load balancer sku (Basic/Standard)." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the Resource tags." + }, + "zones": { + "type": "string", + "description": "Gets or sets the csv list of zones common for all frontend IP configurations. Note this is given\r\n precedence only if frontend IP configurations settings are not present." + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the load balancer resource settings." + }, + "MoveCollectionProperties": { + "type": "object", + "properties": { + "moveRegion": { + "type": "string", + "description": "Gets or sets the move region which indicates the region where the VM Regional to Zonal move will be conducted." + }, + "moveType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RegionToRegion", + "RegionToZone" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Updating", + "Creating", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sourceRegion": { + "type": "string", + "description": "Gets or sets the source region." + }, + "targetRegion": { + "type": "string", + "description": "Gets or sets the target region." + }, + "version": { + "type": "string", + "description": "Gets or sets the version of move collection." + } + }, + "description": "Defines the move collection properties." + }, + "moveCollections_moveResources_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-01" + ] + }, + "name": { + "type": "string", + "description": "The Move Resource Name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MoveResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the move resource properties." + }, + "type": { + "type": "string", + "enum": [ + "moveResources" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Migrate/moveCollections/moveResources" + }, + "MoveResourceDependencyOverride": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Gets or sets the ARM ID of the dependent resource." + }, + "targetId": { + "type": "string", + "description": "Gets or sets the resource ARM id of either the MoveResource or the resource ARM ID of\r\nthe dependent resource." + } + }, + "description": "Defines the dependency override of the move resource." + }, + "MoveResourceProperties": { + "type": "object", + "properties": { + "dependsOnOverrides": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MoveResourceDependencyOverride" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the move resource dependencies overrides." + }, + "existingTargetId": { + "type": "string", + "description": "Gets or sets the existing target ARM Id of the resource." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Updating", + "Creating", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resourceSettings": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the resource settings." + }, + "sourceId": { + "type": "string", + "description": "Gets or sets the Source ARM Id of the resource." + } + }, + "required": [ + "sourceId" + ], + "description": "Defines the move resource properties." + }, + "NetworkInterfaceResourceSettings": { + "type": "object", + "properties": { + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets a value indicating whether accelerated networking is enabled." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NicIpConfigurationResourceSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the IP configurations of the NIC." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/networkInterfaces" + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the Resource tags." + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the network interface resource settings." + }, + "NetworkSecurityGroupResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/networkSecurityGroups" + ] + }, + "securityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NsgSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets Security rules of network security group." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the Resource tags." + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the NSG resource settings." + }, + "NicIpConfigurationResourceSettings": { + "type": "object", + "properties": { + "loadBalancerBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerBackendAddressPoolReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the references of the load balancer backend address pools." + }, + "loadBalancerNatRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerNatRuleReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the references of the load balancer NAT rules." + }, + "name": { + "type": "string", + "description": "Gets or sets the IP configuration name." + }, + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets a value indicating whether this IP configuration is the primary." + }, + "privateIpAddress": { + "type": "string", + "description": "Gets or sets the private IP address of the network interface IP Configuration." + }, + "privateIpAllocationMethod": { + "type": "string", + "description": "Gets or sets the private IP address allocation method." + }, + "publicIp": { + "oneOf": [ + { + "$ref": "#/definitions/PublicIpReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines reference to a public IP." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubnetReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines reference to subnet." + } + }, + "description": "Defines NIC IP configuration properties." + }, + "NsgReference": { + "type": "object", + "properties": { + "sourceArmResourceId": { + "type": "string", + "description": "Gets the ARM resource ID of the tracked resource being referenced." + } + }, + "required": [ + "sourceArmResourceId" + ], + "description": "Defines reference to NSG." + }, + "NsgSecurityRule": { + "type": "object", + "properties": { + "access": { + "type": "string", + "description": "Gets or sets whether network traffic is allowed or denied.\r\nPossible values are “Allow” and “Deny”." + }, + "description": { + "type": "string", + "description": "Gets or sets a description for this rule. Restricted to 140 chars." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "Gets or sets destination address prefix. CIDR or source IP range.\r\n A “*” can also be used to match all source IPs. Default tags such\r\nas ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used." + }, + "destinationPortRange": { + "type": "string", + "description": "Gets or sets Destination Port or Range. Integer or range between\r\n0 and 65535. A “*” can also be used to match all ports." + }, + "direction": { + "type": "string", + "description": "Gets or sets the direction of the rule.InBound or Outbound. The\r\ndirection specifies if rule will be evaluated on incoming or outgoing traffic." + }, + "name": { + "type": "string", + "description": "Gets or sets the Security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the priority of the rule. The value can be between\r\n100 and 4096. The priority number must be unique for each rule in the collection.\r\nThe lower the priority number, the higher the priority of the rule." + }, + "protocol": { + "type": "string", + "description": "Gets or sets Network protocol this rule applies to. Can be Tcp, Udp or All(*)." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "Gets or sets source address prefix. CIDR or source IP range. A\r\n“*” can also be used to match all source IPs. Default tags such as ‘VirtualNetwork’,\r\n‘AzureLoadBalancer’ and ‘Internet’ can also be used. If this is an ingress\r\nrule, specifies where network traffic originates from." + }, + "sourcePortRange": { + "type": "string", + "description": "Gets or sets Source Port or Range. Integer or range between 0 and\r\n65535. A “*” can also be used to match all ports." + } + }, + "description": "Security Rule data model for Network Security Groups." + }, + "PublicIPAddressResourceSettings": { + "type": "object", + "properties": { + "domainNameLabel": { + "type": "string", + "description": "Gets or sets the domain name label." + }, + "fqdn": { + "type": "string", + "description": "Gets or sets the fully qualified domain name." + }, + "publicIpAllocationMethod": { + "type": "string", + "description": "Gets or sets public IP allocation method." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/publicIPAddresses" + ] + }, + "sku": { + "type": "string", + "description": "Gets or sets public IP sku." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the Resource tags." + }, + "zones": { + "type": "string", + "description": "Gets or sets public IP zones." + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the public IP address resource settings." + }, + "PublicIpReference": { + "type": "object", + "properties": { + "sourceArmResourceId": { + "type": "string", + "description": "Gets the ARM resource ID of the tracked resource being referenced." + } + }, + "required": [ + "sourceArmResourceId" + ], + "description": "Defines reference to a public IP." + }, + "ResourceGroupResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "resourceGroups" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the resource group resource settings." + }, + "ResourceSettings": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineResourceSettings" + }, + { + "$ref": "#/definitions/AvailabilitySetResourceSettings" + }, + { + "$ref": "#/definitions/VirtualNetworkResourceSettings" + }, + { + "$ref": "#/definitions/NetworkInterfaceResourceSettings" + }, + { + "$ref": "#/definitions/NetworkSecurityGroupResourceSettings" + }, + { + "$ref": "#/definitions/LoadBalancerResourceSettings" + }, + { + "$ref": "#/definitions/SqlServerResourceSettings" + }, + { + "$ref": "#/definitions/SqlElasticPoolResourceSettings" + }, + { + "$ref": "#/definitions/SqlDatabaseResourceSettings" + }, + { + "$ref": "#/definitions/ResourceGroupResourceSettings" + }, + { + "$ref": "#/definitions/PublicIPAddressResourceSettings" + }, + { + "$ref": "#/definitions/KeyVaultResourceSettings" + }, + { + "$ref": "#/definitions/DiskEncryptionSetResourceSettings" + } + ], + "properties": { + "targetResourceGroupName": { + "type": "string", + "description": "Gets or sets the target resource group name." + }, + "targetResourceName": { + "type": "string", + "description": "Gets or sets the target Resource name." + } + }, + "description": "Gets or sets the resource settings." + }, + "SqlDatabaseResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases" + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the Resource tags." + }, + "zoneRedundant": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the Sql Database resource settings." + }, + "SqlElasticPoolResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/elasticPools" + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the Resource tags." + }, + "zoneRedundant": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the Sql ElasticPool resource settings." + }, + "SqlServerResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the SQL Server resource settings." + }, + "SubnetReference": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets the name of the proxy resource on the target side." + }, + "sourceArmResourceId": { + "type": "string", + "description": "Gets the ARM resource ID of the tracked resource being referenced." + } + }, + "required": [ + "sourceArmResourceId" + ], + "description": "Defines reference to subnet." + }, + "SubnetResourceSettings": { + "type": "object", + "properties": { + "addressPrefix": { + "type": "string", + "description": "Gets or sets address prefix for the subnet." + }, + "name": { + "type": "string", + "description": "Gets or sets the Subnet name." + }, + "networkSecurityGroup": { + "oneOf": [ + { + "$ref": "#/definitions/NsgReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines reference to NSG." + } + }, + "description": "Defines the virtual network subnets resource settings." + }, + "VirtualMachineResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines" + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the Resource tags." + }, + "targetAvailabilitySetId": { + "type": "string", + "description": "Gets or sets the target availability set id for virtual machines not in an availability set at source." + }, + "targetAvailabilityZone": { + "oneOf": [ + { + "type": "string", + "enum": [ + "1", + "2", + "3", + "NA" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the target availability zone." + }, + "targetVmSize": { + "type": "string", + "description": "Gets or sets the target virtual machine size." + }, + "userManagedIdentities": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets user-managed identities" + } + }, + "required": [ + "resourceType" + ], + "description": "Gets or sets the virtual machine resource settings." + }, + "VirtualNetworkResourceSettings": { + "type": "object", + "properties": { + "addressSpace": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the address prefixes for the virtual network." + }, + "dnsServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets DHCPOptions that contains an array of DNS servers available to VMs\r\ndeployed in the virtual network." + }, + "enableDdosProtection": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets a value indicating whether gets or sets whether the\r\nDDOS protection should be switched on." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualNetworks" + ] + }, + "subnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubnetResourceSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets List of subnets in a VirtualNetwork." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the Resource tags." + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the virtual network resource settings." + } + } +} \ No newline at end of file diff --git a/schemas/2023-08-15-preview/Microsoft.HDInsight.json b/schemas/2023-08-15-preview/Microsoft.HDInsight.json new file mode 100644 index 0000000000..077281b85d --- /dev/null +++ b/schemas/2023-08-15-preview/Microsoft.HDInsight.json @@ -0,0 +1,1961 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-08-15-preview/Microsoft.HDInsight.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.HDInsight", + "description": "Microsoft HDInsight Resource Types", + "resourceDefinitions": { + "clusters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-15-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the cluster." + }, + "location": { + "type": "string", + "description": "The location of the cluster." + }, + "name": { + "type": "string", + "description": "The name of the cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterCreateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster create parameters." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_applications_childResource" + }, + { + "$ref": "#/definitions/clusters_extensions_childResource" + }, + { + "$ref": "#/definitions/clusters_privateEndpointConnections_childResource" + } + ] + } + }, + "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.HDInsight/clusters" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The availability zones." + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.HDInsight/clusters" + }, + "clusters_applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "The ETag for the application" + }, + "name": { + "type": "string", + "description": "The constant value for the application name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The HDInsight cluster application GET response." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the application." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.HDInsight/clusters/applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.HDInsight/clusters/applications" + }, + "clusters_extensions": { + "type": "object", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/clustermonitoring$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "primaryKey": { + "type": "string", + "description": "The cluster monitor workspace key." + }, + "workspaceId": { + "type": "string", + "description": "The cluster monitor workspace ID." + } + }, + "required": [ + "name" + ], + "description": "Microsoft.HDInsight/clusters/extensions" + }, + { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/azureMonitor$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "primaryKey": { + "type": "string", + "description": "The Log Analytics workspace key." + }, + "selectedConfigurations": { + "oneOf": [ + { + "$ref": "#/definitions/AzureMonitorSelectedConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The selected configurations for azure monitor." + }, + "workspaceId": { + "type": "string", + "description": "The Log Analytics workspace ID." + } + }, + "required": [ + "name" + ], + "description": "Microsoft.HDInsight/clusters/extensions" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-15-preview" + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.HDInsight/clusters/extensions" + ] + } + }, + "required": [ + "apiVersion", + "type" + ], + "description": "Microsoft.HDInsight/clusters/extensions" + }, + "clusters_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-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 private endpoint connection properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.HDInsight/clusters/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.HDInsight/clusters/privateEndpointConnections" + } + }, + "definitions": { + "ApplicationGetEndpoint": { + "type": "object", + "properties": { + "destinationPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port to connect to." + }, + "location": { + "type": "string", + "description": "The location of the endpoint." + }, + "privateIPAddress": { + "type": "string", + "description": "The private ip address of the endpoint." + }, + "publicPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The public port to connect to." + } + }, + "description": "Gets the application SSH endpoint" + }, + "ApplicationGetHttpsEndpoint": { + "type": "object", + "properties": { + "accessModes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of access modes for the application." + }, + "destinationPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The destination port to connect to." + }, + "disableGatewayAuth": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value indicates whether to disable GatewayAuth." + }, + "privateIPAddress": { + "type": "string", + "description": "The private ip address of the endpoint." + }, + "subDomainSuffix": { + "type": "string", + "description": "The subdomain suffix of the application." + } + }, + "description": "Gets the application HTTP endpoints." + }, + "ApplicationProperties": { + "type": "object", + "properties": { + "applicationType": { + "type": "string", + "description": "The application type." + }, + "computeProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ComputeProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the compute profile." + }, + "errors": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Errors" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of errors." + }, + "httpsEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGetHttpsEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of application HTTPS endpoints." + }, + "installScriptActions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RuntimeScriptAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of install script actions." + }, + "privateLinkConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private link configurations." + }, + "sshEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGetEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of application SSH endpoints." + }, + "uninstallScriptActions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RuntimeScriptAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of uninstall script actions." + } + }, + "description": "The HDInsight cluster application GET response." + }, + "Autoscale": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "$ref": "#/definitions/AutoscaleCapacity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The load-based autoscale request parameters" + }, + "recurrence": { + "oneOf": [ + { + "$ref": "#/definitions/AutoscaleRecurrence" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schedule-based autoscale request parameters" + } + }, + "description": "The autoscale request parameters" + }, + "AutoscaleCapacity": { + "type": "object", + "properties": { + "maxInstanceCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum instance count of the cluster" + }, + "minInstanceCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum instance count of the cluster" + } + }, + "description": "The load-based autoscale request parameters" + }, + "AutoscaleRecurrence": { + "type": "object", + "properties": { + "schedule": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AutoscaleSchedule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of schedule-based autoscale rules" + }, + "timeZone": { + "type": "string", + "description": "The time zone for the autoscale schedule times" + } + }, + "description": "Schedule-based autoscale request parameters" + }, + "AutoscaleSchedule": { + "type": "object", + "properties": { + "days": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Days of the week for a schedule-based autoscale rule" + }, + "timeAndCapacity": { + "oneOf": [ + { + "$ref": "#/definitions/AutoscaleTimeAndCapacity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Time and capacity request parameters" + } + }, + "description": "Parameters for a schedule-based autoscale rule, consisting of an array of days + a time and capacity" + }, + "AutoscaleTimeAndCapacity": { + "type": "object", + "properties": { + "maxInstanceCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum instance count of the cluster" + }, + "minInstanceCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum instance count of the cluster" + }, + "time": { + "type": "string", + "description": "24-hour time in the form xx:xx" + } + }, + "description": "Time and capacity request parameters" + }, + "AzureMonitorSelectedConfigurations": { + "type": "object", + "properties": { + "configurationVersion": { + "type": "string", + "description": "The configuration version." + }, + "globalConfigurations": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The global configurations of selected configurations." + }, + "tableList": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureMonitorTableConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The table list." + } + }, + "description": "The selected configurations for azure monitor." + }, + "AzureMonitorTableConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name." + } + }, + "description": "The table configuration for the Log Analytics integration." + }, + "ClientGroupInfo": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The AAD security group id." + }, + "groupName": { + "type": "string", + "description": "The AAD security group name." + } + }, + "description": "The information of AAD security group." + }, + "ClusterCreateProperties": { + "type": "object", + "properties": { + "clusterDefinition": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterDefinition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster definition." + }, + "clusterVersion": { + "type": "string", + "description": "The version of the cluster." + }, + "computeIsolationProperties": { + "oneOf": [ + { + "$ref": "#/definitions/ComputeIsolationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The compute isolation properties." + }, + "computeProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ComputeProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the compute profile." + }, + "diskEncryptionProperties": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disk encryption properties" + }, + "encryptionInTransitProperties": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionInTransitProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The encryption-in-transit properties." + }, + "kafkaRestProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KafkaRestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The kafka rest proxy configuration which contains AAD security group information." + }, + "minSupportedTlsVersion": { + "type": "string", + "description": "The minimal supported tls version." + }, + "networkProperties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network properties." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of operating system." + }, + "privateLinkConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private link configurations." + }, + "securityProfile": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The security profile which contains Ssh public key for the HDInsight cluster." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage profile." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster tier." + } + }, + "description": "The cluster create parameters." + }, + "ClusterDefinition": { + "type": "object", + "properties": { + "blueprint": { + "type": "string", + "description": "The link to the blueprint." + }, + "componentVersion": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The versions of different services in the cluster." + }, + "configurations": { + "type": "object", + "properties": {}, + "description": "The cluster configurations." + }, + "kind": { + "type": "string", + "description": "The type of cluster." + } + }, + "description": "The cluster definition." + }, + "ClusterIdentity": { + "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 cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities." + }, + "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 cluster. 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 cluster." + }, + "clusters_applications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "The ETag for the application" + }, + "name": { + "type": "string", + "description": "The constant value for the application name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The HDInsight cluster application GET response." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the application." + }, + "type": { + "type": "string", + "enum": [ + "applications" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.HDInsight/clusters/applications" + }, + "clusters_extensions_childResource": { + "type": "object", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "clustermonitoring" + ] + }, + "primaryKey": { + "type": "string", + "description": "The cluster monitor workspace key." + }, + "workspaceId": { + "type": "string", + "description": "The cluster monitor workspace ID." + } + }, + "required": [ + "name" + ], + "description": "Microsoft.HDInsight/clusters/extensions" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "azureMonitor" + ] + }, + "primaryKey": { + "type": "string", + "description": "The Log Analytics workspace key." + }, + "selectedConfigurations": { + "oneOf": [ + { + "$ref": "#/definitions/AzureMonitorSelectedConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The selected configurations for azure monitor." + }, + "workspaceId": { + "type": "string", + "description": "The Log Analytics workspace ID." + } + }, + "required": [ + "name" + ], + "description": "Microsoft.HDInsight/clusters/extensions" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-15-preview" + ] + }, + "type": { + "type": "string", + "enum": [ + "extensions" + ] + } + }, + "required": [ + "apiVersion", + "type" + ], + "description": "Microsoft.HDInsight/clusters/extensions" + }, + "clusters_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-08-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 private endpoint connection properties." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.HDInsight/clusters/privateEndpointConnections" + }, + "ComputeIsolationProperties": { + "type": "object", + "properties": { + "enableComputeIsolation": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag indicates whether enable compute isolation or not." + }, + "hostSku": { + "type": "string", + "description": "The host sku." + } + }, + "description": "The compute isolation properties." + }, + "ComputeProfile": { + "type": "object", + "properties": { + "roles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of roles in the cluster." + } + }, + "description": "Describes the compute profile." + }, + "DataDisksGroups": { + "type": "object", + "properties": { + "disksPerNode": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of disks per node." + } + }, + "description": "The data disks groups for the role." + }, + "DiskEncryptionProperties": { + "type": "object", + "properties": { + "encryptionAlgorithm": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RSA-OAEP", + "RSA-OAEP-256", + "RSA1_5" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Algorithm identifier for encryption, default RSA-OAEP." + }, + "encryptionAtHost": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether or not resource disk encryption is enabled." + }, + "keyName": { + "type": "string", + "description": "Key name that is used for enabling disk encryption." + }, + "keyVersion": { + "type": "string", + "description": "Specific key version that is used for enabling disk encryption." + }, + "msiResourceId": { + "type": "string", + "description": "Resource ID of Managed Identity that is used to access the key vault." + }, + "vaultUri": { + "type": "string", + "description": "Base key vault URI where the customers key is located eg. https://myvault.vault.azure.net" + } + }, + "description": "The disk encryption properties" + }, + "EncryptionInTransitProperties": { + "type": "object", + "properties": { + "isEncryptionInTransitEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether or not inter cluster node communication is encrypted in transit." + } + }, + "description": "The encryption-in-transit properties." + }, + "Errors": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "The error message associated with the cluster creation." + }, + "HardwareProfile": { + "type": "object", + "properties": { + "vmSize": { + "type": "string", + "description": "The size of the VM" + } + }, + "description": "The hardware profile." + }, + "IPConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of private link IP configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IPConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private link ip configuration properties." + } + }, + "required": [ + "name" + ], + "description": "The ip configurations for the private link service." + }, + "IPConfigurationProperties": { + "type": "object", + "properties": { + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this IP configuration is primary for the corresponding NIC." + }, + "privateIPAddress": { + "type": "string", + "description": "The IP address." + }, + "privateIPAllocationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "dynamic", + "static" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The method that private IP address is allocated." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceId" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The azure resource id." + } + }, + "description": "The private link ip configuration properties." + }, + "KafkaRestProperties": { + "type": "object", + "properties": { + "clientGroupInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ClientGroupInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The information of AAD security group." + }, + "configurationOverride": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configurations that need to be overriden." + } + }, + "description": "The kafka rest proxy configuration which contains AAD security group information." + }, + "LinuxOperatingSystemProfile": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "The password." + }, + "sshProfile": { + "oneOf": [ + { + "$ref": "#/definitions/SshProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of SSH public keys." + }, + "username": { + "type": "string", + "description": "The username." + } + }, + "description": "The ssh username, password, and ssh public key." + }, + "NetworkProperties": { + "type": "object", + "properties": { + "outboundDependenciesManagedType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Managed", + "External" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value to describe how the outbound dependencies of a HDInsight cluster are managed. 'Managed' means that the outbound dependencies are managed by the HDInsight service. 'External' means that the outbound dependencies are managed by a customer specific solution." + }, + "privateLink": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether or not private link is enabled." + }, + "resourceProviderConnection": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Inbound", + "Outbound" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The direction for the resource provider connection." + } + }, + "description": "The network properties." + }, + "OsProfile": { + "type": "object", + "properties": { + "linuxOperatingSystemProfile": { + "oneOf": [ + { + "$ref": "#/definitions/LinuxOperatingSystemProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The ssh username, password, and ssh public key." + } + }, + "description": "The Linux operation systems profile." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private link service connection state." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "The private endpoint connection properties." + }, + "PrivateLinkConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of private link configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private link configuration properties." + } + }, + "required": [ + "name", + "properties" + ], + "description": "The private link configuration." + }, + "PrivateLinkConfigurationProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The HDInsight private linkable sub-resource name to apply the private link configuration to. For example, 'headnode', 'gateway', 'edgenode'." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP configurations for the private link service." + } + }, + "required": [ + "groupId", + "ipConfigurations" + ], + "description": "The private link configuration properties." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "type": "string", + "description": "Whether there is further actions." + }, + "description": { + "type": "string", + "description": "The optional description of the status." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Approved", + "Rejected", + "Pending", + "Removed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The concrete private link service connection." + } + }, + "required": [ + "status" + ], + "description": "The private link service connection state." + }, + "ResourceId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The azure resource id." + } + }, + "description": "The azure resource id." + }, + "Role": { + "type": "object", + "properties": { + "autoscale": { + "oneOf": [ + { + "$ref": "#/definitions/Autoscale" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The autoscale request parameters" + }, + "dataDisksGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisksGroups" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data disks groups for the role." + }, + "encryptDataDisks": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether encrypt the data disks." + }, + "hardwareProfile": { + "oneOf": [ + { + "$ref": "#/definitions/HardwareProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The hardware profile." + }, + "minInstanceCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum instance count of the cluster." + }, + "name": { + "type": "string", + "description": "The name of the role." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Linux operation systems profile." + }, + "scriptActions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScriptAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of script actions on the role." + }, + "targetInstanceCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The instance count of the cluster." + }, + "virtualNetworkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual network properties." + }, + "VMGroupName": { + "type": "string", + "description": "The name of the virtual machine group." + } + }, + "description": "Describes a role on the cluster." + }, + "RuntimeScriptAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the script action." + }, + "parameters": { + "type": "string", + "description": "The parameters for the script" + }, + "roles": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of roles where script will be executed." + }, + "uri": { + "type": "string", + "description": "The URI to the script." + } + }, + "required": [ + "name", + "roles", + "uri" + ], + "description": "Describes a script action on a running cluster." + }, + "ScriptAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the script action." + }, + "parameters": { + "type": "string", + "description": "The parameters for the script provided." + }, + "uri": { + "type": "string", + "description": "The URI to the script." + } + }, + "required": [ + "name", + "parameters", + "uri" + ], + "description": "Describes a script action on role on the cluster." + }, + "SecurityProfile": { + "type": "object", + "properties": { + "aaddsResourceId": { + "type": "string", + "description": "The resource ID of the user's Azure Active Directory Domain Service." + }, + "clusterUsersGroupDNs": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. The Distinguished Names for cluster user groups" + }, + "directoryType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ActiveDirectory" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The directory type." + }, + "domain": { + "type": "string", + "description": "The organization's active directory domain." + }, + "domainUsername": { + "type": "string", + "description": "The domain user account that will have admin privileges on the cluster." + }, + "domainUserPassword": { + "type": "string", + "format": "password", + "description": "The domain admin password." + }, + "ldapsUrls": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The LDAPS protocol URLs to communicate with the Active Directory." + }, + "msiResourceId": { + "type": "string", + "description": "User assigned identity that has permissions to read and create cluster-related artifacts in the user's AADDS." + }, + "organizationalUnitDN": { + "type": "string", + "description": "The organizational unit within the Active Directory to place the cluster and service accounts." + } + }, + "description": "The security profile which contains Ssh public key for the HDInsight cluster." + }, + "SshProfile": { + "type": "object", + "properties": { + "publicKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of SSH public keys." + } + }, + "description": "The list of SSH public keys." + }, + "SshPublicKey": { + "type": "object", + "properties": { + "certificateData": { + "type": "string", + "description": "The certificate for SSH." + } + }, + "description": "The SSH public key for the cluster nodes." + }, + "StorageAccount": { + "type": "object", + "properties": { + "container": { + "type": "string", + "description": "The container in the storage account, only to be specified for WASB storage accounts." + }, + "enableSecureChannel": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable secure channel or not, it's an optional field. Default value is false when cluster version < 5.1 and true when cluster version >= 5.1 , " + }, + "fileshare": { + "type": "string", + "description": "The file share name." + }, + "fileSystem": { + "type": "string", + "description": "The filesystem, only to be specified for Azure Data Lake Storage Gen 2." + }, + "isDefault": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not the storage account is the default storage account." + }, + "key": { + "type": "string", + "description": "The storage account access key." + }, + "msiResourceId": { + "type": "string", + "description": "The managed identity (MSI) that is allowed to access the storage account, only to be specified for Azure Data Lake Storage Gen 2." + }, + "name": { + "type": "string", + "description": "The name of the storage account." + }, + "resourceId": { + "type": "string", + "description": "The resource ID of storage account, only to be specified for Azure Data Lake Storage Gen 2." + }, + "saskey": { + "type": "string", + "description": "The shared access signature key." + } + }, + "description": "The storage Account." + }, + "StorageProfile": { + "type": "object", + "properties": { + "storageaccounts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of storage accounts in the cluster." + } + }, + "description": "The storage profile." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The tenant id of user assigned identity." + } + }, + "description": "The User Assigned Identity" + }, + "VirtualNetworkProfile": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the virtual network." + }, + "subnet": { + "type": "string", + "description": "The name of the subnet." + } + }, + "description": "The virtual network properties." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 4efefb24e9..68f8d0b169 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -3910,6 +3910,90 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-05-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_storages" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_apiPortals" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_apiPortals_domains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_apms" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_applicationAccelerators" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_applicationAccelerators_customizedAccelerators" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_applicationLiveViews" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_apps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_apps_bindings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_apps_deployments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_apps_domains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_buildServices" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_buildServices_agentPools" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_buildServices_builders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_buildServices_builders_buildpackBindings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_buildServices_builds" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_configServers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_configurationServices" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_containerRegistries" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_DevToolPortals" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_eurekaServers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_gateways" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_gateways_domains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_gateways_routeConfigs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_monitoringSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_serviceRegistries" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.AppPlatform.json#/resourceDefinitions/Spring_storages" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-09-01-preview/Microsoft.Attestation.json#/resourceDefinitions/attestationProviders" }, @@ -10264,6 +10348,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-05-18-preview/Microsoft.DelegatedNetwork.json#/resourceDefinitions/orchestrators" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-27-preview/Microsoft.DelegatedNetwork.json#/resourceDefinitions/controller" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-27-preview/Microsoft.DelegatedNetwork.json#/resourceDefinitions/delegatedSubnets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-27-preview/Microsoft.DelegatedNetwork.json#/resourceDefinitions/orchestrators" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-09-01-preview/Microsoft.DeploymentManager.json#/resourceDefinitions/artifactSources" }, @@ -15238,6 +15331,18 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-04-15-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters_privateEndpointConnections" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-08-15-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-08-15-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters_applications" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-08-15-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters_extensions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-08-15-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters_privateEndpointConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-10-20/Microsoft.HealthBot.json#/resourceDefinitions/healthBots" }, @@ -18508,6 +18613,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-08-01/Microsoft.Migrate.ResourceMover.json#/resourceDefinitions/moveCollections_moveResources" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-08-01/Microsoft.Migrate.ResourceMover.json#/resourceDefinitions/moveCollections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-08-01/Microsoft.Migrate.ResourceMover.json#/resourceDefinitions/moveCollections_moveResources" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-02-28-preview/Microsoft.MixedReality.json#/resourceDefinitions/spatialAnchorsAccounts" }, @@ -19222,6 +19333,39 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-11-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_volumeGroups" }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_backupPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_backupVaults" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_backupVaults_backups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes_snapshots" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes_subvolumes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes_volumeQuotaRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_snapshotPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_volumeGroups" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-04-01-preview/Microsoft.Network.DnsResolver.json#/resourceDefinitions/dnsForwardingRulesets" }, @@ -26938,6 +27082,276 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-04-01/Microsoft.Network.NRP.json#/resourceDefinitions/vpnSites" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/applicationGateways" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/applicationGateways_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/ApplicationGatewayWebApplicationFirewallPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/applicationSecurityGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/azureFirewalls" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/bastionHosts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/connections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/connections_sharedkey" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/customIpPrefixes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/ddosCustomPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/ddosProtectionPlans" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/dscpConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/expressRouteCircuits" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/expressRouteCircuits_authorizations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/expressRouteCircuits_peerings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/expressRouteCircuits_peerings_connections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/expressRouteCrossConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/expressRouteCrossConnections_peerings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/expressRouteGateways" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/expressRouteGateways_expressRouteConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/ExpressRoutePorts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/expressRoutePorts_authorizations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/firewallPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/firewallPolicies_ruleCollectionGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/firewallPolicies_signatureOverrides" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/IpAllocations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/ipGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/loadBalancers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/loadBalancers_backendAddressPools" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/loadBalancers_inboundNatRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/localNetworkGateways" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/natGateways" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkInterfaces" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkInterfaces_tapConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkManagers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkManagers_connectivityConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkManagers_networkGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkManagers_networkGroups_staticMembers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkManagers_scopeConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkManagers_securityAdminConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkManagers_securityAdminConfigurations_ruleCollections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkManagers_securityAdminConfigurations_ruleCollections_rules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkProfiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkSecurityGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkSecurityGroups_securityRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkVirtualAppliances" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkVirtualAppliances_inboundSecurityRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkVirtualAppliances_networkVirtualApplianceConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkVirtualAppliances_virtualApplianceSites" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkWatchers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkWatchers_connectionMonitors" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkWatchers_flowLogs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/networkWatchers_packetCaptures" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/p2svpnGateways" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/privateEndpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/privateEndpoints_privateDnsZoneGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/privateLinkServices" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/privateLinkServices_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/publicIPAddresses" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/publicIPPrefixes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/routeFilters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/routeFilters_routeFilterRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/routeTables" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/routeTables_routes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/securityPartnerProviders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/serviceEndpointPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/serviceEndpointPolicies_serviceEndpointPolicyDefinitions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualHubs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualHubs_bgpConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualHubs_hubRouteTables" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualHubs_hubVirtualNetworkConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualHubs_ipConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualHubs_routeMaps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualHubs_routeTables" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualHubs_routingIntent" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualNetworkGateways" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualNetworkGateways_natRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualNetworks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualNetworks_subnets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualNetworks_virtualNetworkPeerings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualNetworkTaps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualRouters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualRouters_peerings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/virtualWans" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/vpnGateways" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/vpnGateways_natRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/vpnGateways_vpnConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/vpnServerConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/vpnServerConfigurations_configurationPolicyGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Network.NRP.json#/resourceDefinitions/vpnSites" + }, { "$ref": "https://schema.management.azure.com/schemas/2015-11-01/Microsoft.Network.TrafficManager.json#/resourceDefinitions/trafficmanagerprofiles" }, @@ -29443,6 +29857,48 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-04-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationVaultSettings" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationAlertSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationNetworks_replicationNetworkMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationRecoveryServicesProviders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationStorageClassifications_replicationStorageClassificationMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationFabrics_replicationvCenters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationProtectionIntents" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationRecoveryPlans" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-06-01/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationVaultSettings" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-04-30/Microsoft.RedHatOpenShift.json#/resourceDefinitions/openShiftClusters" }, @@ -29482,6 +29938,21 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-04-01/Microsoft.RedHatOpenShift.json#/resourceDefinitions/openshiftclusters_syncSet" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.RedHatOpenShift.json#/resourceDefinitions/openShiftClusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.RedHatOpenShift.json#/resourceDefinitions/openshiftclusters_machinePool" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.RedHatOpenShift.json#/resourceDefinitions/openshiftclusters_secret" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.RedHatOpenShift.json#/resourceDefinitions/openshiftclusters_syncIdentityProvider" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.RedHatOpenShift.json#/resourceDefinitions/openshiftclusters_syncSet" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-07-01/Microsoft.Relay.json#/resourceDefinitions/namespaces" }, @@ -33664,6 +34135,255 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_vulnerabilityAssessments" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/instancePools" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/locations_instanceFailoverGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/locations_serverTrustGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_administrators" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_advancedThreatProtectionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_azureADOnlyAuthentications" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_databases_advancedThreatProtectionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_databases_backupLongTermRetentionPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_databases_backupShortTermRetentionPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_databases_ledgerDigestUploads" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_databases_schemas_tables_columns_sensitivityLabels" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_databases_securityAlertPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_databases_transparentDataEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_databases_vulnerabilityAssessments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_databases_vulnerabilityAssessments_rules_baselines" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_distributedAvailabilityGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_dnsAliases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_dtc" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_encryptionProtector" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_keys" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_restorableDroppedDatabases_backupShortTermRetentionPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_securityAlertPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_serverConfigurationOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_serverTrustCertificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_sqlAgent" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_startStopSchedules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/managedInstances_vulnerabilityAssessments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_administrators" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_advancedThreatProtectionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_auditingSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_azureADOnlyAuthentications" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_connectionPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_advancedThreatProtectionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_auditingSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_backupLongTermRetentionPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_backupShortTermRetentionPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_dataMaskingPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_dataMaskingPolicies_rules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_extendedAuditingSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_extensions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_geoBackupPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_ledgerDigestUploads" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_maintenanceWindows" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_schemas_tables_columns_sensitivityLabels" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_securityAlertPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_sqlVulnerabilityAssessments_baselines" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_sqlVulnerabilityAssessments_baselines_rules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_syncGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_syncGroups_syncMembers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_transparentDataEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_vulnerabilityAssessments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_vulnerabilityAssessments_rules_baselines" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_workloadGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_databases_workloadGroups_workloadClassifiers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_devOpsAuditingSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_dnsAliases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_elasticPools" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_encryptionProtector" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_extendedAuditingSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_failoverGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_firewallRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_ipv6FirewallRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_jobAgents" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_jobAgents_credentials" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_jobAgents_jobs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_jobAgents_jobs_executions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_jobAgents_jobs_steps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_jobAgents_targetGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_keys" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_outboundFirewallRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_securityAlertPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_sqlVulnerabilityAssessments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_sqlVulnerabilityAssessments_baselines" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_sqlVulnerabilityAssessments_baselines_rules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_syncAgents" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_virtualNetworkRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.Sql.json#/resourceDefinitions/servers_vulnerabilityAssessments" + }, { "$ref": "https://schema.management.azure.com/schemas/2017-03-01-preview/Microsoft.SqlVirtualMachine.json#/resourceDefinitions/sqlVirtualMachineGroups" },