swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  title: RecoveryServicesBackupClient
  version: 2016-12-01
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/backupManagement.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: recoveryservicesbackup-backupManagement
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account.
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
parameters:
  ApiVersion:
    description: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
  ResourceGroupName:
    description: The name of the resource group where the recovery services vault is present.
    in: path
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionId:
    description: The subscription Id.
    in: path
    name: subscriptionId
    required: true
    type: string
  VaultName:
    description: The name of the recovery services vault.
    in: path
    name: vaultName
    required: true
    type: string
    x-ms-parameter-location: method
paths:
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines":
    get:
      deprecated: false
      description: Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.
      operationId: BackupEngines_List
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: OData filter options.
          in: query
          name: $filter
          required: false
          type: string
        - description: skipToken Filter.
          in: query
          name: $skipToken
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/BackupEngineBaseResourceList"
      tags:
        - BackupEngines
      x-ms-odata: "#/definitions/BMSBackupEnginesQueryObject"
      x-ms-pageable:
        nextLinkName: nextLink
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}":
    get:
      deprecated: false
      description: Returns backup management server registered to Recovery Services Vault.
      operationId: BackupEngines_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Name of the backup management server.
          in: path
          name: backupEngineName
          required: true
          type: string
        - description: OData filter options.
          in: query
          name: $filter
          required: false
          type: string
        - description: skipToken Filter.
          in: query
          name: $skipToken
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/BackupEngineBaseResource"
      tags:
        - BackupEngines
      x-ms-odata: "#/definitions/BMSBackupEngineQueryObject"
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}":
    get:
      deprecated: false
      description: Provides the result of the refresh operation triggered by the BeginRefresh operation.
      operationId: ProtectionContainerRefreshOperationResults_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated with the container.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Operation ID associated with the operation whose result needs to be fetched.
          in: path
          name: operationId
          required: true
          type: string
      responses:
        "202":
          description: Accepted
        "204":
          description: NoContent
      tags:
        - ProtectionContainerRefreshOperationResults
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}":
    get:
      deprecated: false
      description: Gets details of the specific container registered to your Recovery Services Vault.
      operationId: ProtectionContainers_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Name of the fabric where the container belongs.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Name of the container whose details need to be fetched.
          in: path
          name: containerName
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ProtectionContainerResource"
      tags:
        - ProtectionContainers
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}":
    get:
      deprecated: false
      description: Fetches the result of any operation on the container.
      operationId: ProtectionContainerOperationResults_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated with the container.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Container name whose information should be fetched.
          in: path
          name: containerName
          required: true
          type: string
        - description: Operation ID which represents the operation whose result needs to be fetched.
          in: path
          name: operationId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ProtectionContainerResource"
        "202":
          description: Accepted
        "204":
          description: NoContent
      tags:
        - ProtectionContainerOperationResults
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}":
    delete:
      deprecated: false
      description: Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the request, call the GetItemOperationResult API.
      operationId: ProtectedItems_Delete
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated with the backed up item.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Container name associated with the backed up item.
          in: path
          name: containerName
          required: true
          type: string
        - description: Backed up item to be deleted.
          in: path
          name: protectedItemName
          required: true
          type: string
      responses:
        "202":
          description: Accepted
        "204":
          description: NoContent
      tags:
        - ProtectedItems
    get:
      deprecated: false
      description: Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API.
      operationId: ProtectedItems_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated with the backed up item.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Container name associated with the backed up item.
          in: path
          name: containerName
          required: true
          type: string
        - description: Backed up item name whose details are to be fetched.
          in: path
          name: protectedItemName
          required: true
          type: string
        - description: OData filter options.
          in: query
          name: $filter
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ProtectedItemResource"
      tags:
        - ProtectedItems
      x-ms-odata: "#/definitions/GetProtectedItemQueryObject"
    put:
      deprecated: false
      description: Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API.
      operationId: ProtectedItems_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated with the backup item.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Container name associated with the backup item.
          in: path
          name: containerName
          required: true
          type: string
        - description: Item name to be backed up.
          in: path
          name: protectedItemName
          required: true
          type: string
        - description: resource backed up item
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ProtectedItemResource"
      responses:
        "202":
          description: Accepted
      tags:
        - ProtectedItems
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup":
    post:
      deprecated: false
      description: Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the operation, call GetProtectedItemOperationResult API.
      operationId: Backups_Trigger
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated with the backup item.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Container name associated with the backup item.
          in: path
          name: containerName
          required: true
          type: string
        - description: Backup item for which backup needs to be triggered.
          in: path
          name: protectedItemName
          required: true
          type: string
        - description: resource backup request
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/BackupRequestResource"
      responses:
        "202":
          description: Accepted
      tags:
        - Backups
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}":
    get:
      deprecated: false
      description: Fetches the result of any operation on the backup item.
      operationId: ProtectedItemOperationResults_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated with the backup item.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Container name associated with the backup item.
          in: path
          name: containerName
          required: true
          type: string
        - description: Backup item name whose details are to be fetched.
          in: path
          name: protectedItemName
          required: true
          type: string
        - description: OperationID which represents the operation whose result needs to be fetched.
          in: path
          name: operationId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ProtectedItemResource"
        "202":
          description: Accepted
        "204":
          description: NoContent
      tags:
        - ProtectedItemOperationResults
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}":
    get:
      deprecated: false
      description: Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed or failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations create jobs. This method returns the list of jobs associated with the operation.
      operationId: ProtectedItemOperationStatuses_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated with the backup item.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Container name associated with the backup item.
          in: path
          name: containerName
          required: true
          type: string
        - description: Backup item name whose details are to be fetched.
          in: path
          name: protectedItemName
          required: true
          type: string
        - description: OperationID represents the operation whose status needs to be fetched.
          in: path
          name: operationId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/OperationStatus"
      tags:
        - ProtectedItemOperationStatuses
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints":
    get:
      deprecated: false
      description: Lists the backup copies for the backed up item.
      operationId: RecoveryPoints_List
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated with the backed up item.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Container name associated with the backed up item.
          in: path
          name: containerName
          required: true
          type: string
        - description: Backed up item whose backup copies are to be fetched.
          in: path
          name: protectedItemName
          required: true
          type: string
        - description: OData filter options.
          in: query
          name: $filter
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RecoveryPointResourceList"
      tags:
        - RecoveryPoints
      x-ms-odata: "#/definitions/BMSRPQueryObject"
      x-ms-pageable:
        nextLinkName: nextLink
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}":
    get:
      deprecated: false
      description: Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation. To know the status of the operation, call the GetProtectedItemOperationResult API.
      operationId: RecoveryPoints_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated with backed up item.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Container name associated with backed up item.
          in: path
          name: containerName
          required: true
          type: string
        - description: Backed up item name whose backup data needs to be fetched.
          in: path
          name: protectedItemName
          required: true
          type: string
        - description: RecoveryPointID represents the backed up data to be fetched.
          in: path
          name: recoveryPointId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RecoveryPointResource"
      tags:
        - RecoveryPoints
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery":
    post:
      deprecated: false
      description: Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file explorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of provisioning, call GetProtectedItemOperationResult API.
      operationId: ItemLevelRecoveryConnections_Provision
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated with the backed up items.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Container name associated with the backed up items.
          in: path
          name: containerName
          required: true
          type: string
        - description: Backed up item name whose files/folders are to be restored.
          in: path
          name: protectedItemName
          required: true
          type: string
        - description: Recovery point ID which represents backed up data. iSCSI connection will be provisioned for this backed up data.
          in: path
          name: recoveryPointId
          required: true
          type: string
        - description: resource ILR request
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ILRRequestResource"
      responses:
        "202":
          description: Accepted
      tags:
        - ItemLevelRecoveryConnections
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore":
    post:
      deprecated: false
      description: Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use GetProtectedItemOperationResult API.
      operationId: Restores_Trigger
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated with the backed up items.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Container name associated with the backed up items.
          in: path
          name: containerName
          required: true
          type: string
        - description: Backed up item to be restored.
          in: path
          name: protectedItemName
          required: true
          type: string
        - description: Recovery point ID which represents the backed up data to be restored.
          in: path
          name: recoveryPointId
          required: true
          type: string
        - description: resource restore request
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RestoreRequestResource"
      responses:
        "202":
          description: Accepted
      tags:
        - Restores
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery":
    post:
      deprecated: false
      description: Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer displaying all recoverable files and folders. This is an asynchronous operation.
      operationId: ItemLevelRecoveryConnections_Revoke
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated with the backed up items.
          in: path
          name: fabricName
          required: true
          type: string
        - description: Container name associated with the backed up items.
          in: path
          name: containerName
          required: true
          type: string
        - description: Backed up item name whose files/folders are to be restored.
          in: path
          name: protectedItemName
          required: true
          type: string
        - description: Recovery point ID which represents backed up data. iSCSI connection will be revoked for this backed up data.
          in: path
          name: recoveryPointId
          required: true
          type: string
      responses:
        "202":
          description: Accepted
      tags:
        - ItemLevelRecoveryConnections
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers":
    post:
      deprecated: false
      description: Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an asynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.
      operationId: ProtectionContainers_Refresh
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Fabric name associated the container.
          in: path
          name: fabricName
          required: true
          type: string
      responses:
        "202":
          description: Accepted
      tags:
        - ProtectionContainers
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}":
    get:
      deprecated: false
      description: Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.
      operationId: ExportJobsOperationResults_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: OperationID which represents the export job.
          in: path
          name: operationId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/OperationResultInfoBaseResource"
        "202":
          description: Accepted
      tags:
        - ExportJobsOperationResults
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel":
    post:
      deprecated: false
      description: Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call GetCancelOperationResult API.
      operationId: JobCancellations_Trigger
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Name of the job to cancel.
          in: path
          name: jobName
          required: true
          type: string
      responses:
        "202":
          description: Accepted
      tags:
        - JobCancellations
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}":
    get:
      deprecated: false
      description: "Fetches the result of any operation.\r

        \            the operation."
      operationId: JobOperationResults_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Job name whose operation result has to be fetched.
          in: path
          name: jobName
          required: true
          type: string
        - description: OperationID which represents the operation whose result has to be fetched.
          in: path
          name: operationId
          required: true
          type: string
      responses:
        "200":
          description: OK
        "202":
          description: Accepted
        "204":
          description: NoContent
      tags:
        - JobOperationResults
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport":
    post:
      deprecated: false
      description: Triggers export of jobs specified by filters and returns an OperationID to track.
      operationId: Jobs_Export
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: OData filter options.
          in: query
          name: $filter
          required: false
          type: string
      responses:
        "202":
          description: Accepted
      tags:
        - Jobs
      x-ms-odata: "#/definitions/JobQueryObject"
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}":
    get:
      deprecated: false
      description: Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the status code in the response would be Accepted. It will continue to be in this state till it reaches completion. On successful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is part of the Location header of the operation response.
      operationId: BackupOperationResults_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: OperationID which represents the operation.
          in: path
          name: operationId
          required: true
          type: string
      responses:
        "200":
          description: OK
        "202":
          description: Accepted
        "204":
          description: NoContent
      tags:
        - BackupOperationResults
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}":
    get:
      deprecated: false
      description: Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed or failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations create jobs. This method returns the list of jobs when the operation is complete.
      operationId: BackupOperationStatuses_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: OperationID which represents the operation.
          in: path
          name: operationId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/OperationStatus"
      tags:
        - BackupOperationStatuses
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies":
    get:
      deprecated: false
      description: Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch scoped results.
      operationId: BackupPolicies_List
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: OData filter options.
          in: query
          name: $filter
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ProtectionPolicyResourceList"
      tags:
        - BackupPolicies
      x-ms-odata: "#/definitions/ProtectionPolicyQueryObject"
      x-ms-pageable:
        nextLinkName: nextLink
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}":
    delete:
      deprecated: false
      description: Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.
      operationId: ProtectionPolicies_Delete
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Backup policy to be deleted.
          in: path
          name: policyName
          required: true
          type: string
      responses:
        "200":
          description: OK
        "204":
          description: NoContent
      tags:
        - ProtectionPolicies
    get:
      deprecated: false
      description: Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.
      operationId: ProtectionPolicies_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Backup policy information to be fetched.
          in: path
          name: policyName
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ProtectionPolicyResource"
      tags:
        - ProtectionPolicies
    put:
      deprecated: false
      description: Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.
      operationId: ProtectionPolicies_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Backup policy to be created.
          in: path
          name: policyName
          required: true
          type: string
        - description: resource backup policy
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ProtectionPolicyResource"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ProtectionPolicyResource"
        "202":
          description: Accepted
      tags:
        - ProtectionPolicies
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}":
    get:
      deprecated: false
      description: Provides the result of an operation.
      operationId: ProtectionPolicyOperationResults_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Backup policy name whose operation's result needs to be fetched.
          in: path
          name: policyName
          required: true
          type: string
        - description: Operation ID which represents the operation whose result needs to be fetched.
          in: path
          name: operationId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ProtectionPolicyResource"
      tags:
        - ProtectionPolicyOperationResults
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}":
    get:
      deprecated: false
      description: Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed or failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations create jobs. This method returns the list of jobs associated with operation.
      operationId: ProtectionPolicyOperationStatuses_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Backup policy name whose operation's status needs to be fetched.
          in: path
          name: policyName
          required: true
          type: string
        - description: Operation ID which represents an operation whose status needs to be fetched.
          in: path
          name: operationId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/OperationStatus"
      tags:
        - ProtectionPolicyOperationStatuses
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems":
    get:
      deprecated: false
      description: Provides a pageable list of protectable objects within your subscription according to the query filter and the pagination parameters.
      operationId: BackupProtectableItems_List
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: OData filter options.
          in: query
          name: $filter
          required: false
          type: string
        - description: skipToken Filter.
          in: query
          name: $skipToken
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WorkloadProtectableItemResourceList"
      tags:
        - BackupProtectableItems
      x-ms-odata: "#/definitions/BMSPOQueryObject"
      x-ms-pageable:
        nextLinkName: nextLink
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems":
    get:
      deprecated: false
      description: Provides a pageable list of all items that are backed up within a vault.
      operationId: BackupProtectedItems_List
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: OData filter options.
          in: query
          name: $filter
          required: false
          type: string
        - description: skipToken Filter.
          in: query
          name: $skipToken
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ProtectedItemResourceList"
      tags:
        - BackupProtectedItems
      x-ms-odata: "#/definitions/ProtectedItemQueryObject"
      x-ms-pageable:
        nextLinkName: nextLink
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers":
    get:
      deprecated: false
      description: Lists the containers registered to Recovery Services Vault.
      operationId: BackupProtectionContainers_List
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: OData filter options.
          in: query
          name: $filter
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ProtectionContainerResourceList"
      tags:
        - BackupProtectionContainers
      x-ms-odata: "#/definitions/BMSContainerQueryObject"
      x-ms-pageable:
        nextLinkName: nextLink
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN":
    post:
      deprecated: false
      description: Get the security PIN.
      operationId: SecurityPINs_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/TokenInformation"
      tags:
        - SecurityPINs
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries":
    get:
      deprecated: false
      description: Fetches the backup management usage summaries of the vault.
      operationId: BackupUsageSummaries_List
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: OData filter options.
          in: query
          name: $filter
          required: false
          type: string
        - description: skipToken Filter.
          in: query
          name: $skipToken
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/BackupManagementUsageList"
      tags:
        - BackupUsageSummaries
      x-ms-odata: "#/definitions/BMSBackupSummariesQueryObject"
      x-ms-pageable: {}
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig":
    get:
      deprecated: false
      description: Fetches resource vault config.
      operationId: BackupResourceVaultConfigs_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/BackupResourceVaultConfigResource"
      tags:
        - BackupResourceVaultConfigs
    patch:
      deprecated: false
      description: Updates vault security config.
      operationId: BackupResourceVaultConfigs_Update
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: resource config request
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/BackupResourceVaultConfigResource"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/BackupResourceVaultConfigResource"
      tags:
        - BackupResourceVaultConfigs
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig":
    get:
      deprecated: false
      description: Fetches resource storage config.
      operationId: BackupResourceStorageConfigs_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/BackupResourceConfigResource"
      tags:
        - BackupResourceStorageConfigs
    patch:
      deprecated: false
      description: Updates vault storage model type.
      operationId: BackupResourceStorageConfigs_Update
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
      responses:
        "204":
          description: NoContent
      tags:
        - BackupResourceStorageConfigs
definitions:
  AzureBackupServerContainer:
    allOf:
      - $ref: "#/definitions/ProtectionContainer"
    description: AzureBackupServer (DPMVenus) workload-specific protection container.
    properties:
      DPMServers:
        description: List of BackupEngines protecting the container
        items:
          type: string
        type: array
      UpgradeAvailable:
        description: To check if upgrade available
        type: boolean
      canReRegister:
        description: Specifies whether the container is re-registrable.
        type: boolean
      containerId:
        description: ID of container.
        type: string
      dpmAgentVersion:
        description: Backup engine Agent version
        type: string
      extendedInfo:
        $ref: "#/definitions/DPMContainerExtendedInfo"
        description: Extended Info of the container.
      protectedItemCount:
        description: Number of protected items in the BackupEngine
        format: int64
        type: integer
      protectionStatus:
        description: Protection status of the container.
        type: string
    type: object
    x-ms-discriminator-value: AzureBackupServerContainer
  AzureBackupServerEngine:
    allOf:
      - $ref: "#/definitions/BackupEngineBase"
    description: Backup engine type when Azure Backup Server is used to manage the backups.
    type: object
    x-ms-discriminator-value: AzureBackupServerEngine
  AzureIaaSClassicComputeVMContainer:
    allOf:
      - $ref: "#/definitions/IaaSVMContainer"
    description: IaaS VM workload-specific backup item representing a classic virtual machine.
    type: object
    x-ms-discriminator-value: Microsoft.ClassicCompute/virtualMachines
  AzureIaaSClassicComputeVMProtectableItem:
    allOf:
      - $ref: "#/definitions/IaaSVMProtectableItem"
    description: IaaS VM workload-specific backup item representing the Classic Compute VM.
    type: object
    x-ms-discriminator-value: Microsoft.ClassicCompute/virtualMachines
  AzureIaaSClassicComputeVMProtectedItem:
    allOf:
      - $ref: "#/definitions/AzureIaaSVMProtectedItem"
    description: IaaS VM workload-specific backup item representing the Classic Compute VM.
    type: object
    x-ms-discriminator-value: Microsoft.ClassicCompute/virtualMachines
  AzureIaaSComputeVMContainer:
    allOf:
      - $ref: "#/definitions/IaaSVMContainer"
    description: IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.
    type: object
    x-ms-discriminator-value: Microsoft.Compute/virtualMachines
  AzureIaaSComputeVMProtectableItem:
    allOf:
      - $ref: "#/definitions/IaaSVMProtectableItem"
    description: IaaS VM workload-specific backup item representing the Azure Resource Manager VM.
    type: object
    x-ms-discriminator-value: Microsoft.Compute/virtualMachines
  AzureIaaSComputeVMProtectedItem:
    allOf:
      - $ref: "#/definitions/AzureIaaSVMProtectedItem"
    description: IaaS VM workload-specific backup item representing the Azure Resource Manager VM.
    type: object
    x-ms-discriminator-value: Microsoft.Compute/virtualMachines
  AzureIaaSVMHealthDetails:
    description: Azure IaaS VM workload-specific Health Details.
    properties:
      code:
        description: Health Code
        format: int32
        type: integer
      message:
        description: Health Message
        type: string
      recommendations:
        description: Health Recommended Actions
        items:
          type: string
        type: array
      title:
        description: Health Title
        type: string
    type: object
  AzureIaaSVMProtectedItem:
    allOf:
      - $ref: "#/definitions/ProtectedItem"
    description: IaaS VM workload-specific backup item.
    properties:
      extendedInfo:
        $ref: "#/definitions/AzureIaaSVMProtectedItemExtendedInfo"
        description: Additional information for this backup item.
      friendlyName:
        description: Friendly name of the VM represented by this backup item.
        type: string
      healthDetails:
        description: Health details on this backup item.
        items:
          $ref: "#/definitions/AzureIaaSVMHealthDetails"
        type: array
      healthStatus:
        description: Health status of protected item
        enum:
          - Passed
          - ActionRequired
          - ActionSuggested
          - Invalid
        type: string
        x-ms-enum:
          modelAsString: true
          name: HealthStatus
      lastBackupStatus:
        description: "Last backup operation status. Possible values: Healthy, Unhealthy."
        type: string
      lastBackupTime:
        description: Timestamp of the last backup operation on this backup item.
        format: date-time
        type: string
      protectedItemDataId:
        description: Data ID of the protected item.
        type: string
      protectionState:
        description: Backup state of this backup item.
        enum:
          - Invalid
          - IRPending
          - Protected
          - ProtectionError
          - ProtectionStopped
          - ProtectionPaused
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProtectionState
      protectionStatus:
        description: Backup status of this backup item.
        type: string
      virtualMachineId:
        description: Fully qualified ARM ID of the virtual machine represented by this item.
        type: string
    type: object
    x-ms-discriminator-value: AzureIaaSVMProtectedItem
  AzureIaaSVMProtectedItemExtendedInfo:
    description: Additional information on Azure IaaS VM specific backup item.
    properties:
      oldestRecoveryPoint:
        description: The oldest backup copy available for this backup item.
        format: date-time
        type: string
      policyInconsistent:
        description: Specifies if backup policy associated with the backup item is inconsistent.
        type: boolean
      recoveryPointCount:
        description: Number of backup copies available for this backup item.
        format: int32
        type: integer
    type: object
  AzureIaaSVMProtectionPolicy:
    allOf:
      - $ref: "#/definitions/ProtectionPolicy"
    description: IaaS VM workload-specific backup policy.
    properties:
      retentionPolicy:
        $ref: "#/definitions/RetentionPolicy"
        description: Retention policy with the details on backup copy retention ranges.
      schedulePolicy:
        $ref: "#/definitions/SchedulePolicy"
        description: Backup schedule specified as part of backup policy.
      timeZone:
        description: 'TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time".'
        type: string
    type: object
    x-ms-discriminator-value: AzureIaasVM
  AzureSqlContainer:
    allOf:
      - $ref: "#/definitions/ProtectionContainer"
    description: Azure Sql workload-specific container.
    type: object
    x-ms-discriminator-value: AzureSqlContainer
  AzureSqlProtectedItem:
    allOf:
      - $ref: "#/definitions/ProtectedItem"
    description: Azure SQL workload-specific backup item.
    properties:
      extendedInfo:
        $ref: "#/definitions/AzureSqlProtectedItemExtendedInfo"
        description: Additional information for this backup item.
      protectedItemDataId:
        description: Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.
        type: string
      protectionState:
        description: Backup state of the backed up item.
        enum:
          - Invalid
          - IRPending
          - Protected
          - ProtectionError
          - ProtectionStopped
          - ProtectionPaused
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProtectedItemState
    type: object
    x-ms-discriminator-value: Microsoft.Sql/servers/databases
  AzureSqlProtectedItemExtendedInfo:
    description: Additional information on Azure Sql specific protected item.
    properties:
      oldestRecoveryPoint:
        description: The oldest backup copy available for this item in the service.
        format: date-time
        type: string
      policyState:
        description: State of the backup policy associated with this backup item.
        type: string
      recoveryPointCount:
        description: Number of available backup copies associated with this backup item.
        format: int32
        type: integer
    type: object
  AzureSqlProtectionPolicy:
    allOf:
      - $ref: "#/definitions/ProtectionPolicy"
    description: Azure SQL workload-specific backup policy.
    properties:
      retentionPolicy:
        $ref: "#/definitions/RetentionPolicy"
        description: Retention policy details.
    type: object
    x-ms-discriminator-value: AzureSql
  BEKDetails:
    description: BEK is bitlocker encrpytion key.
    properties:
      secretData:
        description: BEK data.
        type: string
      secretUrl:
        description: Secret is BEK.
        type: string
      secretVaultId:
        description: ID of the Key Vault where this Secret is stored.
        type: string
    type: object
  BMSBackupEngineQueryObject:
    description: Query parameters to fetch list of backup engines.
    properties:
      expand:
        description: attribute to add extended info
        type: string
    type: object
  BMSBackupEnginesQueryObject:
    description: Query parameters to fetch list of backup engines.
    properties:
      backupManagementType:
        description: Backup management type for the backup engine.
        enum:
          - Invalid
          - AzureIaasVM
          - MAB
          - DPM
          - AzureBackupServer
          - AzureSql
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupManagementType
      expand:
        description: Attribute to add extended info.
        type: string
      friendlyName:
        description: Friendly name of the backup engine.
        type: string
    type: object
  BMSBackupSummariesQueryObject:
    description: Query parameters to fetch backup summaries.
    properties:
      type:
        description: Backup management type for this container.
        enum:
          - Invalid
          - BackupProtectedItemCountSummary
          - BackupProtectionContainerCountSummary
        type: string
        x-ms-enum:
          modelAsString: true
          name: Type
    type: object
  BMSContainerQueryObject:
    description: The query filters that can be used with the list containers API.
    properties:
      backupEngineName:
        description: Backup engine name
        type: string
      backupManagementType:
        description: Backup management type for this container.
        enum:
          - Invalid
          - AzureIaasVM
          - MAB
          - DPM
          - AzureBackupServer
          - AzureSql
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupManagementType
      containerType:
        description: Type of container for filter
        enum:
          - Invalid
          - Unknown
          - IaasVMContainer
          - IaasVMServiceContainer
          - DPMContainer
          - AzureBackupServerContainer
          - MABContainer
          - Cluster
          - AzureSqlContainer
          - Windows
          - VCenter
        type: string
        x-ms-enum:
          modelAsString: true
          name: ContainerType
      friendlyName:
        description: Friendly name of this container.
        type: string
      status:
        description: Status of registration of this container with the Recovery Services Vault.
        type: string
    required:
      - backupManagementType
    type: object
  BMSPOQueryObject:
    description: Filters to list items that can be backed up.
    properties:
      backupManagementType:
        description: Backup management type.
        enum:
          - Invalid
          - AzureIaasVM
          - MAB
          - DPM
          - AzureBackupServer
          - AzureSql
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupManagementType
      friendlyName:
        description: Friendly name.
        type: string
      status:
        description: Backup status query parameter.
        type: string
    type: object
  BMSRPQueryObject:
    description: Filters to list backup copies.
    properties:
      endDate:
        description: Backup copies created before this time.
        format: date-time
        type: string
      startDate:
        description: Backup copies created after this time.
        format: date-time
        type: string
    type: object
  BackupEngineBase:
    description: The base backup engine class. All workload specific backup engines derive from this class.
    discriminator: backupEngineType
    properties:
      azureBackupAgentVersion:
        description: Backup agent version
        type: string
      backupEngineId:
        description: ID of the backup engine.
        type: string
      backupEngineState:
        description: Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}
        type: string
      backupEngineType:
        description: Type of the backup engine.
        enum:
          - Invalid
          - DpmBackupEngine
          - AzureBackupServerEngine
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupEngineType
      backupManagementType:
        description: Type of backup management for the backup engine.
        enum:
          - Invalid
          - AzureIaasVM
          - MAB
          - DPM
          - AzureBackupServer
          - AzureSql
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupManagementType
      canReRegister:
        description: Flag indicating if the backup engine be registered, once already registered.
        type: boolean
      dpmVersion:
        description: Backup engine version
        type: string
      extendedInfo:
        $ref: "#/definitions/BackupEngineExtendedInfo"
        description: Extended info of the backupengine
      friendlyName:
        description: Friendly name of the backup engine.
        type: string
      healthStatus:
        description: Backup status of the backup engine.
        type: string
      isAzureBackupAgentUpgradeAvailable:
        description: To check if backup agent upgrade available
        type: boolean
      isDPMUpgradeAvailable:
        description: To check if backup engine upgrade available
        type: boolean
      registrationStatus:
        description: Registration status of the backup engine with the Recovery Services Vault.
        type: string
    type: object
  BackupEngineBaseResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The base backup engine class. All workload specific backup engines derive from this class.
    properties:
      properties:
        $ref: "#/definitions/BackupEngineBase"
        description: BackupEngineBaseResource properties
  BackupEngineBaseResourceList:
    allOf:
      - $ref: "#/definitions/ResourceList"
    description: List of BackupEngineBase resources
    properties:
      value:
        description: List of resources.
        items:
          $ref: "#/definitions/BackupEngineBaseResource"
        type: array
    type: object
  BackupEngineExtendedInfo:
    description: Additional information on backup engine.
    properties:
      availableDiskSpace:
        description: Diskspace currently available in the backup engine.
        format: double
        type: number
      azureProtectedInstances:
        description: Protected instances in the backup engine.
        format: int32
        type: integer
      databaseName:
        description: Database name of backup engine.
        type: string
      diskCount:
        description: Number of disks in the backup engine.
        format: int32
        type: integer
      protectedItemsCount:
        description: Number of protected items in the backup engine.
        format: int32
        type: integer
      protectedServersCount:
        description: Number of protected servers in the backup engine.
        format: int32
        type: integer
      refreshedAt:
        description: Last refresh time in the backup engine.
        format: date-time
        type: string
      usedDiskSpace:
        description: Diskspace used in the backup engine.
        format: double
        type: number
    type: object
  BackupManagementUsage:
    description: Backup management usages of a vault.
    properties:
      currentValue:
        description: Current value of usage.
        format: int64
        type: integer
      limit:
        description: Limit of usage.
        format: int64
        type: integer
      name:
        $ref: "#/definitions/NameInfo"
        description: Name of usage.
      nextResetTime:
        description: Next reset time of usage.
        format: date-time
        type: string
      quotaPeriod:
        description: Quota period of usage.
        type: string
      unit:
        description: Unit of the usage.
        enum:
          - Count
          - Bytes
          - Seconds
          - Percent
          - CountPerSecond
          - BytesPerSecond
        type: string
        x-ms-enum:
          modelAsString: true
          name: UsagesUnit
    type: object
  BackupManagementUsageList:
    description: Backup management usage for vault.
    properties:
      value:
        description: The list of backup management usages for the given vault.
        items:
          $ref: "#/definitions/BackupManagementUsage"
        type: array
    type: object
  BackupRequest:
    description: Base class for backup request. Workload-specific backup requests are derived from this class.
    discriminator: objectType
    properties:
      objectType:
        description: This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.
        type: string
    required:
      - objectType
    type: object
  BackupRequestResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Base class for backup request. Workload-specific backup requests are derived from this class.
    properties:
      properties:
        $ref: "#/definitions/BackupRequest"
        description: BackupRequestResource properties
  BackupResourceConfig:
    description: The resource storage details.
    properties:
      storageType:
        description: Storage type.
        enum:
          - Invalid
          - GeoRedundant
          - LocallyRedundant
        type: string
        x-ms-enum:
          modelAsString: true
          name: StorageType
      storageTypeState:
        description: Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.
        enum:
          - Invalid
          - Locked
          - Unlocked
        type: string
        x-ms-enum:
          modelAsString: true
          name: StorageTypeState
    type: object
  BackupResourceConfigResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The resource storage details.
    properties:
      properties:
        $ref: "#/definitions/BackupResourceConfig"
        description: BackupResourceConfigResource properties
  BackupResourceVaultConfig:
    description: Backup resource vault config details.
    properties:
      enhancedSecurityState:
        description: Enabled or Disabled.
        enum:
          - Invalid
          - Enabled
          - Disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: EnhancedSecurityState
      storageType:
        description: Storage type.
        enum:
          - Invalid
          - GeoRedundant
          - LocallyRedundant
        type: string
        x-ms-enum:
          modelAsString: true
          name: StorageType
      storageTypeState:
        description: Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.
        enum:
          - Invalid
          - Locked
          - Unlocked
        type: string
        x-ms-enum:
          modelAsString: true
          name: StorageTypeState
    type: object
  BackupResourceVaultConfigResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Backup resource vault config details.
    properties:
      properties:
        $ref: "#/definitions/BackupResourceVaultConfig"
        description: BackupResourceVaultConfigResource properties
  ClientScriptForConnect:
    description: Client script details for file / folder restore.
    properties:
      osType:
        description: OS type - Windows, Linux etc. for which this file / folder restore client script works.
        type: string
      scriptContent:
        description: File content of the client script for file / folder restore.
        type: string
      scriptExtension:
        description: File extension of the client script for file / folder restore - .ps1 , .sh , etc.
        type: string
      scriptNameSuffix:
        description: "Mandator suffix that should be added to the name of script that is given for download to user.\r

          \            If its null or empty then , ignore it."
        type: string
      url:
        description: URL of Executable from where to source the content. If this is not null then ScriptContent should not be used
        type: string
    type: object
  DPMContainerExtendedInfo:
    description: Additional information of the DPMContainer.
    properties:
      lastRefreshedAt:
        description: Last refresh time of the DPMContainer.
        format: date-time
        type: string
    type: object
  DPMProtectedItem:
    allOf:
      - $ref: "#/definitions/ProtectedItem"
    description: Additional information on Backup engine specific backup item.
    properties:
      backupEngineName:
        description: Backup Management server protecting this backup item
        type: string
      extendedInfo:
        $ref: "#/definitions/DPMProtectedItemExtendedInfo"
        description: Extended info of the backup item.
      friendlyName:
        description: Friendly name of the managed item
        type: string
      isScheduledForDeferredDelete:
        description: To check if backup item is scheduled for deferred delete
        type: boolean
      protectionState:
        description: Protection state of the backupengine
        enum:
          - Invalid
          - IRPending
          - Protected
          - ProtectionError
          - ProtectionStopped
          - ProtectionPaused
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProtectedItemState
    type: object
    x-ms-discriminator-value: DPMProtectedItem
  DPMProtectedItemExtendedInfo:
    description: Additional information of DPM Protected item.
    properties:
      diskStorageUsedInBytes:
        description: Used Disk storage in bytes.
        type: string
      isCollocated:
        description: To check if backup item is collocated.
        type: boolean
      isPresentOnCloud:
        description: To check if backup item is cloud protected.
        type: boolean
      lastBackupStatus:
        description: Last backup status information on backup item.
        type: string
      lastRefreshedAt:
        description: Last refresh time on backup item.
        format: date-time
        type: string
      oldestRecoveryPoint:
        description: Oldest cloud recovery point time.
        format: date-time
        type: string
      onPremiseLatestRecoveryPoint:
        description: latest disk recovery point time.
        format: date-time
        type: string
      onPremiseOldestRecoveryPoint:
        description: Oldest disk recovery point time.
        format: date-time
        type: string
      onPremiseRecoveryPointCount:
        description: disk recovery point count.
        format: int32
        type: integer
      protectableObjectLoadPath:
        additionalProperties:
          type: string
        description: Attribute to provide information on various DBs.
        type: object
      protected:
        description: To check if backup item is disk protected.
        type: boolean
      protectionGroupName:
        description: Protection group name of the backup item.
        type: string
      recoveryPointCount:
        description: cloud recovery point count.
        format: int32
        type: integer
      totalDiskStorageSizeInBytes:
        description: total Disk storage in bytes.
        type: string
    type: object
  DailyRetentionFormat:
    description: Daily retention format.
    properties:
      daysOfTheMonth:
        description: List of days of the month.
        items:
          $ref: "#/definitions/Day"
        type: array
    type: object
  DailyRetentionSchedule:
    description: Daily retention schedule.
    properties:
      retentionDuration:
        $ref: "#/definitions/RetentionDuration"
        description: Retention duration of retention Policy.
      retentionTimes:
        description: Retention times of retention policy.
        items:
          format: date-time
          type: string
        type: array
    type: object
  Day:
    description: Day of the week.
    properties:
      date:
        description: Date of the month
        format: int32
        type: integer
      isLast:
        description: Whether Date is last date of month
        type: boolean
    type: object
  DpmBackupEngine:
    allOf:
      - $ref: "#/definitions/BackupEngineBase"
    description: Data Protection Manager (DPM) specific backup engine.
    type: object
    x-ms-discriminator-value: DpmBackupEngine
  DpmContainer:
    allOf:
      - $ref: "#/definitions/ProtectionContainer"
    description: DPM workload-specific protection container.
    properties:
      DPMServers:
        description: List of BackupEngines protecting the container
        items:
          type: string
        type: array
      UpgradeAvailable:
        description: To check if upgrade available
        type: boolean
      canReRegister:
        description: Specifies whether the container is re-registrable.
        type: boolean
      containerId:
        description: ID of container.
        type: string
      dpmAgentVersion:
        description: Backup engine Agent version
        type: string
      extendedInfo:
        $ref: "#/definitions/DPMContainerExtendedInfo"
        description: Extended Info of the container.
      protectedItemCount:
        description: Number of protected items in the BackupEngine
        format: int64
        type: integer
      protectionStatus:
        description: Protection status of the container.
        type: string
    type: object
    x-ms-discriminator-value: DPMContainer
  EncryptionDetails:
    description: Details needed if the VM was encrypted at the time of backup.
    properties:
      encryptionEnabled:
        description: Identifies whether this backup copy represents an encrypted VM at the time of backup.
        type: boolean
      kekUrl:
        description: Key Url.
        type: string
      kekVaultId:
        description: ID of Key Vault where KEK is stored.
        type: string
      secretKeyUrl:
        description: Secret Url.
        type: string
      secretKeyVaultId:
        description: ID of Key Vault where Secret is stored.
        type: string
    type: object
  ExportJobsOperationResultInfo:
    allOf:
      - $ref: "#/definitions/OperationResultInfoBase"
    description: This class is used to send blob details after exporting jobs.
    properties:
      blobSasKey:
        description: SAS key to access the blob. It expires in 15 mins.
        type: string
      blobUrl:
        description: URL of the blob into which the serialized string of list of jobs is exported.
        type: string
    type: object
    x-ms-discriminator-value: ExportJobsOperationResultInfo
  GenericRecoveryPoint:
    allOf:
      - $ref: "#/definitions/RecoveryPoint"
    description: Generic backup copy.
    properties:
      friendlyName:
        description: Friendly name of the backup copy.
        type: string
      recoveryPointAdditionalInfo:
        description: Additional information associated with this backup copy.
        type: string
      recoveryPointTime:
        description: Time at which this backup copy was created.
        format: date-time
        type: string
      recoveryPointType:
        description: Type of the backup copy.
        type: string
    type: object
    x-ms-discriminator-value: GenericRecoveryPoint
  GetProtectedItemQueryObject:
    description: Filters to list backup items.
    properties:
      expand:
        description: Specifies if the additional information should be provided for this item.
        type: string
    type: object
  ILRRequest:
    description: Parameters to restore file/folders API.
    discriminator: objectType
    properties:
      objectType:
        description: This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.
        type: string
    required:
      - objectType
    type: object
  ILRRequestResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Parameters to restore file/folders API.
    properties:
      properties:
        $ref: "#/definitions/ILRRequest"
        description: ILRRequestResource properties
  IaaSVMContainer:
    allOf:
      - $ref: "#/definitions/ProtectionContainer"
    description: IaaS VM workload-specific container.
    properties:
      resourceGroup:
        description: Resource group name of Recovery Services Vault.
        type: string
      virtualMachineId:
        description: Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.
        type: string
      virtualMachineVersion:
        description: Specifies whether the container represents a Classic or an Azure Resource Manager VM.
        type: string
    type: object
    x-ms-discriminator-value: IaaSVMContainer
  IaaSVMProtectableItem:
    allOf:
      - $ref: "#/definitions/WorkloadProtectableItem"
    description: IaaS VM workload-specific backup item.
    properties:
      virtualMachineId:
        description: Fully qualified ARM ID of the virtual machine.
        type: string
    type: object
  IaasVMBackupRequest:
    allOf:
      - $ref: "#/definitions/BackupRequest"
    description: IaaS VM workload-specific backup request.
    properties:
      recoveryPointExpiryTimeInUTC:
        description: Backup copy will expire after the time specified (UTC).
        format: date-time
        type: string
    type: object
    x-ms-discriminator-value: IaasVMBackupRequest
  IaasVMILRRegistrationRequest:
    allOf:
      - $ref: "#/definitions/ILRRequest"
    description: Restore files/folders from a backup copy of IaaS VM.
    properties:
      initiatorName:
        description: iSCSI initiator name.
        type: string
      recoveryPointId:
        description: ID of the IaaS VM backup copy from where the files/folders have to be restored.
        type: string
      renewExistingRegistration:
        description: Whether to renew existing registration with the iSCSI server.
        type: boolean
      virtualMachineId:
        description: Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored.
        type: string
    type: object
    x-ms-discriminator-value: IaasVMILRRegistrationRequest
  IaasVMRecoveryPoint:
    allOf:
      - $ref: "#/definitions/RecoveryPoint"
    description: IaaS VM workload specific backup copy.
    properties:
      isInstantILRSessionActive:
        description: Is the session to recover items from this backup copy still active.
        type: boolean
      isManagedVirtualMachine:
        description: Whether VM is with Managed Disks
        type: boolean
      isSourceVMEncrypted:
        description: Identifies whether the VM was encrypted when the backup copy is created.
        type: boolean
      keyAndSecret:
        $ref: "#/definitions/KeyAndSecretDetails"
        description: Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true.
      originalStorageAccountOption:
        description: Original SA Option
        type: boolean
      recoveryPointAdditionalInfo:
        description: Additional information associated with this backup copy.
        type: string
      recoveryPointTierDetails:
        description: Recovery point tier information.
        items:
          $ref: "#/definitions/RecoveryPointTierInformation"
        type: array
      recoveryPointTime:
        description: Time at which this backup copy was created.
        format: date-time
        type: string
      recoveryPointType:
        description: Type of the backup copy.
        type: string
      sourceVMStorageType:
        description: Storage type of the VM whose backup copy is created.
        type: string
      virtualMachineSize:
        description: Virtual Machine Size
        type: string
    type: object
    x-ms-discriminator-value: IaasVMRecoveryPoint
  IaasVMRestoreRequest:
    allOf:
      - $ref: "#/definitions/RestoreRequest"
    description: IaaS VM workload-specific restore.
    properties:
      affinityGroup:
        description: Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.
        type: string
      createNewCloudService:
        description: Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same cloud service as it was at the time of backup.
        type: boolean
      encryptionDetails:
        $ref: "#/definitions/EncryptionDetails"
        description: Details needed if the VM was encrypted at the time of backup.
      originalStorageAccountOption:
        type: boolean
      recoveryPointId:
        description: ID of the backup copy to be recovered.
        type: string
      recoveryType:
        description: Type of this recovery.
        enum:
          - Invalid
          - OriginalLocation
          - AlternateLocation
          - RestoreDisks
        type: string
        x-ms-enum:
          modelAsString: true
          name: RecoveryType
      region:
        description: Region in which the virtual machine is restored.
        type: string
      sourceResourceId:
        description: Fully qualified ARM ID of the VM which is being recovered.
        type: string
      storageAccountId:
        description: Fully qualified ARM ID of the storage account to which the VM has to be restored.
        type: string
      subnetId:
        description: Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be {VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent the subnet.
        type: string
      targetDomainNameId:
        description: Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic Virtual Machines.
        type: string
      targetResourceGroupId:
        description: "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r

          \            For e.g. /subscriptions/{subId}/resourcegroups/{rg}"
        type: string
      targetVirtualMachineId:
        description: "This is the complete ARM Id of the VM that will be created.\r

          \            For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}"
        type: string
      virtualNetworkId:
        description: "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r

          \            User will be validated for join action permissions in the linked access."
        type: string
    type: object
    x-ms-discriminator-value: IaasVMRestoreRequest
  InstantItemRecoveryTarget:
    description: Target details for file / folder restore.
    properties:
      clientScripts:
        description: List of client scripts.
        items:
          $ref: "#/definitions/ClientScriptForConnect"
        type: array
    type: object
  JobQueryObject:
    description: Filters to list the jobs.
    properties:
      backupManagementType:
        description: Type of backup managmenent for the job.
        enum:
          - Invalid
          - AzureIaasVM
          - MAB
          - DPM
          - AzureBackupServer
          - AzureSql
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupManagementType
      endTime:
        description: Job has ended at this time. Value is in UTC.
        format: date-time
        type: string
      jobId:
        description: JobID represents the job uniquely.
        type: string
      operation:
        description: Type of operation.
        enum:
          - Invalid
          - Register
          - UnRegister
          - ConfigureBackup
          - Backup
          - Restore
          - DisableBackup
          - DeleteBackupData
        type: string
        x-ms-enum:
          modelAsString: true
          name: JobOperationType
      startTime:
        description: Job has started at this time. Value is in UTC.
        format: date-time
        type: string
      status:
        description: Status of the job.
        enum:
          - Invalid
          - InProgress
          - Completed
          - Failed
          - CompletedWithWarnings
          - Cancelled
          - Cancelling
        type: string
        x-ms-enum:
          modelAsString: true
          name: JobStatus
    type: object
  KEKDetails:
    description: KEK is encryption key for BEK.
    properties:
      keyBackupData:
        description: KEK data.
        type: string
      keyUrl:
        description: Key is KEK.
        type: string
      keyVaultId:
        description: Key Vault ID where this Key is stored.
        type: string
    type: object
  KeyAndSecretDetails:
    description: "BEK is bitlocker key.\r

      \            KEK is encryption key for BEK\r

      \            If the VM was encrypted then we will store follwing details :\r

      \            1. Secret(BEK) - Url + Backup Data + vaultId.\r

      \            2. Key(KEK) - Url + Backup Data + vaultId.\r

      \            BEK and KEK can potentiallty have different vault ids."
    properties:
      bekDetails:
        $ref: "#/definitions/BEKDetails"
        description: BEK is bitlocker encrpytion key.
      kekDetails:
        $ref: "#/definitions/KEKDetails"
        description: KEK is encryption key for BEK.
    type: object
  LongTermRetentionPolicy:
    allOf:
      - $ref: "#/definitions/RetentionPolicy"
    description: Long term retention policy.
    properties:
      dailySchedule:
        $ref: "#/definitions/DailyRetentionSchedule"
        description: Daily retention schedule of the protection policy.
      monthlySchedule:
        $ref: "#/definitions/MonthlyRetentionSchedule"
        description: Monthly retention schedule of the protection policy.
      weeklySchedule:
        $ref: "#/definitions/WeeklyRetentionSchedule"
        description: Weekly retention schedule of the protection policy.
      yearlySchedule:
        $ref: "#/definitions/YearlyRetentionSchedule"
        description: Yearly retention schedule of the protection policy.
    type: object
    x-ms-discriminator-value: LongTermRetentionPolicy
  LongTermSchedulePolicy:
    allOf:
      - $ref: "#/definitions/SchedulePolicy"
    description: Long term policy schedule.
    type: object
  MabContainer:
    allOf:
      - $ref: "#/definitions/ProtectionContainer"
    description: Container with items backed up using MAB backup engine.
    properties:
      agentVersion:
        description: Agent version of this container.
        type: string
      canReRegister:
        description: Can the container be registered one more time.
        type: boolean
      containerId:
        description: ContainerID represents the container.
        format: int64
        type: integer
      extendedInfo:
        $ref: "#/definitions/MabContainerExtendedInfo"
        description: Additional information for this container
      protectedItemCount:
        description: Number of items backed up in this container.
        format: int64
        type: integer
    type: object
    x-ms-discriminator-value: MABWindowsContainer
  MabContainerExtendedInfo:
    description: Additional information of the container.
    properties:
      backupItemType:
        description: Type of backup items associated with this container.
        enum:
          - Invalid
          - VM
          - FileFolder
          - AzureSqlDb
          - SQLDB
          - Exchange
          - Sharepoint
          - VMwareVM
          - SystemState
          - Client
          - GenericDataSource
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupItemType
      backupItems:
        description: List of backup items associated with this container.
        items:
          type: string
        type: array
      lastBackupStatus:
        description: Latest backup status of this container.
        type: string
      lastRefreshedAt:
        description: Time stamp when this container was refreshed.
        format: date-time
        type: string
      policyName:
        description: Backup policy associated with this container.
        type: string
    type: object
  MabFileFolderProtectedItem:
    allOf:
      - $ref: "#/definitions/ProtectedItem"
    description: MAB workload-specific backup item.
    properties:
      computerName:
        description: Name of the computer associated with this backup item.
        type: string
      deferredDeleteSyncTimeInUTC:
        description: Sync time for deferred deletion.
        format: int64
        type: integer
      extendedInfo:
        $ref: "#/definitions/MabFileFolderProtectedItemExtendedInfo"
        description: Additional information with this backup item.
      friendlyName:
        description: Friendly name of this backup item.
        type: string
      isScheduledForDeferredDelete:
        description: Specifies if the item is scheduled for deferred deletion.
        type: boolean
      lastBackupStatus:
        description: Status of last backup operation.
        type: string
      protectionState:
        description: Protected, ProtectionStopped, IRPending or ProtectionError
        type: string
    type: object
    x-ms-discriminator-value: MabFileFolderProtectedItem
  MabFileFolderProtectedItemExtendedInfo:
    description: Additional information on the backed up item.
    properties:
      lastRefreshedAt:
        description: Last time when the agent data synced to service.
        format: date-time
        type: string
      oldestRecoveryPoint:
        description: The oldest backup copy available.
        format: date-time
        type: string
      recoveryPointCount:
        description: Number of backup copies associated with the backup item.
        format: int32
        type: integer
    type: object
  MabProtectionPolicy:
    allOf:
      - $ref: "#/definitions/ProtectionPolicy"
    description: Mab container-specific backup policy.
    properties:
      retentionPolicy:
        $ref: "#/definitions/RetentionPolicy"
        description: Retention policy details.
      schedulePolicy:
        $ref: "#/definitions/SchedulePolicy"
        description: Backup schedule of backup policy.
    type: object
    x-ms-discriminator-value: MAB
  MonthlyRetentionSchedule:
    description: Monthly retention schedule.
    properties:
      retentionDuration:
        $ref: "#/definitions/RetentionDuration"
        description: Retention duration of retention Policy.
      retentionScheduleDaily:
        $ref: "#/definitions/DailyRetentionFormat"
        description: Daily retention format for monthly retention policy.
      retentionScheduleFormatType:
        description: Retention schedule format type for monthly retention policy.
        enum:
          - Invalid
          - Daily
          - Weekly
        type: string
        x-ms-enum:
          modelAsString: true
          name: RetentionScheduleFormat
      retentionScheduleWeekly:
        $ref: "#/definitions/WeeklyRetentionFormat"
        description: Weekly retention format for monthly retention policy.
      retentionTimes:
        description: Retention times of retention policy.
        items:
          format: date-time
          type: string
        type: array
    type: object
  NameInfo:
    description: The name of usage.
    properties:
      localizedValue:
        description: Localized value of usage.
        type: string
      value:
        description: Value of usage.
        type: string
    type: object
  Object:
    description: Base of all objects.
    type: object
  OperationResultInfo:
    allOf:
      - $ref: "#/definitions/OperationResultInfoBase"
    description: Operation result info.
    properties:
      jobList:
        description: List of jobs created by this operation.
        items:
          type: string
        type: array
    type: object
    x-ms-discriminator-value: OperationResultInfo
  OperationResultInfoBase:
    description: Base class for operation result info.
    discriminator: objectType
    properties:
      objectType:
        description: This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.
        type: string
    required:
      - objectType
    type: object
  OperationResultInfoBaseResource:
    allOf:
      - $ref: "#/definitions/OperationWorkerResponse"
    description: Base class for operation result info.
    properties:
      operation:
        $ref: "#/definitions/OperationResultInfoBase"
        description: OperationResultInfoBaseResource operation
  OperationStatus:
    description: Operation status.
    properties:
      endTime:
        description: "Operation end time. Format: ISO-8601."
        format: date-time
        type: string
      error:
        $ref: "#/definitions/OperationStatusError"
        description: Error information related to this operation.
      id:
        description: ID of the operation.
        type: string
      name:
        description: Name of the operation.
        type: string
      properties:
        $ref: "#/definitions/OperationStatusExtendedInfo"
        description: Additional information associated with this operation.
      startTime:
        description: "Operation start time. Format: ISO-8601."
        format: date-time
        type: string
      status:
        description: Operation status.
        enum:
          - Invalid
          - InProgress
          - Succeeded
          - Failed
          - Canceled
        type: string
        x-ms-enum:
          modelAsString: true
          name: OperationStatusValues
    type: object
  OperationStatusError:
    description: Error information associated with operation status call.
    properties:
      code:
        description: Error code of the operation failure.
        type: string
      message:
        description: Error message displayed if the operation failure.
        type: string
    type: object
  OperationStatusExtendedInfo:
    description: Base class for additional information of operation status.
    discriminator: objectType
    properties:
      objectType:
        description: This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.
        type: string
    required:
      - objectType
    type: object
  OperationStatusJobExtendedInfo:
    allOf:
      - $ref: "#/definitions/OperationStatusExtendedInfo"
    description: Operation status job extended info.
    properties:
      jobId:
        description: ID of the job created for this protected item.
        type: string
    type: object
    x-ms-discriminator-value: OperationStatusJobExtendedInfo
  OperationStatusJobsExtendedInfo:
    allOf:
      - $ref: "#/definitions/OperationStatusExtendedInfo"
    description: Operation status extended info for list of jobs.
    properties:
      failedJobsError:
        additionalProperties:
          type: string
        description: Stores all the failed jobs along with the corresponding error codes.
        type: object
      jobIds:
        description: IDs of the jobs created for the protected item.
        items:
          type: string
        type: array
    type: object
    x-ms-discriminator-value: OperationStatusJobsExtendedInfo
  OperationStatusProvisionILRExtendedInfo:
    allOf:
      - $ref: "#/definitions/OperationStatusExtendedInfo"
    description: Operation status extended info for ILR provision action.
    properties:
      recoveryTarget:
        $ref: "#/definitions/InstantItemRecoveryTarget"
        description: Target details for file / folder restore.
    type: object
    x-ms-discriminator-value: OperationStatusProvisionILRExtendedInfo
  OperationWorkerResponse:
    description: This is the base class for operation result responses.
    properties:
      Headers:
        additionalProperties:
          items:
            type: string
          type: array
        description: HTTP headers associated with this operation.
        type: object
      statusCode:
        description: HTTP Status Code of the operation.
        enum:
          - Continue
          - SwitchingProtocols
          - OK
          - Created
          - Accepted
          - NonAuthoritativeInformation
          - NoContent
          - ResetContent
          - PartialContent
          - MultipleChoices
          - Ambiguous
          - MovedPermanently
          - Moved
          - Found
          - Redirect
          - SeeOther
          - RedirectMethod
          - NotModified
          - UseProxy
          - Unused
          - TemporaryRedirect
          - RedirectKeepVerb
          - BadRequest
          - Unauthorized
          - PaymentRequired
          - Forbidden
          - NotFound
          - MethodNotAllowed
          - NotAcceptable
          - ProxyAuthenticationRequired
          - RequestTimeout
          - Conflict
          - Gone
          - LengthRequired
          - PreconditionFailed
          - RequestEntityTooLarge
          - RequestUriTooLong
          - UnsupportedMediaType
          - RequestedRangeNotSatisfiable
          - ExpectationFailed
          - UpgradeRequired
          - InternalServerError
          - NotImplemented
          - BadGateway
          - ServiceUnavailable
          - GatewayTimeout
          - HttpVersionNotSupported
        type: string
        x-ms-enum:
          modelAsString: false
          name: HttpStatusCode
    type: object
  ProtectedItem:
    description: Base class for backup items.
    discriminator: protectedItemType
    properties:
      backupManagementType:
        description: Type of backup managemenent for the backed up item.
        enum:
          - Invalid
          - AzureIaasVM
          - MAB
          - DPM
          - AzureBackupServer
          - AzureSql
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupManagementType
      containerName:
        description: Unique name of container
        type: string
      lastRecoveryPoint:
        description: Timestamp when the last (latest) backup copy was created for this backup item.
        format: date-time
        type: string
      policyId:
        description: ID of the backup policy with which this item is backed up.
        type: string
      protectedItemType:
        description: backup item type.
        type: string
      sourceResourceId:
        description: ARM ID of the resource to be backed up.
        type: string
      workloadType:
        description: Type of workload this item represents.
        enum:
          - Invalid
          - VM
          - FileFolder
          - AzureSqlDb
          - SQLDB
          - Exchange
          - Sharepoint
          - VMwareVM
          - SystemState
          - Client
          - GenericDataSource
        type: string
        x-ms-enum:
          modelAsString: true
          name: DataSourceType
    type: object
  ProtectedItemQueryObject:
    description: Filters to list backup items.
    properties:
      backupEngineName:
        description: Backup Engine name
        type: string
      backupManagementType:
        description: Backup management type for the backed up item.
        enum:
          - Invalid
          - AzureIaasVM
          - MAB
          - DPM
          - AzureBackupServer
          - AzureSql
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupManagementType
      containerName:
        description: Name of the container.
        type: string
      friendlyName:
        description: Friendly name of protected item
        type: string
      healthState:
        description: Health State for the backed up item.
        enum:
          - Passed
          - ActionRequired
          - ActionSuggested
          - Invalid
        type: string
        x-ms-enum:
          modelAsString: true
          name: HealthState
      itemType:
        description: Type of workload this item represents.
        enum:
          - Invalid
          - VM
          - FileFolder
          - AzureSqlDb
          - SQLDB
          - Exchange
          - Sharepoint
          - VMwareVM
          - SystemState
          - Client
          - GenericDataSource
        type: string
        x-ms-enum:
          modelAsString: true
          name: DataSourceType
      policyName:
        description: Backup policy name associated with the backup item.
        type: string
    type: object
  ProtectedItemResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Base class for backup items.
    properties:
      properties:
        $ref: "#/definitions/ProtectedItem"
        description: ProtectedItemResource properties
  ProtectedItemResourceList:
    allOf:
      - $ref: "#/definitions/ResourceList"
    description: List of ProtectedItem resources
    properties:
      value:
        description: List of resources.
        items:
          $ref: "#/definitions/ProtectedItemResource"
        type: array
    type: object
  ProtectionContainer:
    description: Base class for container with backup items. Containers with specific workloads are derived from this class.
    discriminator: protectableObjectType
    properties:
      backupManagementType:
        description: Type of backup managemenent for the container.
        enum:
          - Invalid
          - AzureIaasVM
          - MAB
          - DPM
          - AzureBackupServer
          - AzureSql
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupManagementType
      containerType:
        description: "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer."
        enum:
          - Invalid
          - Unknown
          - IaasVMContainer
          - IaasVMServiceContainer
          - DPMContainer
          - AzureBackupServerContainer
          - MABContainer
          - Cluster
          - AzureSqlContainer
          - Windows
          - VCenter
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ContainerType
      friendlyName:
        description: Friendly name of the container.
        type: string
      healthStatus:
        description: Status of health of the container.
        type: string
      protectableObjectType:
        description: Type of the protectable object associated with this container.
        enum:
          - Invalid
          - Unknown
          - IaasVMContainer
          - IaasVMServiceContainer
          - DPMContainer
          - AzureBackupServerContainer
          - MABContainer
          - Cluster
          - AzureSqlContainer
          - Windows
          - VCenter
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProtectableObjectType
      registrationStatus:
        description: Status of registration of the container with the Recovery Services Vault.
        type: string
    type: object
  ProtectionContainerResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Base class for container with backup items. Containers with specific workloads are derived from this class.
    properties:
      properties:
        $ref: "#/definitions/ProtectionContainer"
        description: ProtectionContainerResource properties
  ProtectionContainerResourceList:
    allOf:
      - $ref: "#/definitions/ResourceList"
    description: List of ProtectionContainer resources
    properties:
      value:
        description: List of resources.
        items:
          $ref: "#/definitions/ProtectionContainerResource"
        type: array
    type: object
  ProtectionPolicy:
    description: Base class for backup policy. Workload-specific backup policies are derived from this class.
    discriminator: backupManagementType
    properties:
      backupManagementType:
        description: This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.
        type: string
      protectedItemsCount:
        description: Number of items associated with this policy.
        format: int32
        type: integer
    required:
      - backupManagementType
    type: object
  ProtectionPolicyQueryObject:
    description: Filters the list backup policies API.
    properties:
      backupManagementType:
        description: Backup management type for the backup policy.
        enum:
          - Invalid
          - AzureIaasVM
          - MAB
          - DPM
          - AzureBackupServer
          - AzureSql
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupManagementType
    type: object
  ProtectionPolicyResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Base class for backup policy. Workload-specific backup policies are derived from this class.
    properties:
      properties:
        $ref: "#/definitions/ProtectionPolicy"
        description: ProtectionPolicyResource properties
  ProtectionPolicyResourceList:
    allOf:
      - $ref: "#/definitions/ResourceList"
    description: List of ProtectionPolicy resources
    properties:
      value:
        description: List of resources.
        items:
          $ref: "#/definitions/ProtectionPolicyResource"
        type: array
    type: object
  RecoveryPoint:
    description: Base class for backup copies. Workload-specific backup copies are derived from this class.
    discriminator: objectType
    properties:
      objectType:
        description: This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.
        type: string
    required:
      - objectType
    type: object
  RecoveryPointResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Base class for backup copies. Workload-specific backup copies are derived from this class.
    properties:
      properties:
        $ref: "#/definitions/RecoveryPoint"
        description: RecoveryPointResource properties
  RecoveryPointResourceList:
    allOf:
      - $ref: "#/definitions/ResourceList"
    description: List of RecoveryPoint resources
    properties:
      value:
        description: List of resources.
        items:
          $ref: "#/definitions/RecoveryPointResource"
        type: array
    type: object
  RecoveryPointTierInformation:
    description: Recovery point tier information.
    properties:
      status:
        description: Recovery point tier status.
        enum:
          - Invalid
          - Valid
          - Disabled
          - Deleted
        type: string
        x-ms-enum:
          modelAsString: false
          name: RecoveryPointTierStatus
      type:
        description: Recovery point tier type.
        enum:
          - Invalid
          - InstantRP
          - HardenedRP
        type: string
        x-ms-enum:
          modelAsString: false
          name: RecoveryPointTierType
    type: object
  Resource:
    description: ARM Resource.
    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
    type: object
    x-ms-azure-resource: true
  ResourceList:
    description: Base for all lists of resources.
    properties:
      nextLink:
        description: The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.
        type: string
    type: object
  RestoreRequest:
    description: Base class for restore request. Workload-specific restore requests are derived from this class.
    discriminator: objectType
    properties:
      objectType:
        description: This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.
        type: string
    required:
      - objectType
    type: object
  RestoreRequestResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Base class for restore request. Workload-specific restore requests are derived from this class.
    properties:
      properties:
        $ref: "#/definitions/RestoreRequest"
        description: RestoreRequestResource properties
  RetentionDuration:
    description: Retention duration.
    properties:
      count:
        description: "Count of duration types. Retention duration is obtained by the counting the duration type Count times. \r

          \            For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks."
        format: int32
        type: integer
      durationType:
        description: Retention duration type of retention policy.
        enum:
          - Invalid
          - Days
          - Weeks
          - Months
          - Years
        type: string
        x-ms-enum:
          modelAsString: true
          name: RetentionDurationType
    type: object
  RetentionPolicy:
    description: Base class for retention policy.
    discriminator: retentionPolicyType
    properties:
      retentionPolicyType:
        description: This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.
        type: string
    required:
      - retentionPolicyType
    type: object
  SchedulePolicy:
    description: Base class for backup schedule.
    discriminator: schedulePolicyType
    properties:
      schedulePolicyType:
        description: This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.
        type: string
    required:
      - schedulePolicyType
    type: object
  SimpleRetentionPolicy:
    allOf:
      - $ref: "#/definitions/RetentionPolicy"
    description: Simple policy retention.
    properties:
      retentionDuration:
        $ref: "#/definitions/RetentionDuration"
        description: Retention duration of the protection policy.
    type: object
    x-ms-discriminator-value: SimpleRetentionPolicy
  SimpleSchedulePolicy:
    allOf:
      - $ref: "#/definitions/SchedulePolicy"
    description: Simple policy schedule.
    properties:
      scheduleRunDays:
        description: List of days of week this schedule has to be run.
        items:
          enum:
            - Sunday
            - Monday
            - Tuesday
            - Wednesday
            - Thursday
            - Friday
            - Saturday
          type: string
          x-ms-enum:
            modelAsString: false
            name: DayOfWeek
        type: array
      scheduleRunFrequency:
        description: Frequency of the schedule operation of this policy.
        enum:
          - Invalid
          - Daily
          - Weekly
        type: string
        x-ms-enum:
          modelAsString: true
          name: ScheduleRunType
      scheduleRunTimes:
        description: List of times of day this schedule has to be run.
        items:
          format: date-time
          type: string
        type: array
      scheduleWeeklyFrequency:
        description: At every number weeks this schedule has to be run.
        format: int32
        type: integer
    type: object
    x-ms-discriminator-value: SimpleSchedulePolicy
  TokenInformation:
    description: The token information details.
    properties:
      expiryTimeInUtcTicks:
        description: Expiry time of token.
        format: int64
        type: integer
      securityPIN:
        description: Security PIN
        type: string
      token:
        description: Token value.
        type: string
    type: object
  WeeklyRetentionFormat:
    description: Weekly retention format.
    properties:
      daysOfTheWeek:
        description: List of days of the week.
        items:
          enum:
            - Sunday
            - Monday
            - Tuesday
            - Wednesday
            - Thursday
            - Friday
            - Saturday
          type: string
          x-ms-enum:
            modelAsString: false
            name: DayOfWeek
        type: array
      weeksOfTheMonth:
        description: List of weeks of month.
        items:
          enum:
            - First
            - Second
            - Third
            - Fourth
            - Last
          type: string
          x-ms-enum:
            modelAsString: false
            name: WeekOfMonth
        type: array
    type: object
  WeeklyRetentionSchedule:
    description: Weekly retention schedule.
    properties:
      daysOfTheWeek:
        description: List of days of week for weekly retention policy.
        items:
          enum:
            - Sunday
            - Monday
            - Tuesday
            - Wednesday
            - Thursday
            - Friday
            - Saturday
          type: string
          x-ms-enum:
            modelAsString: false
            name: DayOfWeek
        type: array
      retentionDuration:
        $ref: "#/definitions/RetentionDuration"
        description: Retention duration of retention Policy.
      retentionTimes:
        description: Retention times of retention policy.
        items:
          format: date-time
          type: string
        type: array
    type: object
  WorkloadProtectableItem:
    description: Base class for backup item. Workload-specific backup items are derived from this class.
    discriminator: protectableItemType
    properties:
      backupManagementType:
        description: Type of backup managemenent to backup an item.
        type: string
      friendlyName:
        description: Friendly name of the backup item.
        type: string
      protectableItemType:
        description: Type of the backup item.
        type: string
      protectionState:
        description: State of the back up item.
        enum:
          - Invalid
          - NotProtected
          - Protecting
          - Protected
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProtectionStatus
    type: object
  WorkloadProtectableItemResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Base class for backup item. Workload-specific backup items are derived from this class.
    properties:
      properties:
        $ref: "#/definitions/WorkloadProtectableItem"
        description: WorkloadProtectableItemResource properties
  WorkloadProtectableItemResourceList:
    allOf:
      - $ref: "#/definitions/ResourceList"
    description: List of WorkloadProtectableItem resources
    properties:
      value:
        description: List of resources.
        items:
          $ref: "#/definitions/WorkloadProtectableItemResource"
        type: array
    type: object
  YearlyRetentionSchedule:
    description: Yearly retention schedule.
    properties:
      monthsOfYear:
        description: List of months of year of yearly retention policy.
        items:
          enum:
            - Invalid
            - January
            - February
            - March
            - April
            - May
            - June
            - July
            - August
            - September
            - October
            - November
            - December
          type: string
          x-ms-enum:
            modelAsString: false
            name: MonthOfYear
        type: array
      retentionDuration:
        $ref: "#/definitions/RetentionDuration"
        description: Retention duration of retention Policy.
      retentionScheduleDaily:
        $ref: "#/definitions/DailyRetentionFormat"
        description: Daily retention format for yearly retention policy.
      retentionScheduleFormatType:
        description: Retention schedule format for yearly retention policy.
        enum:
          - Invalid
          - Daily
          - Weekly
        type: string
        x-ms-enum:
          modelAsString: true
          name: RetentionScheduleFormat
      retentionScheduleWeekly:
        $ref: "#/definitions/WeeklyRetentionFormat"
        description: Weekly retention format for yearly retention policy.
      retentionTimes:
        description: Retention times of retention policy.
        items:
          format: date-time
          type: string
        type: array
    type: object
