swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  title: RecoveryServicesBackupClient
  version: 2018-12-20
  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/2018-12-20/bms.json
      version: "2.0"
  x-preferred: false
  x-providerName: azure.com
  x-serviceName: recoveryservicesbackup-bms
  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
  AzureRegion:
    description: Azure region to hit Api
    in: path
    name: azureRegion
    required: true
    type: string
    x-ms-parameter-location: method
  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}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupAadProperties/default":
    get:
      operationId: AadProperties_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/AzureRegion"
        - $ref: "#/parameters/SubscriptionId"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/AADPropertiesResource"
      summary: Fetches the AAD properties from target region BCM stamp.
      tags:
        - AadProperties
      x-ms-examples:
        Get AAD Properties for authentication in the third region:
          parameters:
            api-version: 2018-12-20
            azureRegion: southeastasia
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                properties:
                  audience: https://RecoveryServices/IaasCoord/aadmgmt/ecy
                  servicePrincipalObjectId: 07e0a67b-cba3-4fcf-a58c-b670d5ced06d
                  tenantId: 33e01921-4d64-4f8c-a055-5bdaffd5e33d
  "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrossRegionRestore":
    post:
      operationId: CrossRegionRestore_Trigger
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/AzureRegion"
        - $ref: "#/parameters/SubscriptionId"
        - description: resource cross region restore request
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/CrossRegionRestoreRequestResource"
      responses:
        "202":
          description: Accepted
      summary: Restores the specified backed up data in a different region as compared to where the data is backed up.
      tags:
        - CrossRegionRestore
      x-ms-examples:
        Trigger Cross Region Restore:
          parameters:
            api-version: 2018-12-20
            azureRegion: southeastasia
            parameters:
              properties:
                crossRegionRestoreAccessDetails:
                  accessTokenString: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkhqaUJHdVExa2lWV2hyc2lzLUhEckhyWVZNbyJ9.eyJVc2VySWRlbnRpdHlUeXBlIjoiQUFEIiwiQWFkVGVuYW50SWQiOiIzM2UwMTkyMS00ZDY0LTRmOGMtYTA1NS01YmRhZmZkNWUzM2QiLCJBYWRTUE9iamVjdElkIjoiOTMzMjc2ZmMtMWJiNy00ZWNiLTk0ZTYtYWY3ODMyNWY3MjZhIiwiUmVzdG9yZVBvaW50UGVybWlzc2lvbnMiOiJSZWFkIiwiUmVzdG9yZVBvaW50SUQiOiJyZXNvdXJjZXMvMTMzMDgzNzkwNjQxODEzODE2MC9wcm90ZWN0aW9uQ29udGFpbmVycy8xMTE0Ni9wcm90ZWN0ZWRJdGVtcy8xMTQyOTM3MDMxL3JlY292ZXJ5UG9pbnRzLzg3MTc4MzU1MzkyNzE2IiwiaXNzIjoiaHR0cHM6Ly9SZWNvdmVyeVNlcnZpY2UiLCJhdWQiOiJodHRwczovL1JlY292ZXJ5U2VydmljZXMvUHJvdGVjdGlvblNlcnZpY2UiLCJleHAiOjE1NzExMjE5ODYsIm5iZiI6MTU3MTAzNTI4Nn0.oNbeX8ueE6JRGU0IagFjkOlU-o48ez9gCeCrn1-8XEsaVtYJIFKq9FeHfPAoCMxiLQvwL7S0JTjDTjiEsZEvr_VM7tDVwW3sESo2oW-SZlxT_1dJiUBn0jVlQyfDcHEMzbkaTuZswgNWfowgOrnJ67y-ztSUcegf3eVKPEhN1enBBS7pIuL9bZ3SVwMuqznUen6dH54y9lN2w6H14X0UK2CwSN94Uh-spB27j9SbksxLY_tyZm6xsamZFTHpwbgZwR24-GDtElPSxpFL6n_tWLSCHQtN9s84o0X7PfFaMkVmGWbOf4AZmP9M6agagG0JLnlOwObr07YrzZRkg3s2eQ
                  backupManagementType: AzureIaasVM
                  containerName: iaasvmcontainerv2;srinivasccyrg;sriniccylinux
                  containerType: IaasVMContainer
                  coordinatorServiceStampUri: https://pod01-coord1.ccy.backup.windowsazure.com
                  datasourceContainerName: iaasvmcontainerv2;srinivasccyrg;sriniccylinux
                  datasourceId: "1142937031"
                  datasourceName: sriniccylinux
                  datasourceType: VM
                  protectionServiceStampId: 90d98224-2ac6-4bda-9f35-33fb22841f2a
                  protectionServiceStampUri: https://pod01-prot1-int.ccy.backup.windowsazure.com
                  recoveryPointId: "87178355392716"
                  recoveryPointTime: 10/9/2019 6:05:54 PM
                  resourceGroupName: srinivasccyrg
                  resourceId: "1330837906418138160"
                  resourceName: sriniccyvault
                  subscriptionId: f2edfd5d-5496-4683-b94f-b3588c579009
                  tokenExtendedInformation: <IaaSVMRecoveryPointMetadataBase xmlns:i="http://www.w3.org/2001/XMLSchema-instance" i:type="IaaSVMRecoveryPointMetadata_V2015_09" xmlns="http://windowscloudbackup.com/CloudCommon/V2011_09"><MetadataVersion>V2015_09</MetadataVersion><ContainerType i:nil="true" /><InstantRpGCId>f2edfd5d-5496-4683-b94f-b3588c579009;AzureBackup_sriniccylinux_1142937031;AzureBackup_20191009_060554;AzureBackupRG_centraluseuap_1</InstantRpGCId><IsBlockBlobEnabled>true</IsBlockBlobEnabled><IsManagedVirtualMachine>true</IsManagedVirtualMachine><OriginalSAOption>false</OriginalSAOption><OsType>Linux</OsType><ReadMetadaFromConfigBlob i:nil="true" /><RecoveryPointConsistencyType>FileSystemConsistent</RecoveryPointConsistencyType><RpDiskDetails i:nil="true" /><SourceIaaSVMRPKeyAndSecret i:nil="true" /><SourceIaaSVMStorageType>PremiumVMOnPremiumStorage</SourceIaaSVMStorageType><VMSizeDescription>Standard_D2s_v3</VMSizeDescription></IaaSVMRecoveryPointMetadataBase>
                restoreRequest:
                  affinityGroup: ""
                  createNewCloudService: false
                  encryptionDetails:
                    encryptionEnabled: false
                  objectType: IaasVMRestoreRequest
                  originalStorageAccountOption: false
                  recoveryPointId: "87178355392716"
                  recoveryType: AlternateLocation
                  region: eastus2euap
                  sourceResourceId: /subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/srinivasccyrg/providers/Microsoft.Compute/virtualMachines/sriniccylinux
                  storageAccountId: /subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00prjaiTestRg1/providers/Microsoft.Storage/storageAccounts/00prjaitestrg1disks993
                  subnetId: /subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet/subnets/default
                  targetDomainNameId: null
                  targetResourceGroupId: /subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl
                  targetVirtualMachineId: /subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAckl/providers/Microsoft.Compute/virtualMachines/gaallaVM
                  virtualNetworkId: /subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/resourceGroups/00networkAcklVaultCCY/providers/Microsoft.Network/virtualNetworks/00networkAcklVaultCCY-vnet
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "202":
              headers:
                Azure-AsyncOperation: "azure-asyncoperation: https://centraluseuap.management.azure.com/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationsStatus/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=?api-version=2018-12-20-preview"
                Location: "location: https://centraluseuap.management.azure.com/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationResults/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=?api-version=2018-12-20-preview"
                Retry-After: 60
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
  "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJob":
    post:
      operationId: BackupCrrJobDetails_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/AzureRegion"
        - $ref: "#/parameters/SubscriptionId"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/JobResource"
      summary: Get CRR job details from target region.
      tags:
        - CrrJobDetails
      x-ms-examples:
        Get Cross Region Restore Job Details in the secondary region:
          parameters:
            api-version: 2018-12-20
            azureRegion: southeastasia
            parameters:
              jobName: 02585cc9-d7f4-4b46-860c-14c048cce178
              resourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupJobs/02585cc9-d7f4-4b46-860c-14c048cce178
                name: 02585cc9-d7f4-4b46-860c-14c048cce178
                properties:
                  activityId: 6e503ee3-1093-4a83-a62a-3b666cc8c028-2019-10-12T10:22:43Z-Ibz
                  backupManagementType: AzureIaasVM
                  duration: 1.20:17:03.2938821
                  entityFriendlyName: sriniccylinux
                  extendedInfo:
                    propertyBag: {}
                    tasksList: []
                  jobType: AzureIaaSVMJob
                  operation: CrossRegionRestore
                  startTime: 2019-10-12T10:22:43.9139656Z
                  status: InProgress
                  virtualMachineVersion: Compute
                type: Microsoft.RecoveryServices/vaults/backupJobs
  "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrJobs":
    post:
      operationId: BackupCrrJobs_List
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/AzureRegion"
        - $ref: "#/parameters/SubscriptionId"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/JobResourceList"
      summary: Gets the list of CRR jobs from the target region.
      tags:
        - BackupCrrJobs
      x-ms-examples:
        List Cross Region Restore Jobs in the secondary region:
          parameters:
            api-version: 2018-12-20
            azureRegion: southeastasia
            parameters:
              resourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupJobs/02585cc9-d7f4-4b46-860c-14c048cce178
                    name: 02585cc9-d7f4-4b46-860c-14c048cce178
                    properties:
                      activityId: 6e503ee3-1093-4a83-a62a-3b666cc8c028-2019-10-12T10:22:43Z-Ibz
                      backupManagementType: AzureIaasVM
                      duration: 1.19:59:12.7946856
                      entityFriendlyName: sriniccylinux
                      jobType: AzureIaaSVMJob
                      operation: CrossRegionRestore
                      startTime: 2019-10-12T10:22:43.9139656Z
                      status: InProgress
                      virtualMachineVersion: Compute
                    type: Microsoft.RecoveryServices/vaults/backupJobs
      x-ms-pageable:
        nextLinkName: nextLink
  "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationResults/{operationId}":
    get:
      operationId: CrrOperationResults_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/AzureRegion"
        - $ref: "#/parameters/SubscriptionId"
        - in: path
          name: operationId
          required: true
          type: string
      responses:
        "200":
          description: OK
        "202":
          description: Accepted
      tags:
        - CrrOperationResults
      x-ms-examples:
        Get Operation Results for Cross Region Restore:
          parameters:
            api-version: 2018-12-20
            azureRegion: southeastasia
            operationId: 00000000-0000-0000-0000-000000000000
            parameters:
              resourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200": {}
            "202":
              headers:
                Azure-AsyncOperation: "azure-asyncoperation: https://centraluseuap.management.azure.com/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationsStatus/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=?api-version=2018-12-20-preview"
                Location: "location: https://centraluseuap.management.azure.com/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationResults/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=?api-version=2018-12-20-preview"
                Retry-After: 60
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
  "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrrOperationsStatus/{operationId}":
    get:
      operationId: CrrOperationStatus_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/AzureRegion"
        - $ref: "#/parameters/SubscriptionId"
        - in: path
          name: operationId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/OperationStatus"
      tags:
        - CrrOperationStatus
      x-ms-examples:
        Get Operation Status for Cross Region Restore:
          parameters:
            api-version: 2018-12-20
            azureRegion: southeastasia
            operationId: 00000000-0000-0000-0000-000000000000
            parameters:
              resourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                endTime: 2019-10-14T06:46:44Z
                id: /subscriptions/f2edfd5d-5496-4683-b94f-b3588c579009/providers/microsoft.recoveryservices/locations/eastus2euap/backupCrrOperationsStatus/MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=
                name: MTMzMDgzNzkwNjQxODEzODE2MDtkMTY3MzM3Yy0yM2I1LTQ5ODgtODkwZC0xY2MyMmQ5MTYyZjA=
                startTime: 2019-10-14T06:46:44.3225024Z
                status: Succeeded
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/":
    get:
      description: Lists the backup copies for the backed up item.
      operationId: RecoveryPointsCrr_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_Crr
      x-ms-examples:
        Get Protected Azure Vm Recovery Points:
          parameters:
            api-version: 2019-05-13
            containerName: IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall
            fabricName: Azure
            protectedItemName: VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall
            resourceGroupName: rshhtestmdvmrg
            subscriptionId: 00000000-0000-0000-0000-000000000000
            vaultName: rshvault
          responses:
            "200":
              body:
                nextLink: null
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382
                    name: "22244821112382"
                    properties:
                      isInstantIlrSessionActive: false
                      isManagedVirtualMachine: true
                      isSourceVMEncrypted: false
                      objectType: IaasVMRecoveryPoint
                      originalStorageAccountOption: false
                      recoveryPointAdditionalInfo: ""
                      recoveryPointTierDetails:
                        - status: Valid
                          type: InstantRP
                        - status: Valid
                          type: HardenedRP
                      recoveryPointTime: 2017-12-21T22:48:25.4353958Z
                      recoveryPointType: CrashConsistent
                      sourceVMStorageType: NormalStorage
                      virtualMachineSize: Standard_D1
                    type: Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250
                    name: "24977149827250"
                    properties:
                      isInstantIlrSessionActive: false
                      isManagedVirtualMachine: true
                      isSourceVMEncrypted: false
                      objectType: IaasVMRecoveryPoint
                      originalStorageAccountOption: false
                      recoveryPointAdditionalInfo: ""
                      recoveryPointTierDetails:
                        - status: Valid
                          type: InstantRP
                        - status: Valid
                          type: HardenedRP
                      recoveryPointTime: 2017-12-20T22:49:44.3317945Z
                      recoveryPointType: CrashConsistent
                      sourceVMStorageType: NormalStorage
                      virtualMachineSize: Standard_D1
                    type: Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/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}/accessToken":
    post:
      operationId: RecoveryPoints_GetAccessToken
      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: Name of the container.
          in: path
          name: containerName
          required: true
          type: string
        - description: Name of the Protected Item.
          in: path
          name: protectedItemName
          required: true
          type: string
        - description: Recovery Point Id
          in: path
          name: recoveryPointId
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/CrrAccessTokenResource"
      summary: Returns the Access token for communication between BMS and Protection service
      tags:
        - RecoveryPoints
      x-ms-examples:
        Get Access Token for Crr:
          parameters:
            api-version: 2018-12-20-preview
            containerName: IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall
            fabricName: Azure
            protectedItemName: VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall
            recoveryPointId: "26083826328862"
            resourceGroupName: rshhtestmdvmrg
            subscriptionId: 00000000-0000-0000-0000-000000000000
            vaultName: rshvault
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862
                name: "26083826328862"
                properties:
                  accessTokenString: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjVocE9ZWkdhZnk2VG50bUhKeGZZaEZKWHpQcyJ9.eyJVc2VySWRlbnRpdHlUeXBlIjoiQUFEIiwiQWFkVGVuYW50SWQiOiI3MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDciLCJBYWRTUE9iamVjdElkIjoiODlkMmY3NzQtODBkNy00YzU0LTgwMjQtMjY2YzIzZGI0ZWNiIiwiUmVzdG9yZVBvaW50UGVybWlzc2lvbnMiOiJSZWFkIiwiUmVzdG9yZVBvaW50SUQiOiJyZXNvdXJjZXMvMzYzOTI0OTUyNDMwMjg4Mjk3MS9wcm90ZWN0aW9uQ29udGFpbmVycy8xMDA2NjAwL3Byb3RlY3RlZEl0ZW1zLzIyNTIzNDUxNzI0OTY4MjgyMTEvcmVjb3ZlcnlQb2ludHMvMjI1Mjg4NDA2MDEwNDg4OTkwNyIsImlzcyI6Imh0dHBzOi8vUmVjb3ZlcnlTZXJ2aWNlIiwiYXVkIjoiaHR0cHM6Ly9SZWNvdmVyeVNlcnZpY2VzL1Byb3RlY3Rpb25TZXJ2aWNlIiwiZXhwIjoxNTcwMjAwOTEzLCJuYmYiOjE1NzAxMTQyMTN9.gOGEmAhrAio3M6gcQHZ7EpEAbz4o-JaLE6dIFa4bF_-6VaP4LiBU_Qemjev_s-2fKZTAk3AVEXevbxbKIX6DENALXyOy3cMZsSPIr7L0_VrC6nlNnrwMBpiwQWGLuPckh4LHhsQE2cgOKmsIifqb4XrSJlwNq18aT_XyV6ZlkKqog3w7n4f-_eANJXDjxzOvAzsDIjnw_R-rVBNUI8w5OyO01mK1s2xStYgCBLpkTNEw5dxTTNOv5wPzmgjgRa2p-GmecE0ZTUfsL3VUvzpzfO8tRHBTbUYIIAG2Cn9utmXLK-PmAAanJVCOQ0YuoNSTN40D1NhpklJOtyD_TKdmvA
                  backupManagementType: AzureIaasVM
                  containerName: iaasvmcontainerv2;anubhtest;anubh-ext-2
                  containerType: IaasVMContainer
                  coordinatorServiceStampUri: https://sea-bvtd2-coord1-t56tl.ext.trafficmanager.net
                  datasourceContainerName: iaasvmcontainerv2;anubhtest;anubh-ext-2
                  datasourceId: "2252345172496828211"
                  datasourceName: anubh-ext-2
                  datasourceType: VM
                  protectionServiceStampId: 253c2223-fefd-483d-912f-55fb46ce0eab
                  protectionServiceStampUri: https://sea-bvtd2-prot1-t56tl.ext.trafficmanager.net
                  recoveryPointId: "2252884060104889907"
                  recoveryPointTime: 10/3/2019 1:35:19 AM
                  resourceGroupName: gaallaReportingV2
                  resourceId: "3639249524302882971"
                  resourceName: garbvtd2
                  subscriptionId: 04cf684a-d41f-4550-9f70-7708a3a2283b
                  tokenExtendedInformation: <IaaSVMRecoveryPointMetadataBase xmlns:i="http://www.w3.org/2001/XMLSchema-instance" i:type="IaaSVMRecoveryPointMetadata_V2015_09" xmlns="http://windowscloudbackup.com/CloudCommon/V2011_09"><MetadataVersion>V2015_09</MetadataVersion><ContainerType i:nil="true" /><InstantRpGCId>1a2311d9-66f5-47d3-a9fb-7a37da63934b;BackUpOperationJobId;e1ebcf24-81a5-434e-b64b-cc81be65ae16</InstantRpGCId><IsBlockBlobEnabled>false</IsBlockBlobEnabled><IsManagedVirtualMachine>false</IsManagedVirtualMachine><OriginalSAOption>true</OriginalSAOption><OsType>Windows</OsType><ReadMetadaFromConfigBlob i:nil="true" /><RecoveryPointConsistencyType>CrashConsistent</RecoveryPointConsistencyType><RpDiskDetails i:nil="true" /><SourceIaaSVMRPKeyAndSecret i:nil="true" /><SourceIaaSVMStorageType>NormalStorage</SourceIaaSVMStorageType><VMSizeDescription>Standard_D2s_v3</VMSizeDescription></IaaSVMRecoveryPointMetadataBase>
                type: Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems/":
    get:
      description: Provides a pageable list of all items that are backed up within a vault.
      operationId: BackupProtectedItemsCrr_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_Crr
      x-ms-examples:
        List protected items with backupManagementType filter as AzureIaasVm:
          parameters:
            $filter: backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'
            api-version: 2019-05-13
            resourceGroupName: SwaggerTestRg
            subscriptionId: 00000000-0000-0000-0000-000000000000
            vaultName: NetSDKTestRsVault
          responses:
            "200":
              body:
                value:
                  - id: /Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1
                    name: VM;iaasvmcontainer;iaasvm-rg;iaasvm-1
                    properties:
                      backupManagementType: AzureIaasVM
                      containerName: iaasvmcontainer;iaasvm-rg;iaasvm-1
                      friendlyName: iaasvm-1
                      healthStatus: Passed
                      lastBackupStatus: Completed
                      lastBackupTime: 2018-01-22T12:25:32.048723Z
                      lastRecoveryPoint: 2017-11-22T12:25:32.048723Z
                      policyId: /Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1
                      protectedItemDataId: "636482643132986882"
                      protectedItemType: Microsoft.ClassicCompute/virtualMachines
                      protectionState: Protected
                      protectionStatus: Healthy
                      sourceResourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1
                      virtualMachineId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1
                      workloadType: VM
                    type: Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems
      x-ms-odata: "#/definitions/ProtectedItemQueryObject"
      x-ms-pageable:
        nextLinkName: nextLink
definitions:
  AADProperties:
    properties:
      audience:
        type: string
      authority:
        type: string
      servicePrincipalClientId:
        type: string
      servicePrincipalObjectId:
        type: string
      tenantId:
        type: string
    type: object
  AADPropertiesResource:
    allOf:
      - $ref: "#/definitions/Resource"
    properties:
      properties:
        $ref: "#/definitions/AADProperties"
        description: AADPropertiesResource properties
  AzureFileShareRecoveryPoint:
    allOf:
      - $ref: "#/definitions/RecoveryPoint"
    description: Azure File Share workload specific backup copy.
    properties:
      fileShareSnapshotUri:
        description: Contains Url to the snapshot of fileshare, if applicable
        readOnly: true
        type: string
      recoveryPointSizeInGB:
        description: Contains recovery point size
        format: int32
        readOnly: true
        type: integer
      recoveryPointTime:
        description: Time at which this backup copy was created.
        format: date-time
        readOnly: true
        type: string
      recoveryPointType:
        description: Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.
        readOnly: true
        type: string
    type: object
    x-ms-discriminator-value: AzureFileShareRecoveryPoint
  AzureFileShareRestoreRequest:
    allOf:
      - $ref: "#/definitions/RestoreRequest"
    description: AzureFileShare Restore Request
    properties:
      copyOptions:
        description: Options to resolve copy conflicts.
        enum:
          - Invalid
          - CreateCopy
          - Skip
          - Overwrite
          - FailOnConflict
        type: string
        x-ms-enum:
          modelAsString: true
          name: CopyOptions
      recoveryType:
        description: Type of this recovery.
        enum:
          - Invalid
          - OriginalLocation
          - AlternateLocation
          - RestoreDisks
          - Offline
        type: string
        x-ms-enum:
          modelAsString: true
          name: RecoveryType
      restoreFileSpecs:
        description: List of Source Files/Folders(which need to recover) and TargetFolderPath details
        items:
          $ref: "#/definitions/RestoreFileSpecs"
        type: array
      restoreRequestType:
        description: Restore Type (FullShareRestore or ItemLevelRestore)
        enum:
          - Invalid
          - FullShareRestore
          - ItemLevelRestore
        type: string
        x-ms-enum:
          modelAsString: true
          name: RestoreRequestType
      sourceResourceId:
        description: Source storage account ARM Id
        type: string
      targetDetails:
        $ref: "#/definitions/TargetAFSRestoreInfo"
        description: Target File Share Details
    type: object
    x-ms-discriminator-value: AzureFileShareRestoreRequest
  AzureFileshareProtectedItem:
    allOf:
      - $ref: "#/definitions/ProtectedItem"
    description: Azure File Share workload-specific backup item.
    properties:
      extendedInfo:
        $ref: "#/definitions/AzureFileshareProtectedItemExtendedInfo"
        description: Additional information with this backup item.
      friendlyName:
        description: Friendly name of the fileshare represented by this backup item.
        type: string
      healthStatus:
        description: backups running status for this backup 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
      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
    type: object
    x-ms-discriminator-value: AzureFileShareProtectedItem
  AzureFileshareProtectedItemExtendedInfo:
    description: Additional information about Azure File Share backup item.
    properties:
      oldestRecoveryPoint:
        description: The oldest backup copy available for this item in the service.
        format: date-time
        type: string
      policyState:
        description: Indicates consistency of policy object and policy applied to this backup item.
        type: string
      recoveryPointCount:
        description: Number of available backup copies associated with this backup item.
        format: int32
        type: integer
      resourceState:
        description: Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}
        readOnly: true
        type: string
      resourceStateSyncTime:
        description: The resource state sync time for this backup item.
        format: date-time
        readOnly: true
        type: string
    type: object
  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
  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
  AzureIaaSVMErrorInfo:
    description: Azure IaaS VM workload-specific error information.
    properties:
      errorCode:
        description: Error code.
        format: int32
        readOnly: true
        type: integer
      errorString:
        description: Localized error string.
        readOnly: true
        type: string
      errorTitle:
        description: "Title: Typically, the entity that the error pertains to."
        readOnly: true
        type: string
      recommendations:
        description: List of localized recommendations for above error code.
        items:
          type: string
        readOnly: true
        type: array
    type: object
  AzureIaaSVMHealthDetails:
    description: Azure IaaS VM workload-specific Health Details.
    properties:
      code:
        description: Health Code
        format: int32
        readOnly: true
        type: integer
      message:
        description: Health Message
        readOnly: true
        type: string
      recommendations:
        description: Health Recommended Actions
        items:
          type: string
        readOnly: true
        type: array
      title:
        description: Health Title
        readOnly: true
        type: string
    type: object
  AzureIaaSVMJob:
    allOf:
      - $ref: "#/definitions/Job"
    description: Azure IaaS VM workload-specific job object.
    properties:
      actionsInfo:
        description: Gets or sets the state/actions applicable on this job like cancel/retry.
        items:
          enum:
            - Invalid
            - Cancellable
            - Retriable
          type: string
          x-ms-enum:
            modelAsString: false
            name: JobSupportedAction
        type: array
      duration:
        description: Time elapsed during the execution of this job.
        format: duration
        type: string
      errorDetails:
        description: Error details on execution of this job.
        items:
          $ref: "#/definitions/AzureIaaSVMErrorInfo"
        type: array
      extendedInfo:
        $ref: "#/definitions/AzureIaaSVMJobExtendedInfo"
        description: Additional information for this job.
      virtualMachineVersion:
        description: Specifies whether the backup item is a Classic or an Azure Resource Manager VM.
        type: string
    type: object
    x-ms-discriminator-value: AzureIaaSVMJob
  AzureIaaSVMJobExtendedInfo:
    description: Azure IaaS VM workload-specific additional information for job.
    properties:
      dynamicErrorMessage:
        description: Non localized error message on job execution.
        type: string
      estimatedRemainingDuration:
        description: Time remaining for execution of this job.
        type: string
      internalPropertyBag:
        additionalProperties:
          type: string
        description: Job internal properties.
        type: object
      progressPercentage:
        description: Indicates progress of the job. Null if it has not started or completed.
        format: double
        type: number
      propertyBag:
        additionalProperties:
          type: string
        description: Job properties.
        type: object
      tasksList:
        description: List of tasks associated with this job.
        items:
          $ref: "#/definitions/AzureIaaSVMJobTaskDetails"
        type: array
    type: object
  AzureIaaSVMJobTaskDetails:
    description: Azure IaaS VM workload-specific job task details.
    properties:
      duration:
        description: Time elapsed for task.
        format: duration
        type: string
      endTime:
        description: The end time.
        format: date-time
        type: string
      instanceId:
        description: The instanceId.
        type: string
      progressPercentage:
        description: Progress of the task.
        format: double
        type: number
      startTime:
        description: The start time.
        format: date-time
        type: string
      status:
        description: The status.
        type: string
      taskExecutionDetails:
        description: "Details about execution of the task.\r

          eg: number of bytes transferred etc"
        type: string
      taskId:
        description: The task display name.
        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.
      extendedProperties:
        $ref: "#/definitions/ExtendedProperties"
      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.
        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
  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
  AzureStorageErrorInfo:
    description: Azure storage specific error information
    properties:
      errorCode:
        description: Error code.
        format: int32
        type: integer
      errorString:
        description: Localized error string.
        type: string
      recommendations:
        description: List of localized recommendations for above error code.
        items:
          type: string
        type: array
    type: object
  AzureStorageJob:
    allOf:
      - $ref: "#/definitions/Job"
    description: Azure storage specific job.
    properties:
      actionsInfo:
        description: Gets or sets the state/actions applicable on this job like cancel/retry.
        items:
          enum:
            - Invalid
            - Cancellable
            - Retriable
          type: string
          x-ms-enum:
            modelAsString: false
            name: JobSupportedAction
        type: array
      duration:
        description: Time elapsed during the execution of this job.
        format: duration
        type: string
      errorDetails:
        description: Error details on execution of this job.
        items:
          $ref: "#/definitions/AzureStorageErrorInfo"
        type: array
      extendedInfo:
        $ref: "#/definitions/AzureStorageJobExtendedInfo"
        description: Additional information about the job.
      storageAccountName:
        description: Specifies friendly name of the storage account.
        type: string
      storageAccountVersion:
        description: Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.
        type: string
    type: object
    x-ms-discriminator-value: AzureStorageJob
  AzureStorageJobExtendedInfo:
    description: Azure Storage workload-specific additional information for job.
    properties:
      dynamicErrorMessage:
        description: Non localized error message on job execution.
        type: string
      propertyBag:
        additionalProperties:
          type: string
        description: Job properties.
        type: object
      tasksList:
        description: List of tasks for this job
        items:
          $ref: "#/definitions/AzureStorageJobTaskDetails"
        type: array
    type: object
  AzureStorageJobTaskDetails:
    description: Azure storage workload specific job task details.
    properties:
      status:
        description: The status.
        type: string
      taskId:
        description: The task display name.
        type: string
    type: object
  AzureVmWorkloadProtectedItem:
    allOf:
      - $ref: "#/definitions/ProtectedItem"
    description: Azure VM workload-specific protected item.
    properties:
      extendedInfo:
        $ref: "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo"
        description: Additional information for this backup item.
      friendlyName:
        description: Friendly name of the DB represented by this backup item.
        type: string
      lastBackupErrorDetail:
        $ref: "#/definitions/ErrorDetail"
        description: Error details in last backup
      lastBackupStatus:
        description: "Last backup operation status. Possible values: Healthy, Unhealthy."
        enum:
          - Invalid
          - Healthy
          - Unhealthy
          - IRPending
        type: string
        x-ms-enum:
          modelAsString: true
          name: LastBackupStatus
      lastBackupTime:
        description: Timestamp of the last backup operation on this backup item.
        format: date-time
        type: string
      parentName:
        description: Parent name of the DB such as Instance or Availability Group.
        type: string
      parentType:
        description: "Parent type of protected item, example: for a DB, standalone server or distributed"
        type: string
      protectedItemDataSourceId:
        description: Data ID of the protected item.
        type: string
      protectedItemHealthStatus:
        description: Health status of the backup item, evaluated based on last heartbeat received
        enum:
          - Invalid
          - Healthy
          - Unhealthy
          - NotReachable
          - IRPending
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProtectedItemHealthStatus
      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
      serverName:
        description: Host/Cluster Name for instance or AG
        type: string
    type: object
    x-ms-discriminator-value: AzureVmWorkloadProtectedItem
  AzureVmWorkloadProtectedItemExtendedInfo:
    description: Additional information on Azure Workload for SQL specific backup item.
    properties:
      oldestRecoveryPoint:
        description: The oldest backup copy available for this backup item.
        format: date-time
        type: string
      policyState:
        description: Indicates consistency of policy object and policy applied to this backup item.
        type: string
      recoveryPointCount:
        description: Number of backup copies available for this backup item.
        format: int32
        type: integer
    type: object
  AzureVmWorkloadSAPAseDatabaseProtectedItem:
    allOf:
      - $ref: "#/definitions/AzureVmWorkloadProtectedItem"
    description: Azure VM workload-specific protected item representing SAP ASE Database.
    type: object
    x-ms-discriminator-value: AzureVmWorkloadSAPAseDatabase
  AzureVmWorkloadSAPHanaDatabaseProtectedItem:
    allOf:
      - $ref: "#/definitions/AzureVmWorkloadProtectedItem"
    description: Azure VM workload-specific protected item representing SAP HANA Database.
    type: object
    x-ms-discriminator-value: AzureVmWorkloadSAPHanaDatabase
  AzureVmWorkloadSQLDatabaseProtectedItem:
    allOf:
      - $ref: "#/definitions/AzureVmWorkloadProtectedItem"
    description: Azure VM workload-specific protected item representing SQL Database.
    type: object
    x-ms-discriminator-value: AzureVmWorkloadSQLDatabase
  AzureWorkloadErrorInfo:
    description: Azure storage specific error information
    properties:
      additionalDetails:
        description: Additional details for above error code.
        type: string
      errorCode:
        description: Error code.
        format: int32
        type: integer
      errorString:
        description: Localized error string.
        type: string
      errorTitle:
        description: "Title: Typically, the entity that the error pertains to."
        type: string
      recommendations:
        description: List of localized recommendations for above error code.
        items:
          type: string
        type: array
    type: object
  AzureWorkloadJob:
    allOf:
      - $ref: "#/definitions/Job"
    description: Azure storage specific job.
    properties:
      actionsInfo:
        description: Gets or sets the state/actions applicable on this job like cancel/retry.
        items:
          enum:
            - Invalid
            - Cancellable
            - Retriable
          type: string
          x-ms-enum:
            modelAsString: false
            name: JobSupportedAction
        type: array
      duration:
        description: Time elapsed during the execution of this job.
        format: duration
        type: string
      errorDetails:
        description: Error details on execution of this job.
        items:
          $ref: "#/definitions/AzureWorkloadErrorInfo"
        type: array
      extendedInfo:
        $ref: "#/definitions/AzureWorkloadJobExtendedInfo"
        description: Additional information about the job.
      workloadType:
        description: Workload type of the job
        type: string
    type: object
    x-ms-discriminator-value: AzureWorkloadJob
  AzureWorkloadJobExtendedInfo:
    description: Azure VM workload-specific additional information for job.
    properties:
      dynamicErrorMessage:
        description: Non localized error message on job execution.
        type: string
      propertyBag:
        additionalProperties:
          type: string
        description: Job properties.
        type: object
      tasksList:
        description: List of tasks for this job
        items:
          $ref: "#/definitions/AzureWorkloadJobTaskDetails"
        type: array
    type: object
  AzureWorkloadJobTaskDetails:
    description: Azure VM workload specific job task details.
    properties:
      status:
        description: The status.
        type: string
      taskId:
        description: The task display name.
        type: string
    type: object
  AzureWorkloadPointInTimeRecoveryPoint:
    allOf:
      - $ref: "#/definitions/AzureWorkloadRecoveryPoint"
    description: Recovery point specific to PointInTime
    properties:
      timeRanges:
        description: List of log ranges
        items:
          $ref: "#/definitions/PointInTimeRange"
        type: array
    type: object
    x-ms-discriminator-value: AzureWorkloadPointInTimeRecoveryPoint
  AzureWorkloadPointInTimeRestoreRequest:
    allOf:
      - $ref: "#/definitions/AzureWorkloadRestoreRequest"
    description: AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore
    properties:
      pointInTime:
        description: PointInTime value
        format: date-time
        type: string
    type: object
    x-ms-discriminator-value: AzureWorkloadPointInTimeRestoreRequest
  AzureWorkloadRecoveryPoint:
    allOf:
      - $ref: "#/definitions/RecoveryPoint"
    description: Workload specific recovery point, specifically encapsulates full/diff recovery point
    properties:
      recoveryPointTimeInUTC:
        description: UTC time at which recovery point was created
        format: date-time
        readOnly: true
        type: string
      type:
        description: Type of restore point
        enum:
          - Invalid
          - Full
          - Log
          - Differential
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: RestorePointType
    type: object
    x-ms-discriminator-value: AzureWorkloadRecoveryPoint
  AzureWorkloadRestoreRequest:
    allOf:
      - $ref: "#/definitions/RestoreRequest"
    description: AzureWorkload-specific restore.
    properties:
      propertyBag:
        additionalProperties:
          type: string
        description: Workload specific property bag.
        type: object
      recoveryMode:
        description: Defines whether the current recovery mode is file restore or database restore
        enum:
          - Invalid
          - FileRecovery
          - WorkloadRecovery
        type: string
        x-ms-enum:
          modelAsString: true
          name: RecoveryMode
      recoveryType:
        description: Type of this recovery.
        enum:
          - Invalid
          - OriginalLocation
          - AlternateLocation
          - RestoreDisks
          - Offline
        type: string
        x-ms-enum:
          modelAsString: true
          name: RecoveryType
      sourceResourceId:
        description: Fully qualified ARM ID of the VM on which workload that was running is being recovered.
        type: string
      targetInfo:
        $ref: "#/definitions/TargetRestoreInfo"
        description: Details of target database
    type: object
    x-ms-discriminator-value: AzureWorkloadRestoreRequest
  AzureWorkloadSAPHanaPointInTimeRecoveryPoint:
    allOf:
      - $ref: "#/definitions/AzureWorkloadPointInTimeRecoveryPoint"
    description: Recovery point specific to PointInTime in SAPHana
    type: object
    x-ms-discriminator-value: AzureWorkloadSAPHanaPointInTimeRecoveryPoint
  AzureWorkloadSAPHanaPointInTimeRestoreRequest:
    allOf:
      - $ref: "#/definitions/AzureWorkloadSAPHanaRestoreRequest"
    description: AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore
    properties:
      pointInTime:
        description: PointInTime value
        format: date-time
        type: string
    type: object
    x-ms-discriminator-value: AzureWorkloadSAPHanaPointInTimeRestoreRequest
  AzureWorkloadSAPHanaRecoveryPoint:
    allOf:
      - $ref: "#/definitions/AzureWorkloadRecoveryPoint"
    description: SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints
    type: object
    x-ms-discriminator-value: AzureWorkloadSAPHanaRecoveryPoint
  AzureWorkloadSAPHanaRestoreRequest:
    allOf:
      - $ref: "#/definitions/AzureWorkloadRestoreRequest"
    description: AzureWorkload SAP Hana-specific restore.
    type: object
    x-ms-discriminator-value: AzureWorkloadSAPHanaRestoreRequest
  AzureWorkloadSQLPointInTimeRecoveryPoint:
    allOf:
      - $ref: "#/definitions/AzureWorkloadSQLRecoveryPoint"
    description: Recovery point specific to PointInTime
    properties:
      timeRanges:
        description: List of log ranges
        items:
          $ref: "#/definitions/PointInTimeRange"
        type: array
    type: object
    x-ms-discriminator-value: AzureWorkloadSQLPointInTimeRecoveryPoint
  AzureWorkloadSQLPointInTimeRestoreRequest:
    allOf:
      - $ref: "#/definitions/AzureWorkloadSQLRestoreRequest"
    description: AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore
    properties:
      pointInTime:
        description: PointInTime value
        format: date-time
        type: string
    type: object
    x-ms-discriminator-value: AzureWorkloadSQLPointInTimeRestoreRequest
  AzureWorkloadSQLRecoveryPoint:
    allOf:
      - $ref: "#/definitions/AzureWorkloadRecoveryPoint"
    description: SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info
    properties:
      extendedInfo:
        $ref: "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo"
        description: "Extended Info that provides data directory details. Will be populated in two cases:\r

          When a specific recovery point is accessed using GetRecoveryPoint\r

          Or when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter"
    type: object
    x-ms-discriminator-value: AzureWorkloadSQLRecoveryPoint
  AzureWorkloadSQLRecoveryPointExtendedInfo:
    description: Extended info class details
    properties:
      dataDirectoryPaths:
        description: List of data directory paths during restore operation.
        items:
          $ref: "#/definitions/SQLDataDirectory"
        readOnly: true
        type: array
      dataDirectoryTimeInUTC:
        description: UTC time at which data directory info was captured
        format: date-time
        readOnly: true
        type: string
    type: object
  AzureWorkloadSQLRestoreRequest:
    allOf:
      - $ref: "#/definitions/AzureWorkloadRestoreRequest"
    description: AzureWorkload SQL -specific restore. Specifically for full/diff restore
    properties:
      alternateDirectoryPaths:
        description: Data directory details
        items:
          $ref: "#/definitions/SQLDataDirectoryMapping"
        type: array
      isNonRecoverable:
        description: SQL specific property where user can chose to set no-recovery when restore operation is tried
        type: boolean
      shouldUseAlternateTargetLocation:
        description: Default option set to true. If this is set to false, alternate data directory must be provided
        type: boolean
    type: object
    x-ms-discriminator-value: AzureWorkloadSQLRestoreRequest
  BEKDetails:
    description: BEK is bitlocker encryption 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
  BMSRPQueryObject:
    description: Filters to list backup copies.
    properties:
      endDate:
        description: Backup copies created before this time.
        format: date-time
        type: string
      extendedInfo:
        description: In Get Recovery Point, it tells whether extended information about recovery point is asked.
        type: boolean
      restorePointQueryType:
        description: RestorePoint type
        enum:
          - Invalid
          - Full
          - Log
          - Differential
          - FullAndDifferential
          - All
        type: string
        x-ms-enum:
          modelAsString: true
          name: RestorePointQueryType
      startDate:
        description: Backup copies created after this time.
        format: date-time
        type: string
    type: object
  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: "Mandatory 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
  CrossRegionRestoreRequest:
    properties:
      crossRegionRestoreAccessDetails:
        $ref: "#/definitions/CrrAccessToken"
        description: Access details for cross region restore
      restoreRequest:
        $ref: "#/definitions/RestoreRequest"
        description: Request object for triggering restore
    type: object
  CrossRegionRestoreRequestResource:
    allOf:
      - $ref: "#/definitions/Resource"
    properties:
      properties:
        $ref: "#/definitions/CrossRegionRestoreRequest"
        description: CrossRegionRestoreRequestResource properties
  CrrAccessToken:
    description: Container level access token for CRR
    properties:
      accessTokenString:
        description: Access token used for authentication
        type: string
      backupManagementType:
        description: Backup Management Type
        type: string
      containerName:
        description: Container Unique name
        type: string
      containerType:
        description: Container Type
        type: string
      coordinatorServiceStampId:
        description: CoordinatorServiceStampId to be used by BCM in restore call
        type: string
      coordinatorServiceStampUri:
        description: CoordinatorServiceStampUri to be used by BCM in restore call
        type: string
      datasourceContainerName:
        description: Datasource Container Unique Name
        type: string
      datasourceId:
        description: Datasource Id
        type: string
      datasourceName:
        description: Datasource Friendly Name
        type: string
      datasourceType:
        description: Datasource Type
        type: string
      protectionServiceStampId:
        description: ProtectionServiceStampId to be used by BCM in restore call
        type: string
      protectionServiceStampUri:
        description: ProtectionServiceStampUri to be used by BCM in restore call
        type: string
      recoveryPointId:
        description: Recovery Point Id
        type: string
      recoveryPointTime:
        description: Recovery Point Time
        type: string
      resourceGroupName:
        description: Resource Group name of the source vault
        type: string
      resourceId:
        description: Resource Id of the source vault
        type: string
      resourceName:
        description: Resource Name of the source vault
        type: string
      subscriptionId:
        description: Subscription Id of the source vault
        type: string
      tokenExtendedInformation:
        description: Extended Information about the token like FileSpec etc.
        type: string
    type: object
  CrrAccessTokenResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Container level access token for CRR
    properties:
      properties:
        $ref: "#/definitions/CrrAccessToken"
        description: CrrAccessTokenResource properties
  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
      protectionState:
        description: Protection state of the backup engine
        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
  DiskExclusionProperties:
    properties:
      diskLunList:
        description: List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.
        items:
          format: int32
          type: integer
        type: array
      isInclusionList:
        description: Flag to indicate whether DiskLunList is to be included/ excluded from backup.
        type: boolean
    type: object
  DiskInformation:
    description: Disk information
    properties:
      lun:
        format: int32
        type: integer
      name:
        type: string
    type: object
  DpmErrorInfo:
    description: DPM workload-specific error information.
    properties:
      errorString:
        description: Localized error string.
        type: string
      recommendations:
        description: List of localized recommendations for above error code.
        items:
          type: string
        type: array
    type: object
  DpmJob:
    allOf:
      - $ref: "#/definitions/Job"
    description: DPM workload-specific job object.
    properties:
      actionsInfo:
        description: The state/actions applicable on this job like cancel/retry.
        items:
          enum:
            - Invalid
            - Cancellable
            - Retriable
          type: string
          x-ms-enum:
            modelAsString: false
            name: JobSupportedAction
        type: array
      containerName:
        description: Name of cluster/server protecting current backup item, if any.
        type: string
      containerType:
        description: Type of container.
        type: string
      dpmServerName:
        description: DPM server name managing the backup item or backup job.
        type: string
      duration:
        description: Time elapsed for job.
        format: duration
        type: string
      errorDetails:
        description: The errors.
        items:
          $ref: "#/definitions/DpmErrorInfo"
        type: array
      extendedInfo:
        $ref: "#/definitions/DpmJobExtendedInfo"
        description: Additional information for this job.
      workloadType:
        description: Type of backup item.
        type: string
    type: object
    x-ms-discriminator-value: DpmJob
  DpmJobExtendedInfo:
    description: Additional information on the DPM workload-specific job.
    properties:
      dynamicErrorMessage:
        description: Non localized error message on job execution.
        type: string
      propertyBag:
        additionalProperties:
          type: string
        description: The job properties.
        type: object
      tasksList:
        description: List of tasks associated with this job.
        items:
          $ref: "#/definitions/DpmJobTaskDetails"
        type: array
    type: object
  DpmJobTaskDetails:
    description: DPM workload-specific job task details.
    properties:
      duration:
        description: Time elapsed for task.
        format: duration
        type: string
      endTime:
        description: The end time.
        format: date-time
        type: string
      startTime:
        description: The start time.
        format: date-time
        type: string
      status:
        description: The status.
        type: string
      taskId:
        description: The task display name.
        type: string
    type: object
  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
  ErrorDetail:
    description: Error Detail class which encapsulates Code, Message and Recommendations.
    properties:
      code:
        description: Error code.
        readOnly: true
        type: string
      message:
        description: Error Message related to the Code.
        readOnly: true
        type: string
      recommendations:
        description: List of recommendation strings.
        items:
          type: string
        readOnly: true
        type: array
    type: object
  ExtendedProperties:
    description: Extended Properties for Azure IaasVM Backup.
    properties:
      diskExclusionProperties:
        $ref: "#/definitions/DiskExclusionProperties"
        description: Extended Properties for Disk Exclusion.
    type: object
  GenericProtectedItem:
    allOf:
      - $ref: "#/definitions/ProtectedItem"
    description: Base class for backup items.
    properties:
      fabricName:
        description: Name of this backup item's fabric.
        type: string
      friendlyName:
        description: Friendly name of the container.
        type: string
      policyState:
        description: Indicates consistency of policy object and policy applied to this backup item.
        type: string
      protectedItemId:
        description: Data Plane Service ID of the protected item.
        format: int64
        type: integer
      protectionState:
        description: Backup state of this backup item.
        enum:
          - Invalid
          - IRPending
          - Protected
          - ProtectionError
          - ProtectionStopped
          - ProtectionPaused
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProtectionState
      sourceAssociations:
        additionalProperties:
          type: string
        description: Loosely coupled (type, value) associations (example - parent of a protected item)
        type: object
    type: object
    x-ms-discriminator-value: GenericProtectedItem
  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
  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.
        readOnly: true
        type: boolean
      keyAndSecret:
        $ref: "#/definitions/KeyAndSecretDetails"
        description: Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true.
      originalStorageAccountOption:
        description: Original Storage Account Option
        type: boolean
      osType:
        description: OS type
        type: string
      recoveryPointAdditionalInfo:
        description: Additional information associated with this backup copy.
        readOnly: true
        type: string
      recoveryPointDiskConfiguration:
        $ref: "#/definitions/RecoveryPointDiskConfiguration"
        description: Disk configuration
      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
        readOnly: true
        type: string
      recoveryPointType:
        description: Type of the backup copy.
        readOnly: true
        type: string
      sourceVMStorageType:
        description: Storage type of the VM whose backup copy is created.
        readOnly: true
        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\r

          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:
        description: Original Storage Account Option
        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
          - Offline
        type: string
        x-ms-enum:
          modelAsString: true
          name: RecoveryType
      region:
        description: Region in which the virtual machine is restored.
        type: string
      restoreDiskLunList:
        description: List of Disk LUNs for partial restore
        items:
          format: int32
          type: integer
        type: array
      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\r

          {VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r

          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\r

          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
  Job:
    description: Defines workload agnostic properties for a job.
    discriminator: jobType
    properties:
      activityId:
        description: ActivityId of job.
        type: string
      backupManagementType:
        description: Backup management type to execute the current job.
        enum:
          - Invalid
          - AzureIaasVM
          - MAB
          - DPM
          - AzureBackupServer
          - AzureSql
          - AzureStorage
          - AzureWorkload
          - DefaultBackup
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupManagementType
      endTime:
        description: The end time.
        format: date-time
        type: string
      entityFriendlyName:
        description: Friendly name of the entity on which the current job is executing.
        type: string
      jobType:
        description: This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.
        type: string
      operation:
        description: The operation name.
        type: string
      startTime:
        description: The start time.
        format: date-time
        type: string
      status:
        description: Job status.
        type: string
    required:
      - jobType
    type: object
  JobResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Defines workload agnostic properties for a job.
    properties:
      properties:
        $ref: "#/definitions/Job"
        description: JobResource properties
  JobResourceList:
    allOf:
      - $ref: "#/definitions/ResourceList"
    description: List of Job resources
    properties:
      value:
        description: List of resources.
        items:
          $ref: "#/definitions/JobResource"
        type: array
    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 following details :\r

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

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

      3. EncryptionMechanism\r

      BEK and KEK can potentially have different vault ids."
    properties:
      bekDetails:
        $ref: "#/definitions/BEKDetails"
        description: BEK is bitlocker encryption key.
      encryptionMechanism:
        description: "Encryption mechanism: None/ SinglePass/ DoublePass"
        type: string
      kekDetails:
        $ref: "#/definitions/KEKDetails"
        description: KEK is encryption key for BEK.
    type: object
  MabErrorInfo:
    description: MAB workload-specific error information.
    properties:
      errorString:
        description: Localized error string.
        readOnly: true
        type: string
      recommendations:
        description: List of localized recommendations.
        items:
          type: string
        readOnly: true
        type: array
    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 in UTC
        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
      lastBackupStatus:
        description: Status of last backup operation.
        type: string
      lastBackupTime:
        description: Timestamp of the last backup operation on this backup item.
        format: date-time
        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
  MabJob:
    allOf:
      - $ref: "#/definitions/Job"
    description: MAB workload-specific job.
    properties:
      actionsInfo:
        description: The state/actions applicable on jobs like cancel/retry.
        items:
          enum:
            - Invalid
            - Cancellable
            - Retriable
          type: string
          x-ms-enum:
            modelAsString: false
            name: JobSupportedAction
        type: array
      duration:
        description: Time taken by job to run.
        format: duration
        type: string
      errorDetails:
        description: The errors.
        items:
          $ref: "#/definitions/MabErrorInfo"
        type: array
      extendedInfo:
        $ref: "#/definitions/MabJobExtendedInfo"
        description: Additional information on the job.
      mabServerName:
        description: Name of server protecting the DS.
        type: string
      mabServerType:
        description: Server type of MAB container.
        enum:
          - Invalid
          - Unknown
          - IaasVMContainer
          - IaasVMServiceContainer
          - DPMContainer
          - AzureBackupServerContainer
          - MABContainer
          - Cluster
          - AzureSqlContainer
          - Windows
          - VCenter
          - VMAppContainer
          - SQLAGWorkLoadContainer
          - StorageContainer
          - GenericContainer
        type: string
        x-ms-enum:
          modelAsString: true
          name: MabServerType
      workloadType:
        description: Workload type of backup item.
        enum:
          - Invalid
          - VM
          - FileFolder
          - AzureSqlDb
          - SQLDB
          - Exchange
          - Sharepoint
          - VMwareVM
          - SystemState
          - Client
          - GenericDataSource
          - SQLDataBase
          - AzureFileShare
          - SAPHanaDatabase
          - SAPAseDatabase
        type: string
        x-ms-enum:
          modelAsString: true
          name: WorkloadType
    type: object
    x-ms-discriminator-value: MabJob
  MabJobExtendedInfo:
    description: Additional information for the MAB workload-specific job.
    properties:
      dynamicErrorMessage:
        description: Non localized error message specific to this job.
        type: string
      propertyBag:
        additionalProperties:
          type: string
        description: The job properties.
        type: object
      tasksList:
        description: List of tasks for this job.
        items:
          $ref: "#/definitions/MabJobTaskDetails"
        type: array
    type: object
  MabJobTaskDetails:
    description: MAB workload-specific job task details.
    properties:
      duration:
        description: Time elapsed for task.
        format: duration
        type: string
      endTime:
        description: The end time.
        format: date-time
        type: string
      startTime:
        description: The start time.
        format: date-time
        type: string
      status:
        description: The status.
        type: string
      taskId:
        description: The task display name.
        type: string
    type: object
  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 polymorphic 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
  OperationStatusRecoveryPointExtendedInfo:
    allOf:
      - $ref: "#/definitions/OperationStatusExtendedInfo"
    description: Operation status extended info for Updated Recovery Point.
    properties:
      deletedBackupItemVersion:
        description: In case the share is in soft-deleted state, populate this field with deleted backup item
        type: string
      updatedRecoveryPoint:
        $ref: "#/definitions/RecoveryPoint"
        description: Recovery Point info with updated source snapshot URI
    type: object
    x-ms-discriminator-value: OperationStatusRecoveryPointExtendedInfo
  PointInTimeRange:
    description: Provides details for log ranges
    properties:
      endTime:
        description: End time of the time range for log recovery.
        format: date-time
        type: string
      startTime:
        description: Start time of the time range for log recovery.
        format: date-time
        type: string
    type: object
  ProtectedItem:
    description: Base class for backup items.
    discriminator: protectedItemType
    properties:
      backupManagementType:
        description: Type of backup management for the backed up item.
        enum:
          - Invalid
          - AzureIaasVM
          - MAB
          - DPM
          - AzureBackupServer
          - AzureSql
          - AzureStorage
          - AzureWorkload
          - DefaultBackup
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupManagementType
      backupSetName:
        description: Name of the backup set the backup item belongs to
        type: string
      containerName:
        description: Unique name of container
        type: string
      createMode:
        description: Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
        enum:
          - Invalid
          - Default
          - Recover
        type: string
        x-ms-enum:
          modelAsString: true
          name: CreateMode
      deferredDeleteTimeInUTC:
        description: Time for deferred deletion in UTC
        format: date-time
        type: string
      deferredDeleteTimeRemaining:
        description: Time remaining before the DS marked for deferred delete is permanently deleted
        type: string
      isDeferredDeleteScheduleUpcoming:
        description: Flag to identify whether the deferred deleted DS is to be purged soon
        type: boolean
      isRehydrate:
        description: Flag to identify that deferred deleted DS is to be moved into Pause state
        type: boolean
      isScheduledForDeferredDelete:
        description: Flag to identify whether the DS is scheduled for deferred delete
        type: boolean
      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
          - SQLDataBase
          - AzureFileShare
          - SAPHanaDatabase
          - SAPAseDatabase
        type: string
        x-ms-enum:
          modelAsString: true
          name: DataSourceType
    required:
      - protectedItemType
    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
          - AzureStorage
          - AzureWorkload
          - DefaultBackup
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupManagementType
      backupSetName:
        description: Name of the backup set.
        type: string
      containerName:
        description: Name of the container.
        type: string
      fabricName:
        description: Name of the fabric.
        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
          - SQLDataBase
          - AzureFileShare
          - SAPHanaDatabase
          - SAPAseDatabase
        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
  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 polymorphic chain of types.
        type: string
    required:
      - objectType
    type: object
  RecoveryPointDiskConfiguration:
    description: Disk configuration
    properties:
      excludedDiskList:
        description: Information of disks excluded from backup
        items:
          $ref: "#/definitions/DiskInformation"
        type: array
      includedDiskList:
        description: Information of disks included in backup
        items:
          $ref: "#/definitions/DiskInformation"
        type: array
      numberOfDisksAttachedToVm:
        description: Number of disks attached to the VM
        format: int32
        type: integer
      numberOfDisksIncludedInBackup:
        description: Number of disks included in backup
        format: int32
        type: integer
    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
  RestoreFileSpecs:
    description: Restore file specs like file path, type and target folder path info.
    properties:
      fileSpecType:
        description: Indicates what the Path variable stands for
        type: string
      path:
        description: Source File/Folder path
        type: string
      targetFolderPath:
        description: Destination folder path in target FileShare
        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 polymorphic chain of types.
        type: string
    required:
      - objectType
    type: object
  SQLDataDirectory:
    description: SQLDataDirectory info
    properties:
      logicalName:
        description: Logical name of the file
        type: string
      path:
        description: File path
        type: string
      type:
        description: Type of data directory mapping
        enum:
          - Invalid
          - Data
          - Log
        type: string
        x-ms-enum:
          modelAsString: true
          name: SQLDataDirectoryType
    type: object
  SQLDataDirectoryMapping:
    description: Encapsulates information regarding data directory
    properties:
      mappingType:
        description: Type of data directory mapping
        enum:
          - Invalid
          - Data
          - Log
        type: string
        x-ms-enum:
          modelAsString: true
          name: SQLDataDirectoryType
      sourceLogicalName:
        description: Restore source logical name path
        type: string
      sourcePath:
        description: Restore source path
        type: string
      targetPath:
        description: Target path
        type: string
    type: object
  TargetAFSRestoreInfo:
    description: Target Azure File Share Info.
    properties:
      name:
        description: File share name
        type: string
      targetResourceId:
        description: Target file share resource ARM ID
        type: string
    type: object
  TargetRestoreInfo:
    description: Details about target workload during restore operation.
    properties:
      containerId:
        description: Resource Id name of the container in which Target DataBase resides
        type: string
      databaseName:
        description: Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana
        type: string
      overwriteOption:
        description: Can Overwrite if Target DataBase already exists
        enum:
          - Invalid
          - FailOnConflict
          - Overwrite
        type: string
        x-ms-enum:
          modelAsString: true
          name: OverwriteOptions
      targetDirectoryMapping:
        additionalProperties:
          type: string
        description: This will contain the target folder mapping for the Full/Diff/Log/Incremental pits.
        type: object
    type: object
