swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  title: RecoveryServicesBackupClient
  version: 2017-07-01
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/jobs.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: recoveryservicesbackup-jobs
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account.
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
parameters:
  ApiVersion:
    description: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
  ResourceGroupName:
    description: The name of the resource group where the recovery services vault is present.
    in: path
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionId:
    description: The subscription Id.
    in: path
    name: subscriptionId
    required: true
    type: string
  VaultName:
    description: The name of the recovery services vault.
    in: path
    name: vaultName
    required: true
    type: string
    x-ms-parameter-location: method
paths:
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs":
    get:
      deprecated: false
      description: Provides a pageable list of jobs.
      operationId: BackupJobs_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/JobResourceList"
      tags:
        - BackupJobs
      x-ms-examples:
        ListJobs:
          parameters:
            api-version: 2017-07-01
            resourceGroupName: SwaggerTestRg
            subscriptionId: 00000000-0000-0000-0000-000000000000
            vaultName: NetSDKTestRsVault
          responses:
            "200":
              body:
                value:
                  - id: /Subscriptions/f7424430-103b-4ba3-bd9e-b6f0986f848a/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/cb7120f5-a787-4c2a-a793-19ad03776ad1
                    name: cb7120f5-a787-4c2a-a793-19ad03776ad1
                    properties:
                      activityId: 5417abaf-8cb7-41d8-a497-dee2ff4b930b
                      backupManagementType: AzureIaasVM
                      duration: PT12.4272909S
                      entityFriendlyName: iaasvmtestv2vm1
                      jobType: AzureIaaSVMJob
                      operation: Backup
                      startTime: 2017-08-03T05:31:07.014604Z
                      status: InProgress
                      virtualMachineVersion: Compute
                    type: Microsoft.RecoveryServices/vaults/backupJobs
                  - id: /Subscriptions/f7424430-103b-4ba3-bd9e-b6f0986f848a/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/947d792d-e27f-4139-af05-d3c598dc5cc6
                    name: 947d792d-e27f-4139-af05-d3c598dc5cc6
                    properties:
                      activityId: e202d134-0286-4fdc-83ce-9426a213bd81
                      backupManagementType: AzureIaasVM
                      duration: PT31.3066291S
                      endTime: 2017-08-03T05:31:03.7553376Z
                      entityFriendlyName: iaasvmtestv2vm1
                      jobType: AzureIaaSVMJob
                      operation: ConfigureBackup
                      startTime: 2017-08-03T05:30:32.4487085Z
                      status: Completed
                      virtualMachineVersion: Compute
                    type: Microsoft.RecoveryServices/vaults/backupJobs
      x-ms-odata: "#/definitions/JobQueryObject"
      x-ms-pageable:
        nextLinkName: nextLink
  "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}":
    get:
      deprecated: false
      description: Gets exteded information associated with the job.
      operationId: JobDetails_Get
      parameters:
        - $ref: "#/parameters/ApiVersion"
        - $ref: "#/parameters/VaultName"
        - $ref: "#/parameters/ResourceGroupName"
        - $ref: "#/parameters/SubscriptionId"
        - description: Name of the job whose details are to be fetched.
          in: path
          name: jobName
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/JobResource"
      tags:
        - JobDetails
      x-ms-examples:
        GetJobDetails:
          parameters:
            api-version: 2017-07-01
            jobName: cb7120f5-a787-4c2a-a793-19ad03776ad1
            resourceGroupName: SwaggerTestRg
            subscriptionId: 00000000-0000-0000-0000-000000000000
            vaultName: NetSDKTestRsVault
          responses:
            "200":
              body:
                id: /Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/cb7120f5-a787-4c2a-a793-19ad03776ad1
                name: cb7120f5-a787-4c2a-a793-19ad03776ad1
                properties:
                  activityId: 5417abaf-8cb7-41d8-a497-dee2ff4b930b
                  backupManagementType: AzureIaasVM
                  duration: PT9.8782791S
                  entityFriendlyName: iaasvmtestv2vm1
                  extendedInfo:
                    propertyBag:
                      VM Name: iaasvmtestv2vm1
                    tasksList:
                      - duration: PT0S
                        status: InProgress
                        taskId: Take Snapshot
                      - duration: PT0S
                        status: NotStarted
                        taskId: Transfer data to vault
                  jobType: AzureIaaSVMJob
                  operation: Backup
                  startTime: 2017-08-03T05:31:07.014604Z
                  status: InProgress
                  virtualMachineVersion: Compute
                type: Microsoft.RecoveryServices/vaults/backupJobs
definitions:
  AzureIaaSVMErrorInfo:
    description: Azure IaaS VM workload-specific error information.
    properties:
      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
  AzureIaaSVMJob:
    allOf:
      - $ref: "#/definitions/Job"
    description: Azure IaaS VM workload-specifc 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
      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
      taskId:
        description: The task display 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-specifc 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
  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
        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 polymorhpic 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
  JobQueryObject:
    description: Filters to list the jobs.
    properties:
      backupManagementType:
        description: Type of backup managmenent for the job.
        enum:
          - Invalid
          - AzureIaasVM
          - MAB
          - DPM
          - AzureBackupServer
          - AzureSql
        type: string
        x-ms-enum:
          modelAsString: true
          name: BackupManagementType
      endTime:
        description: Job has ended at this time. Value is in UTC.
        format: date-time
        type: string
      jobId:
        description: JobID represents the job uniquely.
        type: string
      operation:
        description: Type of operation.
        enum:
          - Invalid
          - Register
          - UnRegister
          - ConfigureBackup
          - Backup
          - Restore
          - DisableBackup
          - DeleteBackupData
        type: string
        x-ms-enum:
          modelAsString: true
          name: JobOperationType
      startTime:
        description: Job has started at this time. Value is in UTC.
        format: date-time
        type: string
      status:
        description: Status of the job.
        enum:
          - Invalid
          - InProgress
          - Completed
          - Failed
          - CompletedWithWarnings
          - Cancelled
          - Cancelling
        type: string
        x-ms-enum:
          modelAsString: true
          name: JobStatus
    type: object
  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
  MabErrorInfo:
    description: MAB workload-specific error information.
    properties:
      errorString:
        description: Localized error string.
        type: string
      recommendations:
        description: List of localized recommendations.
        items:
          type: string
        type: array
    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
        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
        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
  Object:
    description: Base of all objects.
    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
