swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  title: SchedulerManagementClient
  version: 2014-08-01-preview
  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/scheduler/resource-manager/Microsoft.Scheduler/preview/2014-08-01-preview/scheduler.json
      version: "2.0"
  x-preferred: false
  x-providerName: azure.com
  x-serviceName: scheduler
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
  - text/json
produces:
  - application/json
  - text/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:
  api-version:
    description: The API version.
    in: query
    name: api-version
    required: true
    type: string
  subscriptionId:
    description: The subscription id.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.Scheduler/jobCollections":
    get:
      description: Gets all job collections under specified subscription.
      operationId: JobCollections_ListBySubscription
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: The job collections have been successfully returned.
          schema:
            $ref: "#/definitions/JobCollectionListResult"
      tags:
        - JobCollections
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections":
    get:
      description: Gets all job collections under specified resource group.
      operationId: JobCollections_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: The job collections have been successfully returned.
          schema:
            $ref: "#/definitions/JobCollectionListResult"
      tags:
        - JobCollections
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}":
    delete:
      description: Deletes a job collection.
      operationId: JobCollections_Delete
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The job collection name.
          in: path
          name: jobCollectionName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: The job collection has been successfully deleted.
      tags:
        - JobCollections
    get:
      description: Gets a job collection.
      operationId: JobCollections_Get
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The job collection name.
          in: path
          name: jobCollectionName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: The job collection has been successfully returned.
          schema:
            $ref: "#/definitions/JobCollectionDefinition"
      tags:
        - JobCollections
    patch:
      description: Patches an existing job collection.
      operationId: JobCollections_Patch
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The job collection name.
          in: path
          name: jobCollectionName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
        - description: The job collection definition.
          in: body
          name: jobCollection
          required: true
          schema:
            $ref: "#/definitions/JobCollectionDefinition"
      responses:
        "200":
          description: The job collection has been successfully patched.
          schema:
            $ref: "#/definitions/JobCollectionDefinition"
      tags:
        - JobCollections
    put:
      description: Provisions a new job collection or updates an existing job collection.
      operationId: JobCollections_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The job collection name.
          in: path
          name: jobCollectionName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
        - description: The job collection definition.
          in: body
          name: jobCollection
          required: true
          schema:
            $ref: "#/definitions/JobCollectionDefinition"
      responses:
        "200":
          description: The job collection has been successfully updated.
          schema:
            $ref: "#/definitions/JobCollectionDefinition"
        "201":
          description: The job collection has been successfully created.
          schema:
            $ref: "#/definitions/JobCollectionDefinition"
      tags:
        - JobCollections
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/disable":
    post:
      description: Disables all of the jobs in the job collection.
      operationId: JobCollections_Disable
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The job collection name.
          in: path
          name: jobCollectionName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: All of the jobs in the job collection have been successfully disabled.
      tags:
        - JobCollections
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/enable":
    post:
      description: Enables all of the jobs in the job collection.
      operationId: JobCollections_Enable
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The job collection name.
          in: path
          name: jobCollectionName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: All of the jobs in the job collection have been successfully enabled.
      tags:
        - JobCollections
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs":
    get:
      description: Lists all jobs under the specified job collection.
      operationId: Jobs_List
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The job collection name.
          in: path
          name: jobCollectionName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
        - description: The number of jobs to request, in the of range [1..100].
          in: query
          name: $top
          required: false
          type: integer
        - description: The (0-based) index of the job history list from which to begin requesting entries.
          in: query
          name: $skip
          required: false
          type: integer
        - description: The filter to apply on the job state.
          in: query
          name: $filter
          required: false
          type: string
      responses:
        "200":
          description: The job has been successfully returned.
          schema:
            $ref: "#/definitions/JobListResult"
      tags:
        - Jobs
      x-ms-odata: "#/definitions/JobStateFilter"
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}":
    delete:
      description: Deletes a job.
      operationId: Jobs_Delete
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The job collection name.
          in: path
          name: jobCollectionName
          required: true
          type: string
        - description: The job name.
          in: path
          name: jobName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: The job has been successfully deleted.
      tags:
        - Jobs
    get:
      description: Gets a job.
      operationId: Jobs_Get
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The job collection name.
          in: path
          name: jobCollectionName
          required: true
          type: string
        - description: The job name.
          in: path
          name: jobName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: The job has been successfully returned.
          schema:
            $ref: "#/definitions/JobDefinition"
      tags:
        - Jobs
    patch:
      description: Patches an existing job.
      operationId: Jobs_Patch
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The job collection name.
          in: path
          name: jobCollectionName
          required: true
          type: string
        - description: The job name.
          in: path
          name: jobName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
        - description: The job definition.
          in: body
          name: job
          required: true
          schema:
            $ref: "#/definitions/JobDefinition"
      responses:
        "200":
          description: The job has been successfully patched.
          schema:
            $ref: "#/definitions/JobDefinition"
      tags:
        - Jobs
    put:
      description: Provisions a new job or updates an existing job.
      operationId: Jobs_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The job collection name.
          in: path
          name: jobCollectionName
          required: true
          type: string
        - description: The job name.
          in: path
          name: jobName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
        - description: The job definition.
          in: body
          name: job
          required: true
          schema:
            $ref: "#/definitions/JobDefinition"
      responses:
        "200":
          description: The job has been successfully updated.
          schema:
            $ref: "#/definitions/JobDefinition"
        "201":
          description: The job has been successfully created.
          schema:
            $ref: "#/definitions/JobDefinition"
      tags:
        - Jobs
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/history":
    get:
      description: Lists job history.
      operationId: Jobs_ListJobHistory
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The job collection name.
          in: path
          name: jobCollectionName
          required: true
          type: string
        - description: The job name.
          in: path
          name: jobName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
        - description: the number of job history to request, in the of range [1..100].
          in: query
          name: $top
          required: false
          type: integer
        - description: The (0-based) index of the job history list from which to begin requesting entries.
          in: query
          name: $skip
          required: false
          type: integer
        - description: The filter to apply on the job state.
          in: query
          name: $filter
          required: false
          type: string
      responses:
        "200":
          description: The job histories have been successfully returned.
          schema:
            $ref: "#/definitions/JobHistoryListResult"
      tags:
        - Jobs
      x-ms-odata: "#/definitions/JobHistoryFilter"
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/run":
    post:
      description: Runs a job.
      operationId: Jobs_Run
      parameters:
        - $ref: "#/parameters/subscriptionId"
        - description: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The job collection name.
          in: path
          name: jobCollectionName
          required: true
          type: string
        - description: The job name.
          in: path
          name: jobName
          required: true
          type: string
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: The job has been successfully run.
      tags:
        - Jobs
definitions:
  BasicAuthentication:
    allOf:
      - $ref: "#/definitions/HttpAuthentication"
    properties:
      password:
        description: Gets or sets the password.
        type: string
      username:
        description: Gets or sets the username.
        type: string
  ClientCertAuthentication:
    allOf:
      - $ref: "#/definitions/HttpAuthentication"
    properties:
      certificateExpirationDate:
        description: Gets or sets the certificate expiration date.
        format: date-time
        type: string
      certificateSubjectName:
        description: Gets or sets the certificate subject name.
        type: string
      certificateThumbprint:
        description: Gets or sets the certificate thumbprint.
        type: string
      password:
        description: Gets or sets the password.
        type: string
      pfx:
        description: Gets or sets the pfx.
        type: string
  HttpAuthentication:
    properties:
      type:
        description: Gets or sets the http authentication type.
        enum:
          - NotSpecified
          - ClientCertificate
          - ActiveDirectoryOAuth
          - Basic
        type: string
        x-ms-enum:
          modelAsString: false
          name: HttpAuthenticationType
  HttpRequest:
    properties:
      authentication:
        $ref: "#/definitions/HttpAuthentication"
        description: Gets or sets the http authentication.
      body:
        description: Gets or sets the request body.
        type: string
      headers:
        additionalProperties:
          type: string
        description: Gets or sets the headers.
        type: object
      method:
        description: Gets or sets the method of the request.
        type: string
      uri:
        description: Gets or sets the Uri.
        type: string
  JobAction:
    properties:
      errorAction:
        $ref: "#/definitions/JobErrorAction"
        description: Gets or sets the error action.
      queueMessage:
        $ref: "#/definitions/StorageQueueMessage"
        description: Gets or sets the storage queue message.
      request:
        $ref: "#/definitions/HttpRequest"
        description: Gets or sets the http requests.
      retryPolicy:
        $ref: "#/definitions/RetryPolicy"
        description: Gets or sets the retry policy.
      serviceBusQueueMessage:
        $ref: "#/definitions/ServiceBusQueueMessage"
        description: Gets or sets the service bus queue message.
      serviceBusTopicMessage:
        $ref: "#/definitions/ServiceBusTopicMessage"
        description: Gets or sets the service bus topic message.
      type:
        description: Gets or sets the job action type.
        enum:
          - Http
          - Https
          - StorageQueue
          - ServiceBusQueue
          - ServiceBusTopic
        type: string
        x-ms-enum:
          modelAsString: false
          name: JobActionType
  JobCollectionDefinition:
    properties:
      id:
        description: Gets the job collection resource identifier.
        readOnly: true
        type: string
      location:
        description: Gets or sets the storage account location.
        type: string
      name:
        description: Gets or sets the job collection resource name.
        type: string
      properties:
        $ref: "#/definitions/JobCollectionProperties"
        description: Gets or sets the job collection properties.
      tags:
        additionalProperties:
          type: string
        description: Gets or sets the tags.
        type: object
      type:
        description: Gets the job collection resource type.
        readOnly: true
        type: string
  JobCollectionListResult:
    properties:
      nextLink:
        description: Gets or sets the URL to get the next set of job collections.
        type: string
      value:
        description: Gets the job collections.
        items:
          $ref: "#/definitions/JobCollectionDefinition"
        readOnly: true
        type: array
  JobCollectionProperties:
    properties:
      quota:
        $ref: "#/definitions/JobCollectionQuota"
        description: Gets or sets the job collection quota.
      sku:
        $ref: "#/definitions/Sku"
        description: Gets or sets the SKU.
      state:
        description: Gets or sets the state.
        enum:
          - Enabled
          - Disabled
          - Suspended
          - Deleted
        type: string
        x-ms-enum:
          modelAsString: false
          name: JobCollectionState
  JobCollectionQuota:
    properties:
      maxJobCount:
        description: Gets or set the maximum job count.
        type: integer
      maxJobOccurrence:
        description: Gets or sets the maximum job occurrence.
        type: integer
      maxRecurrence:
        $ref: "#/definitions/JobMaxRecurrence"
        description: Gets or set the maximum recurrence.
  JobDefinition:
    properties:
      id:
        description: Gets the job resource identifier.
        readOnly: true
        type: string
      name:
        description: Gets the job resource name.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/JobProperties"
        description: Gets or sets the job properties.
      type:
        description: Gets the job resource type.
        readOnly: true
        type: string
  JobErrorAction:
    properties:
      queueMessage:
        $ref: "#/definitions/StorageQueueMessage"
        description: Gets or sets the storage queue message.
      request:
        $ref: "#/definitions/HttpRequest"
        description: Gets or sets the http requests.
      retryPolicy:
        $ref: "#/definitions/RetryPolicy"
        description: Gets or sets the retry policy.
      serviceBusQueueMessage:
        $ref: "#/definitions/ServiceBusQueueMessage"
        description: Gets or sets the service bus queue message.
      serviceBusTopicMessage:
        $ref: "#/definitions/ServiceBusTopicMessage"
        description: Gets or sets the service bus topic message.
      type:
        description: Gets or sets the job error action type.
        enum:
          - Http
          - Https
          - StorageQueue
          - ServiceBusQueue
          - ServiceBusTopic
        type: string
        x-ms-enum:
          modelAsString: false
          name: JobActionType
  JobExecutionStatus:
    description: Gets the job execution status.
    enum:
      - Completed
      - Failed
      - Postponed
    type: string
    x-ms-enum:
      modelAsString: false
      name: JobExecutionStatus
  JobHistoryDefinition:
    properties:
      id:
        description: Gets the job history identifier.
        readOnly: true
        type: string
      name:
        description: Gets the job history name.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/JobHistoryDefinitionProperties"
        description: Gets or sets the job history properties.
        readOnly: true
      type:
        description: Gets the job history resource type.
        readOnly: true
        type: string
  JobHistoryDefinitionProperties:
    properties:
      actionName:
        description: Gets the job history action name.
        enum:
          - MainAction
          - ErrorAction
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: JobHistoryActionName
      endTime:
        description: Gets the end time for this job.
        format: date-time
        readOnly: true
        type: string
      expectedExecutionTime:
        description: Gets the expected execution time for this job.
        format: date-time
        readOnly: true
        type: string
      message:
        description: Gets the message for the job history.
        readOnly: true
        type: string
      repeatCount:
        description: Gets the repeat count for the job.
        readOnly: true
        type: integer
      retryCount:
        description: Gets the retry count for job.
        readOnly: true
        type: integer
      startTime:
        description: Gets the start time for this job.
        format: date-time
        readOnly: true
        type: string
      status:
        $ref: "#/definitions/JobExecutionStatus"
        description: Gets the job history status.
        readOnly: true
  JobHistoryFilter:
    properties:
      status:
        $ref: "#/definitions/JobExecutionStatus"
        description: Gets or sets the job execution status.
    type: object
  JobHistoryListResult:
    properties:
      nextLink:
        description: Gets or sets the URL to get the next set of job histories.
        type: string
      value:
        description: Gets or sets the job histories under job.
        items:
          $ref: "#/definitions/JobHistoryDefinition"
        type: array
  JobListResult:
    properties:
      nextLink:
        description: Gets or sets the URL to get the next set of jobs.
        type: string
      value:
        description: Gets or sets all jobs under job collection.
        items:
          $ref: "#/definitions/JobDefinition"
        type: array
  JobMaxRecurrence:
    properties:
      frequency:
        description: Gets or sets the frequency of recurrence (second, minute, hour, day, week, month).
        enum:
          - Minute
          - Hour
          - Day
          - Week
          - Month
        type: string
        x-ms-enum:
          modelAsString: false
          name: RecurrenceFrequency
      interval:
        description: Gets or sets the interval between retries.
        type: integer
  JobProperties:
    properties:
      action:
        $ref: "#/definitions/JobAction"
        description: Gets or sets the job action.
      recurrence:
        $ref: "#/definitions/JobRecurrence"
        description: Gets or sets the job recurrence.
      startTime:
        description: Gets or sets the job start time.
        format: date-time
        type: string
      state:
        $ref: "#/definitions/JobState"
        description: Gets or set the job state.
      status:
        $ref: "#/definitions/JobStatus"
        description: Gets the job status.
        readOnly: true
  JobRecurrence:
    properties:
      count:
        description: Gets or sets the maximum number of times that the job should run.
        type: integer
      endTime:
        description: Gets or sets the time at which the job will complete.
        format: date-time
        type: string
      frequency:
        description: Gets or sets the frequency of recurrence (second, minute, hour, day, week, month).
        enum:
          - Minute
          - Hour
          - Day
          - Week
          - Month
        type: string
        x-ms-enum:
          modelAsString: false
          name: RecurrenceFrequency
      interval:
        description: Gets or sets the interval between retries.
        type: integer
      schedule:
        $ref: "#/definitions/JobRecurrenceSchedule"
  JobRecurrenceSchedule:
    properties:
      hours:
        description: Gets or sets the hours of the day that the job should execute at.
        items:
          type: integer
        type: array
      minutes:
        description: Gets or sets the minutes of the hour that the job should execute at.
        items:
          type: integer
        type: array
      monthDays:
        description: Gets or sets the days of the month that the job should execute on. Must be between 1 and 31.
        items:
          type: integer
        type: array
      monthlyOccurrences:
        description: Gets or sets the occurrences of days within a month.
        items:
          $ref: "#/definitions/JobRecurrenceScheduleMonthlyOccurrence"
        type: array
      weekDays:
        description: Gets or sets the days of the week that the job should execute on.
        items:
          enum:
            - Monday
            - Tuesday
            - Wednesday
            - Thursday
            - Friday
            - Saturday
            - Sunday
          type: string
          x-ms-enum:
            modelAsString: false
            name: DayOfWeek
        type: array
  JobRecurrenceScheduleMonthlyOccurrence:
    properties:
      Occurrence:
        description: Gets or sets the occurrence. Must be between -5 and 5.
        type: integer
      day:
        description: Gets or sets the day. Must be one of monday, tuesday, wednesday, thursday, friday, saturday, sunday.
        enum:
          - Monday
          - Tuesday
          - Wednesday
          - Thursday
          - Friday
          - Saturday
          - Sunday
        type: string
        x-ms-enum:
          modelAsString: false
          name: JobScheduleDay
  JobState:
    description: Gets or set the job state.
    enum:
      - Enabled
      - Disabled
      - Faulted
      - Completed
    type: string
    x-ms-enum:
      modelAsString: false
      name: JobState
  JobStateFilter:
    properties:
      state:
        $ref: "#/definitions/JobState"
        description: Gets or sets the job state.
    type: object
  JobStatus:
    properties:
      executionCount:
        description: Gets the number of times this job has executed.
        readOnly: true
        type: integer
      failureCount:
        description: Gets the number of times this job has failed.
        readOnly: true
        type: integer
      faultedCount:
        description: Gets the number of faulted occurrences (occurrences that were retried and failed as many times as the retry policy states).
        readOnly: true
        type: integer
      lastExecutionTime:
        description: Gets the time the last occurrence executed in ISO-8601 format.  Could be empty if job has not run yet.
        format: date-time
        readOnly: true
        type: string
      nextExecutionTime:
        description: Gets the time of the next occurrence in ISO-8601 format. Could be empty if the job is completed.
        format: date-time
        readOnly: true
        type: string
  OAuthAuthentication:
    allOf:
      - $ref: "#/definitions/HttpAuthentication"
    properties:
      audience:
        description: Gets or sets the audience.
        type: string
      clientId:
        description: Gets or sets the client identifier.
        type: string
      secret:
        description: Gets or sets the secret.
        type: string
      tenant:
        description: Gets or sets the tenant.
        type: string
  RecurrenceFrequency:
    description: Gets or sets the frequency of recurrence (minute, hour, day, week, month).
    enum:
      - Minute
      - Hour
      - Day
      - Week
      - Month
    type: string
    x-ms-enum:
      modelAsString: false
      name: RecurrenceFrequency
  RetryPolicy:
    properties:
      retryCount:
        description: Gets or sets the number of times a retry should be attempted.
        type: integer
      retryInterval:
        description: Gets or sets the retry interval between retries.
        format: duration
        type: string
      retryType:
        description: Gets or sets the retry strategy to be used.
        enum:
          - None
          - Fixed
        type: string
        x-ms-enum:
          modelAsString: false
          name: RetryType
  ServiceBusAuthentication:
    properties:
      sasKey:
        description: Gets or sets the SAS key.
        type: string
      sasKeyName:
        description: Gets or sets the SAS key name.
        type: string
      type:
        description: Gets or sets the authentication type.
        enum:
          - NotSpecified
          - SharedAccessKey
        type: string
        x-ms-enum:
          modelAsString: false
          name: ServiceBusAuthenticationType
  ServiceBusBrokeredMessageProperties:
    properties:
      contentType:
        description: Gets or sets the content type.
        type: string
      correlationId:
        description: Gets or sets the correlation id.
        type: string
      forcePersistence:
        description: Gets or sets the force persistence.
        type: boolean
      label:
        description: Gets or sets the label.
        type: string
      messageId:
        description: Gets or sets the message id.
        type: string
      partitionKey:
        description: Gets or sets the partition key.
        type: string
      replyTo:
        description: Gets or sets the reply to.
        type: string
      replyToSessionId:
        description: Gets or sets the reply to session id.
        type: string
      scheduledEnqueueTimeUtc:
        description: Gets or sets the scheduled enqueue time UTC.
        format: date-time
        type: string
      sessionId:
        description: Gets or sets the session id.
        type: string
      timeToLive:
        description: Gets or sets the time to live.
        format: date-time
        type: string
      to:
        description: Gets or sets the to.
        type: string
      viaPartitionKey:
        description: Gets or sets the via partition key.
        type: string
  ServiceBusMessage:
    properties:
      authentication:
        $ref: "#/definitions/ServiceBusAuthentication"
        description: Gets or sets the authentication.
      brokeredMessageProperties:
        $ref: "#/definitions/ServiceBusBrokeredMessageProperties"
        description: Gets or sets the brokered message properties.
      customMessageProperties:
        additionalProperties:
          type: string
        description: Gets or sets the custom message properties.
        type: object
      message:
        description: Gets or sets the message.
        type: string
      namespace:
        description: Gets or sets the namespace.
        type: string
      transportType:
        description: Gets or sets the transport type.
        enum:
          - NotSpecified
          - NetMessaging
          - AMQP
        type: string
        x-ms-enum:
          modelAsString: false
          name: ServiceBusTransportType
  ServiceBusQueueMessage:
    allOf:
      - $ref: "#/definitions/ServiceBusMessage"
    properties:
      queueName:
        description: Gets or sets the queue name.
        type: string
  ServiceBusTopicMessage:
    allOf:
      - $ref: "#/definitions/ServiceBusMessage"
    properties:
      topicPath:
        description: Gets or sets the topic path.
        type: string
  Sku:
    properties:
      name:
        description: Gets or set the SKU.
        enum:
          - Standard
          - Free
          - Premium
        type: string
        x-ms-enum:
          modelAsString: false
          name: SkuDefinition
  StorageQueueMessage:
    properties:
      message:
        description: Gets or sets the message.
        type: string
      queueName:
        description: Gets or sets the queue name.
        type: string
      sasToken:
        description: Gets or sets the SAS key.
        type: string
      storageAccount:
        description: Gets or sets the storage account name.
        type: string
