diff --git a/schemas/2022-08-01/Microsoft.RecoveryServices.json b/schemas/2022-08-01/Microsoft.RecoveryServices.json new file mode 100644 index 0000000000..11a73665f2 --- /dev/null +++ b/schemas/2022-08-01/Microsoft.RecoveryServices.json @@ -0,0 +1,761 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-08-01/Microsoft.RecoveryServices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.RecoveryServices", + "description": "Microsoft RecoveryServices Resource Types", + "resourceDefinitions": { + "vaults": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01" + ] + }, + "etag": { + "type": "string", + "description": "Optional ETag." + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the recovery services vault." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the vault." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vaults_certificates_childResource" + }, + { + "$ref": "#/definitions/vaults_extendedInformation_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identifies the unique system identifier for each Azure resource." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults" + }, + "vaults_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01" + ] + }, + "name": { + "type": "string", + "description": "Certificate friendly name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RawCertificateData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Raw certificate data." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/certificates" + }, + "vaults_extendedInformation": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01" + ] + }, + "etag": { + "type": "string", + "description": "Optional ETag." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/vaultExtendedInfo$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vault extended information." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/extendedInformation" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/extendedInformation" + } + }, + "definitions": { + "AzureMonitorAlertSettings": { + "type": "object", + "properties": { + "alertsForAllJobFailures": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Settings for Azure Monitor based alerts" + }, + "ClassicAlertSettings": { + "type": "object", + "properties": { + "alertsForCriticalOperations": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Settings for classic alerts" + }, + "CmkKekIdentity": { + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity to be used to grant permissions in case the type of identity used is UserAssigned" + }, + "useSystemAssignedIdentity": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicate that system assigned identity should be used. Mutually exclusive with 'userAssignedIdentity' field" + } + }, + "description": "The details of the identity used for CMK" + }, + "CmkKeyVaultProperties": { + "type": "object", + "properties": { + "keyUri": { + "type": "string", + "description": "The key uri of the Customer Managed Key" + } + }, + "description": "The properties of the Key Vault which hosts CMK" + }, + "IdentityData": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "ImmutabilitySettings": { + "type": "object", + "properties": { + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Unlocked", + "Locked" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Immutability Settings of vault" + }, + "MonitoringSettings": { + "type": "object", + "properties": { + "azureMonitorAlertSettings": { + "oneOf": [ + { + "$ref": "#/definitions/AzureMonitorAlertSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings for Azure Monitor based alerts" + }, + "classicAlertSettings": { + "oneOf": [ + { + "$ref": "#/definitions/ClassicAlertSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings for classic alerts" + } + }, + "description": "Monitoring Settings of the vault" + }, + "RawCertificateData": { + "type": "object", + "properties": { + "authType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "ACS", + "AAD", + "AccessControlService", + "AzureActiveDirectory" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the authentication type." + }, + "certificate": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The base64 encoded certificate raw data string" + } + }, + "description": "Raw certificate data." + }, + "SecuritySettings": { + "type": "object", + "properties": { + "immutabilitySettings": { + "oneOf": [ + { + "$ref": "#/definitions/ImmutabilitySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Immutability Settings of vault" + } + }, + "description": "Security Settings of the vault" + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "type": "string", + "description": "The sku capacity" + }, + "family": { + "type": "string", + "description": "The sku family" + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "RS0" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of SKU is RS0 (Recovery Services 0th version) and the tier is standard tier. They do not have affect on backend storage redundancy or any other vault settings. To manage storage redundancy, use the backupstorageconfig." + }, + "size": { + "type": "string", + "description": "The sku size" + }, + "tier": { + "type": "string", + "description": "The Sku tier." + } + }, + "required": [ + "name" + ], + "description": "Identifies the unique system identifier for each Azure resource." + }, + "SystemData": { + "type": "object", + "properties": { + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that last modified the resource." + } + }, + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "UpgradeDetails": { + "type": "object", + "properties": {}, + "description": "Details for upgrading vault." + }, + "UserIdentity": { + "type": "object", + "properties": {}, + "description": "A resource identity that is managed by the user of the service." + }, + "VaultExtendedInfo": { + "type": "object", + "properties": { + "algorithm": { + "type": "string", + "description": "Algorithm for Vault ExtendedInfo" + }, + "encryptionKey": { + "type": "string", + "description": "Encryption key." + }, + "encryptionKeyThumbprint": { + "type": "string", + "description": "Encryption key thumbprint." + }, + "integrityKey": { + "type": "string", + "description": "Integrity key." + } + }, + "description": "Vault extended information." + }, + "VaultProperties": { + "type": "object", + "properties": { + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/VaultPropertiesEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Customer Managed Key details of the resource." + }, + "monitoringSettings": { + "oneOf": [ + { + "$ref": "#/definitions/MonitoringSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monitoring Settings of the vault" + }, + "moveDetails": { + "oneOf": [ + { + "$ref": "#/definitions/VaultPropertiesMoveDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The details of the latest move operation performed on the Azure Resource" + }, + "redundancySettings": { + "oneOf": [ + { + "$ref": "#/definitions/VaultPropertiesRedundancySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The redundancy Settings of a Vault" + }, + "securitySettings": { + "oneOf": [ + { + "$ref": "#/definitions/SecuritySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Security Settings of the vault" + }, + "upgradeDetails": { + "oneOf": [ + { + "$ref": "#/definitions/UpgradeDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Details for upgrading vault." + } + }, + "description": "Properties of the vault." + }, + "VaultPropertiesEncryption": { + "type": "object", + "properties": { + "infrastructureEncryption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enabling/Disabling the Double Encryption state." + }, + "kekIdentity": { + "oneOf": [ + { + "$ref": "#/definitions/CmkKekIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The details of the identity used for CMK" + }, + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/CmkKeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the Key Vault which hosts CMK" + } + }, + "description": "Customer Managed Key details of the resource." + }, + "VaultPropertiesMoveDetails": { + "type": "object", + "properties": {}, + "description": "The details of the latest move operation performed on the Azure Resource" + }, + "VaultPropertiesRedundancySettings": { + "type": "object", + "properties": {}, + "description": "The redundancy Settings of a Vault" + }, + "vaults_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01" + ] + }, + "name": { + "type": "string", + "description": "Certificate friendly name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RawCertificateData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Raw certificate data." + }, + "type": { + "type": "string", + "enum": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/certificates" + }, + "vaults_extendedInformation_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01" + ] + }, + "etag": { + "type": "string", + "description": "Optional ETag." + }, + "name": { + "type": "string", + "enum": [ + "vaultExtendedInfo" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultExtendedInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vault extended information." + }, + "type": { + "type": "string", + "enum": [ + "extendedInformation" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/extendedInformation" + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 2ef5f3eb30..ff24ec2fc6 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -20644,6 +20644,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-04-01/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_extendedInformation" }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-08-01/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-08-01/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-08-01/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_extendedInformation" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.SiteRecovery.json#/resourceDefinitions/vaults_replicationAlertSettings" },