swagger: '2.0' info: version: 2020-08-01-preview title: Microsoft Azure AccessControlClient AccessConnector BackupVaults API schemes: - https tags: - name: BackupVaults paths: /subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/backupVaults: get: tags: - BackupVaults description: Returns resource collection belonging to a subscription. operationId: microsoftAzureBackupvaultsGetinsubscription produces: - application/json parameters: - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter responses: '200': description: OK schema: $ref: '#/definitions/BackupVaultResourceList' default: description: Error response describing why the operation failed. schema: $ref: '#/definitions/CloudError' x-ms-pageable: nextLinkName: nextLink x-ms-examples: Get BackupVaults in Subscription: $ref: ./examples/VaultCRUD/GetBackupVaultsInSubscription.json summary: Microsoft Azure Get Subscriptions Subscriptionid Providers Microsoft Dataprotection Backupvaults /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults: get: tags: - BackupVaults description: Returns resource collection belonging to a resource group. operationId: microsoftAzureBackupvaultsGetinresourcegroup produces: - application/json parameters: - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter responses: '200': description: OK schema: $ref: '#/definitions/BackupVaultResourceList' default: description: Error response describing why the operation failed. schema: $ref: '#/definitions/CloudError' x-ms-pageable: nextLinkName: nextLink x-ms-examples: Get BackupVaults in ResourceGroup: $ref: ./examples/VaultCRUD/GetBackupVaultsInResourceGroup.json summary: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Dataprotection Backupvaults ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName} : get: tags: - BackupVaults description: Returns a resource belonging to a resource group. operationId: microsoftAzureBackupvaultsGet produces: - application/json parameters: - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter - $ref: '#/parameters/VaultName' responses: '200': description: OK schema: $ref: '#/definitions/BackupVaultResource' default: description: Error response describing why the operation failed. schema: $ref: '#/definitions/CloudError' x-ms-examples: Get BackupVault: $ref: ./examples/VaultCRUD/GetBackupVault.json Get BackupVault With MSI: $ref: ./examples/VaultCRUD/GetBackupVaultWithMSI.json Get BackupVault With CMK: $ref: ./examples/VaultCRUD/GetBackupVaultWithCMK.json summary: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Dataprotection Backupvaults Vaultname put: tags: - BackupVaults description: Creates or updates a BackupVault resource belonging to a resource group. operationId: microsoftAzureBackupvaultsCreateorupdate consumes: - application/json produces: - application/json parameters: - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter - $ref: '#/parameters/VaultName' - name: parameters in: body description: Request body for operation required: true schema: $ref: '#/definitions/BackupVaultResource' responses: '200': description: OK schema: $ref: '#/definitions/BackupVaultResource' '201': description: Created schema: $ref: '#/definitions/BackupVaultResource' default: description: Error response describing why the operation failed. schema: $ref: '#/definitions/CloudError' x-ms-examples: Create BackupVault: $ref: ./examples/VaultCRUD/PutBackupVault.json Create BackupVault With MSI: $ref: ./examples/VaultCRUD/PutBackupVaultWithMSI.json Create BackupVault With CMK: $ref: ./examples/VaultCRUD/PutBackupVaultWithCMK.json x-ms-long-running-operation: true summary: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Dataprotection Backupvaults Vaultname delete: tags: - BackupVaults description: Deletes a BackupVault resource from the resource group. operationId: microsoftAzureBackupvaultsDelete produces: - application/json parameters: - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter - $ref: '#/parameters/VaultName' responses: '200': description: OK '202': description: Accepted '204': description: NoContent default: description: Error response describing why the operation failed. schema: $ref: '#/definitions/CloudError' x-ms-examples: Delete BackupVault: $ref: ./examples/VaultCRUD/DeleteBackupVault.json x-ms-long-running-operation: true summary: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Dataprotection Backupvaults Vaultname patch: tags: - BackupVaults description: Updates a BackupVault resource belonging to a resource group. For example, updating tags for a resource. operationId: microsoftAzureBackupvaultsUpdate produces: - application/json parameters: - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter - $ref: '#/parameters/VaultName' - name: parameters in: body description: Request body for operation required: true schema: $ref: '#/definitions/PatchResourceRequestInput' responses: '200': description: OK schema: $ref: '#/definitions/BackupVaultResource' '202': description: Accepted default: description: Error response describing why the operation failed. schema: $ref: '#/definitions/CloudError' x-ms-long-running-operation: true x-ms-examples: Patch BackupVault: $ref: ./examples/VaultCRUD/PatchBackupVault.json Patch BackupVault with CMK: $ref: ./examples/VaultCRUD/PatchBackupVaultWithCMK.json summary: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Dataprotection Backupvaults Vaultname ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/checkNameAvailability : post: tags: - BackupVaults summary: Microsoft Azure Api To Check For Resource Name Availability operationId: microsoftAzureBackupvaultsChecknameavailability produces: - application/json parameters: - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter - $ref: ../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter - name: location in: path description: The location in which uniqueness will be verified. required: true type: string - name: parameters in: body description: Check name availability request required: true schema: $ref: '#/definitions/CheckNameAvailabilityRequest' responses: '200': description: OK schema: $ref: '#/definitions/CheckNameAvailabilityResult' default: description: Error response describing why the operation failed. schema: $ref: '#/definitions/CloudError' x-ms-examples: Check BackupVaults name availability: $ref: ./examples/VaultCRUD/CheckBackupVaultsNameAvailability.json description: Needs a more full description created. definitions: DppIdentityDetails: description: Identity details properties: principalId: description: The object ID of the service principal object for the managed identity that is used to grant role-based access to an Azure resource. readOnly: true type: string tenantId: description: A Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member. readOnly: true type: string type: description: The identityType which can be either SystemAssigned, UserAssigned, 'SystemAssigned,UserAssigned' or None type: string userAssignedIdentities: description: Gets or sets the user assigned identities. type: object additionalProperties: $ref: ../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/UserAssignedIdentity title: DppIdentityDetails type: object SoftDeleteSettings: description: Soft delete related settings type: object properties: state: description: State of soft delete enum: - 'Off' - 'On' - AlwaysOn type: string x-ms-enum: name: SoftDeleteState modelAsString: true values: - description: Soft Delete is turned off for the BackupVault value: 'Off' - description: Soft Delete is enabled for the BackupVault but can be turned off value: 'On' - description: Soft Delete is permanently enabled for the BackupVault and the setting cannot be changed value: AlwaysOn retentionDurationInDays: description: Soft delete retention duration format: double type: number CmkKeyVaultProperties: type: object description: The properties of the Key Vault which hosts CMK properties: keyUri: description: The key uri of the Customer Managed Key type: string BackupVault: description: Backup Vault properties: monitoringSettings: $ref: '#/definitions/MonitoringSettings' description: Monitoring Settings provisioningState: description: Provisioning state of the BackupVault resource enum: - Failed - Provisioning - Succeeded - Unknown - Updating readOnly: true type: string x-ms-enum: modelAsString: true name: ProvisioningState resourceMoveState: description: Resource move state for backup vault enum: - Unknown - InProgress - PrepareFailed - CommitFailed - Failed - PrepareTimedout - CommitTimedout - CriticalFailure - PartialSuccess - MoveSucceeded type: string readOnly: true x-ms-enum: name: ResourceMoveState modelAsString: true resourceMoveDetails: $ref: '#/definitions/ResourceMoveDetails' description: Resource move details for backup vault readOnly: true securitySettings: $ref: '#/definitions/SecuritySettings' description: Security Settings storageSettings: description: Storage Settings items: $ref: '#/definitions/StorageSetting' x-ms-identifiers: [] type: array isVaultProtectedByResourceGuard: description: Is vault protected by resource guard type: boolean readOnly: true featureSettings: $ref: '#/definitions/FeatureSettings' description: Feature Settings secureScore: description: Secure Score of Backup Vault enum: - None - Minimum - Adequate - Maximum - NotSupported type: string readOnly: true x-ms-enum: name: SecureScoreLevel modelAsString: true replicatedRegions: description: List of replicated regions for Backup Vault items: type: string type: array required: - storageSettings title: BackupVault type: object ErrorAdditionalInfo: description: The resource management error additional info. properties: info: description: The additional info. readOnly: true type: object type: description: The additional info type. readOnly: true type: string encryptionSettings: description: Customer Managed Key details of the resource. type: object properties: state: description: Encryption state of the Backup Vault. type: string enum: - Enabled - Disabled - Inconsistent x-ms-enum: name: EncryptionState modelAsString: true values: - description: CMK encryption is enabled on the Backup Vault value: Enabled - description: CMK encryption is disabled on the Backup Vault. User can not set this state once Encryption State is 'Enabled'. value: Disabled - description: CMK encryption is in inconsistent state on the Backup Vault. This state indicates that user needs to retry the encryption settings operation immediately to correct the state. value: Inconsistent keyVaultProperties: $ref: '#/definitions/CmkKeyVaultProperties' kekIdentity: $ref: '#/definitions/CmkKekIdentity' infrastructureEncryption: description: Enabling/Disabling the Double Encryption state type: string enum: - Enabled - Disabled x-ms-enum: name: InfrastructureEncryptionState modelAsString: true CheckNameAvailabilityRequest: description: CheckNameAvailability Request properties: name: description: Resource name for which availability needs to be checked type: string type: description: 'Describes the Resource type: Microsoft.DataProtection/BackupVaults' type: string title: CheckNameAvailabilityRequest type: object SecuritySettings: description: Class containing security settings of vault type: object properties: softDeleteSettings: $ref: '#/definitions/SoftDeleteSettings' immutabilitySettings: $ref: '#/definitions/ImmutabilitySettings' encryptionSettings: $ref: '#/definitions/encryptionSettings' AzureMonitorAlertSettings: type: object description: Settings for Azure Monitor based alerts properties: alertsForAllJobFailures: enum: - Enabled - Disabled type: string x-ms-enum: name: AlertsState modelAsString: true MonitoringSettings: type: object description: Monitoring Settings properties: azureMonitorAlertSettings: $ref: '#/definitions/AzureMonitorAlertSettings' CheckNameAvailabilityResult: description: CheckNameAvailability Result properties: message: description: Gets or sets the message. type: string nameAvailable: description: Gets or sets a value indicating whether [name available]. type: boolean reason: description: Gets or sets the reason. type: string title: CheckNameAvailabilityResult type: object DppTrackedResource: allOf: - $ref: '#/definitions/DppBaseTrackedResource' properties: identity: $ref: '#/definitions/DppIdentityDetails' description: Input Managed Identity Details type: object x-ms-azure-resource: true FeatureSettings: description: Class containing feature settings of vault type: object properties: crossSubscriptionRestoreSettings: $ref: '#/definitions/CrossSubscriptionRestoreSettings' crossRegionRestoreSettings: $ref: '#/definitions/CrossRegionRestoreSettings' CrossSubscriptionRestoreSettings: description: CrossSubscriptionRestore Settings type: object properties: state: description: CrossSubscriptionRestore state enum: - Disabled - PermanentlyDisabled - Enabled type: string x-ms-enum: name: CrossSubscriptionRestoreState modelAsString: true DppResourceList: description: ListResource properties: nextLink: description: The uri to fetch the next page of resources. Call ListNext() fetches next page of resources. type: string title: List Resource type: object CrossRegionRestoreSettings: type: object properties: state: description: CrossRegionRestore state enum: - Disabled - Enabled type: string x-ms-enum: name: CrossRegionRestoreState modelAsString: true DppBaseTrackedResource: properties: eTag: description: Optional ETag. type: string id: description: Resource Id represents the complete path to the resource. readOnly: true type: string location: description: Resource location. type: string name: description: Resource name associated with the resource. readOnly: true type: string tags: additionalProperties: type: string description: Resource tags. type: object type: description: Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... readOnly: true type: string systemData: $ref: ../../../../../common-types/resource-management/v4/types.json#/definitions/systemData type: object x-ms-azure-resource: true StorageSetting: description: Storage setting properties: datastoreType: description: Gets or sets the type of the datastore. enum: - ArchiveStore - OperationalStore - VaultStore type: string x-ms-enum: modelAsString: true name: StorageSettingStoreTypes type: description: Gets or sets the type. enum: - GeoRedundant - LocallyRedundant - ZoneRedundant type: string x-ms-enum: modelAsString: true name: StorageSettingTypes title: StorageSetting type: object PatchResourceRequestInput: description: Patch Request content for Microsoft.DataProtection resources properties: identity: $ref: '#/definitions/DppIdentityDetails' description: Input Managed Identity Details properties: $ref: '#/definitions/PatchBackupVaultInput' description: Resource properties. tags: additionalProperties: type: string description: Resource tags. type: object title: PatchResourceRequestInput type: object Error: description: The resource management error response. properties: additionalInfo: description: The error additional info. items: $ref: '#/definitions/ErrorAdditionalInfo' x-ms-identifiers: [] readOnly: true type: array code: description: The error code. readOnly: true type: string details: description: The error details. items: $ref: '#/definitions/Error' x-ms-identifiers: [] readOnly: true type: array message: description: The error message. readOnly: true type: string target: description: The error target. readOnly: true type: string BackupVaultResourceList: allOf: - $ref: '#/definitions/DppResourceList' description: List of BackupVault resources properties: value: description: List of resources. items: $ref: '#/definitions/BackupVaultResource' type: array title: BackupVaultResourceList type: object ResourceMoveDetails: description: ResourceMoveDetails will be returned in response to GetResource call from ARM type: object properties: operationId: description: CorrelationId of latest ResourceMove operation attempted type: string startTimeUtc: description: Start time in UTC of latest ResourceMove operation attempted. ISO 8601 format. type: string completionTimeUtc: description: Completion time in UTC of latest ResourceMove operation attempted. ISO 8601 format. type: string sourceResourcePath: description: ARM resource path of source resource type: string targetResourcePath: description: ARM resource path of target resource used in latest ResourceMove operation type: string CmkKekIdentity: type: object description: The details of the managed identity used for CMK properties: identityType: type: string description: The identity type. 'SystemAssigned' and 'UserAssigned' are mutually exclusive. 'SystemAssigned' will use implicitly created managed identity. enum: - SystemAssigned - UserAssigned x-ms-enum: name: IdentityType modelAsString: true identityId: type: string description: 'The managed identity to be used which has access permissions to the Key Vault. Provide a value here in case identity types: ''UserAssigned'' only.' BackupVaultResource: allOf: - $ref: '#/definitions/DppTrackedResource' description: Backup Vault Resource properties: properties: $ref: '#/definitions/BackupVault' description: BackupVaultResource properties required: - location - properties title: BackupVault Resource CloudError: description: An error response from Azure Backup. properties: error: $ref: '#/definitions/Error' title: CloudError x-ms-external: true ImmutabilitySettings: description: Immutability Settings at vault level type: object properties: state: description: Immutability state enum: - Disabled - Unlocked - Locked type: string x-ms-enum: name: ImmutabilityState modelAsString: true PatchBackupVaultInput: description: Backup Vault Contract for Patch Backup Vault API. type: object properties: monitoringSettings: $ref: '#/definitions/MonitoringSettings' description: Monitoring Settings securitySettings: $ref: '#/definitions/SecuritySettings' description: Security Settings featureSettings: $ref: '#/definitions/FeatureSettings' description: Feature Settings parameters: VaultName: name: vaultName in: path description: The name of the backup vault. required: true type: string x-ms-parameter-location: method x-ms-parameterized-host: hostTemplate: '{endpoint}' useSchemePrefix: false parameters: - $ref: '#/parameters/Endpoint'