swagger: '2.0'
schemes:
  - https
host: management.azure.com
info:
  title: ContainerRegistryManagementClient
  version: 2019-12-01-preview
  x-apisguru-categories:
    - cloud
  x-logo:
    url: '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/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json'
      version: '2.0'
  x-preferred: false
  x-providerName: azure.com
  x-serviceName: containerregistry
  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:
  ApiVersionParameter:
    description: The client API version.
    in: query
    name: api-version
    required: true
    type: string
  RegistryNameParameter:
    description: The name of the container registry.
    in: path
    maxLength: 50
    minLength: 5
    name: registryName
    pattern: '^[a-zA-Z0-9]*$'
    required: true
    type: string
    x-ms-parameter-location: method
  ReplicationNameParameter:
    description: The name of the replication.
    in: path
    maxLength: 50
    minLength: 5
    name: replicationName
    pattern: '^[a-zA-Z0-9]*$'
    required: true
    type: string
    x-ms-parameter-location: method
  ResourceGroupParameter:
    description: The name of the resource group to which the container registry belongs.
    in: path
    minLength: 1
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionIdParameter:
    description: The Microsoft Azure subscription ID.
    in: path
    name: subscriptionId
    required: true
    type: string
  WebhookNameParameter:
    description: The name of the webhook.
    in: path
    maxLength: 50
    minLength: 5
    name: webhookName
    pattern: '^[a-zA-Z0-9]*$'
    required: true
    type: string
    x-ms-parameter-location: method
paths:
  /providers/Microsoft.ContainerRegistry/operations:
    get:
      description: Lists all of the available Azure Container Registry REST API operations.
      operationId: Operations_List
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/OperationListResult'
      tags:
        - Operation
      x-ms-pageable:
        nextLinkName: nextLink
  '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability':
    post:
      description: 'Checks whether the container registry name is available for use. The name must contain only alphanumeric characters, be globally unique, and between 5 and 50 characters in length.'
      operationId: Registries_CheckNameAvailability
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - description: The object containing information for the availability request.
          in: body
          name: registryNameCheckRequest
          required: true
          schema:
            $ref: '#/definitions/RegistryNameCheckRequest'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/RegistryNameStatus'
      tags:
        - Operation
      x-ms-examples:
        RegistryCheckNameAvailable:
          parameters:
            api-version: 2019-12-01-preview
            registryNameCheckRequest:
              name: myRegistry
              type: Microsoft.ContainerRegistry/registries
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                nameAvailable: true
        RegistryCheckNameNotAvailable:
          parameters:
            api-version: 2019-12-01-preview
            registryNameCheckRequest:
              name: myRegistry
              type: Microsoft.ContainerRegistry/registries
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                message: The registry myRegistry is already in use.
                nameAvailable: false
                reason: AlreadyExists
  '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries':
    get:
      description: Lists all the container registries under the specified subscription.
      operationId: Registries_List
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/RegistryListResult'
      tags:
        - Registries
      x-ms-examples:
        RegistryList:
          parameters:
            api-version: 2019-12-01-preview
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry
                    location: westus
                    name: myRegistry
                    properties:
                      adminUserEnabled: true
                      creationDate: '2017-03-01T23:14:37.0707808Z'
                      loginServer: myregistry.azurecr.io
                      provisioningState: Succeeded
                      status:
                        displayStatus: Ready
                        message: The registry is ready.
                        timestamp: '2017-03-01T23:15:37.0707808Z'
                    sku:
                      name: Standard
                      tier: Standard
                    tags:
                      key: value
                    type: Microsoft.ContainerRegistry/registries
      x-ms-pageable:
        nextLinkName: nextLink
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries':
    get:
      description: Lists all the container registries under the specified resource group.
      operationId: Registries_ListByResourceGroup
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/RegistryListResult'
      tags:
        - Registries
      x-ms-examples:
        RegistryListByResourceGroup:
          parameters:
            api-version: 2019-12-01-preview
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry
                    location: westus
                    name: myRegistry
                    properties:
                      adminUserEnabled: true
                      creationDate: '2017-03-01T23:14:37.0707808Z'
                      loginServer: myregistry.azurecr.io
                      provisioningState: Succeeded
                      status:
                        displayStatus: Ready
                        message: The registry is ready.
                        timestamp: '2017-03-01T23:15:37.0707808Z'
                    sku:
                      name: Standard
                      tier: Standard
                    tags:
                      key: value
                    type: Microsoft.ContainerRegistry/registries
      x-ms-pageable:
        nextLinkName: nextLink
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}':
    delete:
      description: Deletes a container registry.
      operationId: Registries_Delete
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
        '202':
          description: The request was successful; the operation will complete asynchronously.
        '204':
          description: The container registry does not exist in the subscription.
      tags:
        - Registries
      x-ms-examples:
        RegistryDelete:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200': {}
            '202': {}
            '204': {}
      x-ms-long-running-operation: true
    get:
      description: Gets the properties of the specified container registry.
      operationId: Registries_Get
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/Registry'
      tags:
        - Registries
      x-ms-examples:
        RegistryGet:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry
                location: westus
                name: myRegistry
                properties:
                  adminUserEnabled: true
                  creationDate: '2017-03-01T23:14:37.0707808Z'
                  loginServer: myregistry.azurecr.io
                  provisioningState: Succeeded
                  status:
                    displayStatus: Ready
                    message: The registry is ready.
                    timestamp: '2017-03-01T23:15:37.0707808Z'
                sku:
                  name: Standard
                  tier: Standard
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries
    patch:
      description: Updates a container registry with the specified parameters.
      operationId: Registries_Update
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - description: The parameters for updating a container registry.
          in: body
          name: registryUpdateParameters
          required: true
          schema:
            $ref: '#/definitions/RegistryUpdateParameters'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/Registry'
        '201':
          description: The request was successful; the operation will complete asynchronously.
          schema:
            $ref: '#/definitions/Registry'
      tags:
        - Registries
      x-ms-examples:
        RegistryUpdate:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            registryUpdateParameters:
              properties:
                adminUserEnabled: true
              sku:
                name: Standard
              tags:
                key: value
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry
                location: westus
                name: myRegistry
                properties:
                  adminUserEnabled: true
                  creationDate: '2017-03-01T23:14:37.0707808Z'
                  loginServer: myregistry.azurecr.io
                  provisioningState: Succeeded
                  status:
                    displayStatus: Ready
                    message: The registry is ready.
                    timestamp: '2017-03-01T23:15:37.0707808Z'
                sku:
                  name: Standard
                  tier: Standard
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries
            '201':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry
                location: westus
                name: myRegistry
                properties:
                  adminUserEnabled: true
                  creationDate: '2017-03-01T23:14:37.0707808Z'
                  loginServer: myregistry.azurecr.io
                  provisioningState: Updating
                  status:
                    displayStatus: Provisioning
                    message: The registry is provisioning.
                    timestamp: '2017-03-01T23:15:37.0707808Z'
                sku:
                  name: Standard
                  tier: Standard
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries
      x-ms-long-running-operation: true
    put:
      description: Creates a container registry with the specified parameters.
      operationId: Registries_Create
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - description: The parameters for creating a container registry.
          in: body
          name: registry
          required: true
          schema:
            $ref: '#/definitions/Registry'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/Registry'
        '201':
          description: The request was successful; the operation will complete asynchronously.
          schema:
            $ref: '#/definitions/Registry'
      tags:
        - Registries
      x-ms-examples:
        RegistryCreate:
          parameters:
            api-version: 2019-12-01-preview
            registry:
              location: westus
              properties:
                adminUserEnabled: true
              sku:
                name: Standard
              tags:
                key: value
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry
                location: westus
                name: myRegistry
                properties:
                  adminUserEnabled: true
                  creationDate: '2017-03-01T23:14:37.0707808Z'
                  loginServer: myregistry.azurecr.io
                  provisioningState: Succeeded
                  status:
                    displayStatus: Ready
                    message: The registry is ready.
                    timestamp: '2017-03-01T23:15:37.0707808Z'
                sku:
                  name: Standard
                  tier: Standard
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries
            '201':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry
                location: westus
                name: myRegistry
                properties:
                  adminUserEnabled: true
                  creationDate: '2017-03-01T23:14:37.0707808Z'
                  loginServer: myregistry.azurecr.io
                  provisioningState: Creating
                  status:
                    displayStatus: Provisioning
                    message: The registry is provisioning.
                    timestamp: '2017-03-01T23:15:37.0707808Z'
                sku:
                  name: Standard
                  tier: Standard
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries
      x-ms-long-running-operation: true
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage':
    post:
      description: Copies an image to this container registry from the specified container registry.
      operationId: Registries_ImportImage
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - description: The parameters specifying the image to copy and the source container registry.
          in: body
          name: parameters
          required: true
          schema:
            $ref: '#/definitions/ImportImageParameters'
      responses:
        '200':
          description: The request was successful; the operation has completed successfully.
        '202':
          description: The request was successful; the operation will complete asynchronously.
      tags:
        - Registries
      x-ms-examples:
        ImportImageByManifestDigest:
          parameters:
            api-version: 2019-12-01-preview
            parameters:
              mode: Force
              source:
                resourceId: /subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry
                sourceImage: 'sourceRepository@sha256:0000000000000000000000000000000000000000000000000000000000000000'
              targetTags:
                - 'targetRepository:targetTag'
              untaggedTargetRepositories:
                - targetRepository1
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200': {}
            '202': {}
        ImportImageByTag:
          parameters:
            api-version: 2019-12-01-preview
            parameters:
              mode: Force
              source:
                resourceId: /subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry
                sourceImage: 'sourceRepository:sourceTag'
              targetTags:
                - 'targetRepository:targetTag'
              untaggedTargetRepositories:
                - targetRepository1
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200': {}
            '202': {}
        ImportImageFromPublicRegistry:
          parameters:
            api-version: 2019-12-01-preview
            parameters:
              mode: Force
              source:
                registryUri: registry.hub.docker.com
                sourceImage: library/hello-world
              targetTags:
                - 'targetRepository:targetTag'
              untaggedTargetRepositories:
                - targetRepository1
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200': {}
            '202': {}
      x-ms-long-running-operation: true
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials':
    post:
      description: Lists the login credentials for the specified container registry.
      operationId: Registries_ListCredentials
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
      responses:
        '200':
          description: The request was successful; the list of credentials retrieved and returned successfully.
          schema:
            $ref: '#/definitions/RegistryListCredentialsResult'
      tags:
        - Registries
      x-ms-examples:
        RegistryListCredentials:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                passwords:
                  - name: password
                    value: '00000000000000000000000000000000'
                  - name: password2
                    value: '00000000000000000000000000000000'
                username: myRegistry
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages':
    get:
      description: Gets the quota usages for the specified container registry.
      operationId: Registries_ListUsages
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
      responses:
        '200':
          description: The request was successful; the registry usages retrieved and returned successfully.
          schema:
            $ref: '#/definitions/RegistryUsageListResult'
      tags:
        - Registries
      x-ms-examples:
        RegistryListUsages:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                value:
                  - currentValue: 12345678
                    limit: 107374182400
                    name: Size
                    unit: Bytes
                  - currentValue: 2
                    limit: 10
                    name: Webhooks
                    unit: Count
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential':
    post:
      description: Regenerates one of the login credentials for the specified container registry.
      operationId: Registries_RegenerateCredential
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - description: Specifies name of the password which should be regenerated -- password or password2.
          in: body
          name: regenerateCredentialParameters
          required: true
          schema:
            $ref: '#/definitions/RegenerateCredentialParameters'
      responses:
        '200':
          description: The request was successful; the specified credential regenerated successfully.
          schema:
            $ref: '#/definitions/RegistryListCredentialsResult'
      tags:
        - Registries
      x-ms-examples:
        RegistryRegenerateCredential:
          parameters:
            api-version: 2019-12-01-preview
            regenerateCredentialParameters:
              name: password
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                passwords:
                  - name: password
                    value: '00000000000000000000000000000000'
                  - name: password2
                    value: '00000000000000000000000000000000'
                username: myRegistry
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications':
    get:
      description: Lists all the replications for the specified container registry.
      operationId: Replications_List
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/ReplicationListResult'
      tags:
        - Replications
      x-ms-examples:
        ReplicationList:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication
                    location: eastus
                    name: myReplication
                    properties:
                      provisioningState: Succeeded
                      status:
                        displayStatus: Ready
                        message: The replication is ready.
                        timestamp: '2017-03-01T23:15:37.0707808Z'
                    tags:
                      key: value
                    type: Microsoft.ContainerRegistry/registries/replications
      x-ms-pageable:
        nextLinkName: nextLink
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}':
    delete:
      description: Deletes a replication from a container registry.
      operationId: Replications_Delete
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - $ref: '#/parameters/ReplicationNameParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
        '202':
          description: The request was successful; the operation will complete asynchronously.
        '204':
          description: The replication does not exist in the subscription.
      tags:
        - Replications
      x-ms-examples:
        ReplicationDelete:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            replicationName: myReplication
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200': {}
            '202': {}
            '204': {}
      x-ms-long-running-operation: true
    get:
      description: Gets the properties of the specified replication.
      operationId: Replications_Get
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - $ref: '#/parameters/ReplicationNameParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/Replication'
      tags:
        - Replications
      x-ms-examples:
        ReplicationGet:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            replicationName: myReplication
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication
                location: eastus
                name: myReplication
                properties:
                  provisioningState: Succeeded
                  status:
                    displayStatus: Ready
                    message: The replication is ready.
                    timestamp: '2017-03-01T23:15:37.0707808Z'
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries/replications
    patch:
      description: Updates a replication for a container registry with the specified parameters.
      operationId: Replications_Update
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - $ref: '#/parameters/ReplicationNameParameter'
        - description: The parameters for updating a replication.
          in: body
          name: replicationUpdateParameters
          required: true
          schema:
            $ref: '#/definitions/ReplicationUpdateParameters'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/Replication'
        '201':
          description: The request was successful; the operation will complete asynchronously.
          schema:
            $ref: '#/definitions/Replication'
      tags:
        - Replications
      x-ms-examples:
        ReplicationUpdate:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            replicationName: myReplication
            replicationUpdateParameters:
              tags:
                key: value
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication
                location: eastus
                name: myReplication
                properties:
                  provisioningState: Succeeded
                  status:
                    displayStatus: Ready
                    message: The replication is ready.
                    timestamp: '2017-03-01T23:15:37.0707808Z'
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries/replications
            '201':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication
                location: eastus
                name: myReplication
                properties:
                  provisioningState: Updating
                  status:
                    displayStatus: Provisioning
                    message: The replication is provisioning.
                    timestamp: '2017-03-01T23:15:37.0707808Z'
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries/replications
      x-ms-long-running-operation: true
    put:
      description: Creates a replication for a container registry with the specified parameters.
      operationId: Replications_Create
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - $ref: '#/parameters/ReplicationNameParameter'
        - description: The parameters for creating a replication.
          in: body
          name: replication
          required: true
          schema:
            $ref: '#/definitions/Replication'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/Replication'
        '201':
          description: The request was successful; the operation will complete asynchronously.
          schema:
            $ref: '#/definitions/Replication'
      tags:
        - Replications
      x-ms-examples:
        ReplicationCreate:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            replication:
              location: eastus
              tags:
                key: value
            replicationName: myReplication
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication
                location: eastus
                name: myReplication
                properties:
                  provisioningState: Succeeded
                  status:
                    displayStatus: Ready
                    message: The replication is ready.
                    timestamp: '2017-03-01T23:15:37.0707808Z'
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries/replications
            '201':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication
                location: eastus
                name: myReplication
                properties:
                  provisioningState: Creating
                  status:
                    displayStatus: Provisioning
                    message: The replication is provisioning.
                    timestamp: '2017-03-01T23:15:37.0707808Z'
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries/replications
      x-ms-long-running-operation: true
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks':
    get:
      description: Lists all the webhooks for the specified container registry.
      operationId: Webhooks_List
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/WebhookListResult'
      tags:
        - Webhooks
      x-ms-examples:
        WebhookList:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            '200':
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook
                    location: westus
                    name: myWebhook
                    properties:
                      actions:
                        - push
                      provisioningState: Succeeded
                      scope: myRepository
                      status: enabled
                    tags:
                      key: value
                    type: Microsoft.ContainerRegistry/registries/webhooks
      x-ms-pageable:
        nextLinkName: nextLink
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}':
    delete:
      description: Deletes a webhook from a container registry.
      operationId: Webhooks_Delete
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - $ref: '#/parameters/WebhookNameParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
        '202':
          description: The request was successful; the operation will complete asynchronously.
        '204':
          description: The webhook does not exist in the subscription.
      tags:
        - Webhooks
      x-ms-examples:
        WebhookDelete:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
            webhookName: myWebhook
          responses:
            '200': {}
            '202': {}
            '204': {}
      x-ms-long-running-operation: true
    get:
      description: Gets the properties of the specified webhook.
      operationId: Webhooks_Get
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - $ref: '#/parameters/WebhookNameParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/Webhook'
      tags:
        - Webhooks
      x-ms-examples:
        WebhookGet:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
            webhookName: myWebhook
          responses:
            '200':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook
                location: westus
                name: myWebhook
                properties:
                  actions:
                    - push
                  provisioningState: Succeeded
                  scope: myRepository
                  status: enabled
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries/webhooks
    patch:
      description: Updates a webhook with the specified parameters.
      operationId: Webhooks_Update
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - $ref: '#/parameters/WebhookNameParameter'
        - description: The parameters for updating a webhook.
          in: body
          name: webhookUpdateParameters
          required: true
          schema:
            $ref: '#/definitions/WebhookUpdateParameters'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/Webhook'
        '201':
          description: The request was successful; the operation will complete asynchronously.
          schema:
            $ref: '#/definitions/Webhook'
      tags:
        - Webhooks
      x-ms-examples:
        WebhookUpdate:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
            webhookName: myWebhook
            webhookUpdateParameters:
              properties:
                actions:
                  - push
                customHeaders:
                  Authorization: Basic 000000000000000000000000000000000000000000000000000
                scope: myRepository
                serviceUri: 'http://myservice.com'
                status: enabled
              tags:
                key: value
          responses:
            '200':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook
                location: westus
                name: myWebhook
                properties:
                  actions:
                    - push
                  provisioningState: Succeeded
                  scope: myRepository
                  status: enabled
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries/webhooks
            '201':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook
                location: westus
                name: myWebhook
                properties:
                  actions:
                    - push
                  provisioningState: Updating
                  scope: myRepository
                  status: enabled
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries/webhooks
      x-ms-long-running-operation: true
    put:
      description: Creates a webhook for a container registry with the specified parameters.
      operationId: Webhooks_Create
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - $ref: '#/parameters/WebhookNameParameter'
        - description: The parameters for creating a webhook.
          in: body
          name: webhookCreateParameters
          required: true
          schema:
            $ref: '#/definitions/WebhookCreateParameters'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/Webhook'
        '201':
          description: The request was successful; the operation will complete asynchronously.
          schema:
            $ref: '#/definitions/Webhook'
      tags:
        - Webhooks
      x-ms-examples:
        WebhookCreate:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
            webhookCreateParameters:
              location: westus
              properties:
                actions:
                  - push
                customHeaders:
                  Authorization: Basic 000000000000000000000000000000000000000000000000000
                scope: myRepository
                serviceUri: 'http://myservice.com'
                status: enabled
              tags:
                key: value
            webhookName: myWebhook
          responses:
            '200':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook
                location: westus
                name: myWebhook
                properties:
                  actions:
                    - push
                  provisioningState: Succeeded
                  scope: myRepository
                  status: enabled
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries/webhooks
            '201':
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook
                location: westus
                name: myWebhook
                properties:
                  actions:
                    - push
                  provisioningState: Creating
                  scope: myRepository
                  status: enabled
                tags:
                  key: value
                type: Microsoft.ContainerRegistry/registries/webhooks
      x-ms-long-running-operation: true
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig':
    post:
      description: Gets the configuration of service URI and custom headers for the webhook.
      operationId: Webhooks_GetCallbackConfig
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - $ref: '#/parameters/WebhookNameParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/CallbackConfig'
      tags:
        - Webhooks
      x-ms-examples:
        WebhookGetCallbackConfig:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
            webhookName: myWebhook
          responses:
            '200':
              body:
                customHeaders:
                  Authorization: Basic 000000000000000000000000000000000000000000000000000
                serviceUri: 'http://myservice.com'
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents':
    post:
      description: Lists recent events for the specified webhook.
      operationId: Webhooks_ListEvents
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - $ref: '#/parameters/WebhookNameParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/EventListResult'
      tags:
        - Webhooks
      x-ms-examples:
        WebhookListEvents:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
            webhookName: myWebhook
          responses:
            '200':
              body:
                value:
                  - eventRequestMessage:
                      content:
                        action: push
                        actor: {}
                        id: 00000000-0000-0000-0000-000000000000
                        request:
                          addr: '192.168.64.11:42961'
                          host: '192.168.100.227:5000'
                          id: 00000000-0000-0000-0000-000000000000
                          method: GET
                          useragent: curl/7.38.0
                        source:
                          addr: 'xtal.local:5000'
                          instanceID: 00000000-0000-0000-0000-000000000000
                        target:
                          digest: 'sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf'
                          length: 708
                          mediaType: application/vnd.docker.distribution.manifest.v2+json
                          repository: hello-world
                          size: 708
                          tag: latest
                          url: 'http://192.168.100.227:5000/v2/hello-world/manifests/sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf'
                        timestamp: '2017-03-01T23:14:37.0707808Z'
                      headers:
                        Authorization: '******'
                        Content-Length: '719'
                        Content-Type: application/json
                      method: POST
                      requestUri: 'http://myservice.com'
                      version: '1.1'
                    eventResponseMessage:
                      headers:
                        Content-Length: '0'
                      statusCode: '200'
                      version: '1.1'
                    id: 00000000-0000-0000-0000-000000000000
      x-ms-pageable:
        nextLinkName: nextLink
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping':
    post:
      description: Triggers a ping event to be sent to the webhook.
      operationId: Webhooks_Ping
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - $ref: '#/parameters/ResourceGroupParameter'
        - $ref: '#/parameters/RegistryNameParameter'
        - $ref: '#/parameters/WebhookNameParameter'
      responses:
        '200':
          description: The request was successful; the request was well-formed and received properly.
          schema:
            $ref: '#/definitions/EventInfo'
      tags:
        - Webhooks
      x-ms-examples:
        WebhookPing:
          parameters:
            api-version: 2019-12-01-preview
            registryName: myRegistry
            resourceGroupName: myResourceGroup
            subscriptionId: 00000000-0000-0000-0000-000000000000
            webhookName: myWebhook
          responses:
            '200':
              body:
                id: 00000000-0000-0000-0000-000000000000
definitions:
  Actor:
    description: 'The agent that initiated the event. For most situations, this could be from the authorization context of the request.'
    properties:
      name:
        description: The subject or username associated with the request context that generated the event.
        type: string
    type: object
  CallbackConfig:
    description: The configuration of service URI and custom headers for the webhook.
    properties:
      customHeaders:
        additionalProperties:
          type: string
        description: Custom headers that will be added to the webhook notifications.
        type: object
      serviceUri:
        description: The service URI for the webhook to post notifications.
        type: string
    required:
      - serviceUri
    type: object
  EncryptionProperty:
    properties:
      keyVaultProperties:
        $ref: '#/definitions/KeyVaultProperties'
        description: Key vault properties.
      status:
        description: Indicates whether or not the encryption is enabled for container registry.
        enum:
          - enabled
          - disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: EncryptionStatus
    type: object
  Event:
    allOf:
      - $ref: '#/definitions/EventInfo'
    description: The event for a webhook.
    properties:
      eventRequestMessage:
        $ref: '#/definitions/EventRequestMessage'
        description: The event request message sent to the service URI.
      eventResponseMessage:
        $ref: '#/definitions/EventResponseMessage'
        description: The event response message received from the service URI.
    type: object
  EventContent:
    description: The content of the event request message.
    properties:
      action:
        description: The action that encompasses the provided event.
        type: string
      actor:
        $ref: '#/definitions/Actor'
        description: 'The agent that initiated the event. For most situations, this could be from the authorization context of the request.'
      id:
        description: The event ID.
        type: string
      request:
        $ref: '#/definitions/Request'
        description: The request that generated the event.
      source:
        $ref: '#/definitions/Source'
        description: 'The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it.'
      target:
        $ref: '#/definitions/Target'
        description: The target of the event.
      timestamp:
        description: The time at which the event occurred.
        format: date-time
        type: string
    type: object
  EventInfo:
    description: The basic information of an event.
    properties:
      id:
        description: The event ID.
        type: string
    type: object
  EventListResult:
    description: The result of a request to list events for a webhook.
    properties:
      nextLink:
        description: The URI that can be used to request the next list of events.
        type: string
      value:
        description: 'The list of events. Since this list may be incomplete, the nextLink field should be used to request the next list of events.'
        items:
          $ref: '#/definitions/Event'
        type: array
    type: object
  EventRequestMessage:
    description: The event request message sent to the service URI.
    properties:
      content:
        $ref: '#/definitions/EventContent'
        description: The content of the event request message.
      headers:
        additionalProperties:
          type: string
        description: The headers of the event request message.
        type: object
      method:
        description: The HTTP method used to send the event request message.
        type: string
      requestUri:
        description: The URI used to send the event request message.
        type: string
      version:
        description: The HTTP message version.
        type: string
    type: object
  EventResponseMessage:
    description: The event response message received from the service URI.
    properties:
      content:
        description: The content of the event response message.
        type: string
      headers:
        additionalProperties:
          type: string
        description: The headers of the event response message.
        type: object
      reasonPhrase:
        description: The reason phrase of the event response message.
        type: string
      statusCode:
        description: The status code of the event response message.
        type: string
      version:
        description: The HTTP message version.
        type: string
    type: object
  IPRule:
    description: IP rule with specific IP or IP range in CIDR format.
    properties:
      action:
        default: Allow
        description: The action of IP ACL rule.
        enum:
          - Allow
        type: string
        x-ms-enum:
          modelAsString: true
          name: Action
      value:
        description: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.
        type: string
        x-ms-client-name: IPAddressOrRange
    required:
      - value
    type: object
  IdentityProperties:
    description: Managed identity for the resource.
    properties:
      principalId:
        description: The principal ID of resource identity.
        type: string
      tenantId:
        description: The tenant ID of resource.
        type: string
      type:
        description: The identity type.
        enum:
          - SystemAssigned
          - UserAssigned
          - 'SystemAssigned, UserAssigned'
          - None
        type: string
        x-ms-enum:
          modelAsString: false
          name: ResourceIdentityType
      userAssignedIdentities:
        additionalProperties:
          $ref: '#/definitions/UserIdentityProperties'
        description: "The list of user identities associated with the resource. The user identity \r\ndictionary key references will be ARM resource ids in the form: \r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/\r\n    providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
        type: object
    type: object
  ImportImageParameters:
    properties:
      mode:
        default: NoForce
        description: 'When Force, any existing target tags will be overwritten. When NoForce, any existing target tags will fail the operation before any copying begins.'
        enum:
          - NoForce
          - Force
        type: string
        x-ms-enum:
          modelAsString: true
          name: ImportMode
      source:
        $ref: '#/definitions/ImportSource'
        description: The source of the image.
      targetTags:
        description: 'List of strings of the form repo[:tag]. When tag is omitted the source will be used (or ''latest'' if source tag is also omitted).'
        items:
          type: string
        type: array
      untaggedTargetRepositories:
        description: List of strings of repository names to do a manifest only copy. No tag will be created.
        items:
          type: string
        type: array
    required:
      - source
    type: object
  ImportSource:
    properties:
      credentials:
        $ref: '#/definitions/ImportSourceCredentials'
        description: Credentials used when importing from a registry uri.
      registryUri:
        description: The address of the source registry (e.g. 'mcr.microsoft.com').
        type: string
      resourceId:
        description: The resource identifier of the source Azure Container Registry.
        type: string
      sourceImage:
        description: "Repository name of the source image.\r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123')."
        type: string
    required:
      - sourceImage
    type: object
  ImportSourceCredentials:
    properties:
      password:
        description: The password used to authenticate with the source registry.
        type: string
      username:
        description: The username to authenticate with the source registry.
        type: string
    required:
      - password
    type: object
  KeyVaultProperties:
    properties:
      identity:
        description: The client id of the identity which will be used to access key vault.
        type: string
      keyIdentifier:
        description: Key vault uri to access the encryption key.
        type: string
    type: object
  NetworkRuleSet:
    description: The network rule set for a container registry.
    properties:
      defaultAction:
        default: Allow
        description: The default action of allow or deny when no other rules match.
        enum:
          - Allow
          - Deny
        type: string
        x-ms-enum:
          modelAsString: true
          name: DefaultAction
      ipRules:
        description: The IP ACL rules.
        items:
          $ref: '#/definitions/IPRule'
        type: array
      virtualNetworkRules:
        description: The virtual network rules.
        items:
          $ref: '#/definitions/VirtualNetworkRule'
        type: array
    required:
      - defaultAction
    type: object
  OperationDefinition:
    description: The definition of a container registry operation.
    properties:
      display:
        $ref: '#/definitions/OperationDisplayDefinition'
        description: The display information for the container registry operation.
      name:
        description: 'Operation name: {provider}/{resource}/{operation}.'
        type: string
      origin:
        description: The origin information of the container registry operation.
        type: string
      properties:
        $ref: '#/definitions/OperationPropertiesDefinition'
        description: The properties information for the container registry operation.
        x-ms-client-flatten: true
    type: object
  OperationDisplayDefinition:
    description: The display information for a container registry operation.
    properties:
      description:
        description: The description for the operation.
        type: string
      operation:
        description: The operation that users can perform.
        type: string
      provider:
        description: 'The resource provider name: Microsoft.ContainerRegistry.'
        type: string
      resource:
        description: The resource on which the operation is performed.
        type: string
    type: object
  OperationListResult:
    description: The result of a request to list container registry operations.
    properties:
      nextLink:
        description: The URI that can be used to request the next list of container registry operations.
        type: string
      value:
        description: 'The list of container registry operations. Since this list may be incomplete, the nextLink field should be used to request the next list of operations.'
        items:
          $ref: '#/definitions/OperationDefinition'
        type: array
    type: object
  OperationMetricSpecificationDefinition:
    description: The definition of Azure Monitoring metric.
    properties:
      aggregationType:
        description: Metric aggregation type.
        type: string
      displayDescription:
        description: Metric description.
        type: string
      displayName:
        description: Metric display name.
        type: string
      internalMetricName:
        description: Internal metric name.
        type: string
      name:
        description: Metric name.
        type: string
      unit:
        description: Metric unit.
        type: string
    type: object
  OperationPropertiesDefinition:
    description: The definition of Azure Monitoring properties.
    properties:
      serviceSpecification:
        $ref: '#/definitions/OperationServiceSpecificationDefinition'
        description: The definition of Azure Monitoring service.
    type: object
  OperationServiceSpecificationDefinition:
    description: The definition of Azure Monitoring list.
    properties:
      metricSpecifications:
        description: A list of Azure Monitoring metrics definition.
        items:
          $ref: '#/definitions/OperationMetricSpecificationDefinition'
        type: array
    type: object
  Policies:
    description: The policies for a container registry.
    properties:
      quarantinePolicy:
        $ref: '#/definitions/QuarantinePolicy'
        description: The quarantine policy for a container registry.
      retentionPolicy:
        $ref: '#/definitions/RetentionPolicy'
        description: The retention policy for a container registry.
      trustPolicy:
        $ref: '#/definitions/TrustPolicy'
        description: The content trust policy for a container registry.
    type: object
  QuarantinePolicy:
    description: The quarantine policy for a container registry.
    properties:
      status:
        default: disabled
        description: The value that indicates whether the policy is enabled or not.
        enum:
          - enabled
          - disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: PolicyStatus
    type: object
  RegenerateCredentialParameters:
    description: The parameters used to regenerate the login credential.
    properties:
      name:
        description: Specifies name of the password which should be regenerated -- password or password2.
        enum:
          - password
          - password2
        type: string
        x-ms-enum:
          modelAsString: false
          name: PasswordName
    required:
      - name
    type: object
  Registry:
    allOf:
      - $ref: '#/definitions/Resource'
    description: An object that represents a container registry.
    properties:
      identity:
        $ref: '#/definitions/IdentityProperties'
        description: The identity of the container registry.
      properties:
        $ref: '#/definitions/RegistryProperties'
        description: The properties of the container registry.
        x-ms-client-flatten: true
      sku:
        $ref: '#/definitions/Sku'
        description: The SKU of the container registry.
    required:
      - sku
    type: object
  RegistryListCredentialsResult:
    description: The response from the ListCredentials operation.
    properties:
      passwords:
        description: The list of passwords for a container registry.
        items:
          $ref: '#/definitions/RegistryPassword'
        type: array
      username:
        description: The username for a container registry.
        type: string
    type: object
  RegistryListResult:
    description: The result of a request to list container registries.
    properties:
      nextLink:
        description: The URI that can be used to request the next list of container registries.
        type: string
      value:
        description: 'The list of container registries. Since this list may be incomplete, the nextLink field should be used to request the next list of container registries.'
        items:
          $ref: '#/definitions/Registry'
        type: array
    type: object
  RegistryNameCheckRequest:
    description: A request to check whether a container registry name is available.
    properties:
      name:
        description: The name of the container registry.
        maxLength: 50
        minLength: 5
        pattern: '^[a-zA-Z0-9]*$'
        type: string
      type:
        description: The resource type of the container registry. This field must be set to 'Microsoft.ContainerRegistry/registries'.
        enum:
          - Microsoft.ContainerRegistry/registries
        type: string
        x-ms-enum:
          modelAsString: false
          name: ContainerRegistryResourceType
    required:
      - name
      - type
    type: object
  RegistryNameStatus:
    description: The result of a request to check the availability of a container registry name.
    properties:
      message:
        description: 'If any, the error message that provides more detail for the reason that the name is not available.'
        type: string
      nameAvailable:
        description: The value that indicates whether the name is available.
        type: boolean
      reason:
        description: 'If any, the reason that the name is not available.'
        type: string
    type: object
  RegistryPassword:
    description: The login password for the container registry.
    properties:
      name:
        description: The password name.
        enum:
          - password
          - password2
        type: string
        x-ms-enum:
          modelAsString: false
          name: PasswordName
      value:
        description: The password value.
        type: string
    type: object
  RegistryProperties:
    description: The properties of a container registry.
    properties:
      adminUserEnabled:
        default: false
        description: The value that indicates whether the admin user is enabled.
        type: boolean
      creationDate:
        description: The creation date of the container registry in ISO8601 format.
        format: date-time
        readOnly: true
        type: string
      encryption:
        $ref: '#/definitions/EncryptionProperty'
        description: The encryption settings of container registry.
      loginServer:
        description: The URL that can be used to log into the container registry.
        readOnly: true
        type: string
      networkRuleSet:
        $ref: '#/definitions/NetworkRuleSet'
        description: The network rule set for a container registry.
      policies:
        $ref: '#/definitions/Policies'
        description: The policies for a container registry.
      provisioningState:
        description: The provisioning state of the container registry at the time the operation was called.
        enum:
          - Creating
          - Updating
          - Deleting
          - Succeeded
          - Failed
          - Canceled
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      status:
        $ref: '#/definitions/Status'
        description: The status of the container registry at the time the operation was called.
        readOnly: true
      storageAccount:
        $ref: '#/definitions/StorageAccountProperties'
        description: The properties of the storage account for the container registry. Only applicable to Classic SKU.
    type: object
  RegistryPropertiesUpdateParameters:
    description: The parameters for updating the properties of a container registry.
    properties:
      adminUserEnabled:
        description: The value that indicates whether the admin user is enabled.
        type: boolean
      encryption:
        $ref: '#/definitions/EncryptionProperty'
        description: The encryption settings of container registry.
      networkRuleSet:
        $ref: '#/definitions/NetworkRuleSet'
        description: The network rule set for a container registry.
      policies:
        $ref: '#/definitions/Policies'
        description: The policies for a container registry.
    type: object
  RegistryUpdateParameters:
    description: The parameters for updating a container registry.
    properties:
      identity:
        $ref: '#/definitions/IdentityProperties'
        description: The identity of the container registry.
      properties:
        $ref: '#/definitions/RegistryPropertiesUpdateParameters'
        description: The properties that the container registry will be updated with.
        x-ms-client-flatten: true
      sku:
        $ref: '#/definitions/Sku'
        description: The SKU of the container registry.
      tags:
        additionalProperties:
          type: string
        description: The tags for the container registry.
        type: object
    type: object
  RegistryUsage:
    description: The quota usage for a container registry.
    properties:
      currentValue:
        description: The current value of the usage.
        format: int64
        type: integer
      limit:
        description: The limit of the usage.
        format: int64
        type: integer
      name:
        description: The name of the usage.
        type: string
      unit:
        description: The unit of measurement.
        enum:
          - Count
          - Bytes
        type: string
        x-ms-enum:
          modelAsString: true
          name: RegistryUsageUnit
    type: object
  RegistryUsageListResult:
    description: The result of a request to get container registry quota usages.
    properties:
      value:
        description: The list of container registry quota usages.
        items:
          $ref: '#/definitions/RegistryUsage'
        type: array
    type: object
  Replication:
    allOf:
      - $ref: '#/definitions/Resource'
    description: An object that represents a replication for a container registry.
    properties:
      properties:
        $ref: '#/definitions/ReplicationProperties'
        description: The properties of the replication.
        x-ms-client-flatten: true
    type: object
  ReplicationListResult:
    description: The result of a request to list replications for a container registry.
    properties:
      nextLink:
        description: The URI that can be used to request the next list of replications.
        type: string
      value:
        description: 'The list of replications. Since this list may be incomplete, the nextLink field should be used to request the next list of replications.'
        items:
          $ref: '#/definitions/Replication'
        type: array
    type: object
  ReplicationProperties:
    description: The properties of a replication.
    properties:
      provisioningState:
        description: The provisioning state of the replication at the time the operation was called.
        enum:
          - Creating
          - Updating
          - Deleting
          - Succeeded
          - Failed
          - Canceled
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      status:
        $ref: '#/definitions/Status'
        description: The status of the replication at the time the operation was called.
        readOnly: true
    type: object
  ReplicationUpdateParameters:
    description: The parameters for updating a replication.
    properties:
      tags:
        additionalProperties:
          type: string
        description: The tags for the replication.
        type: object
    type: object
  Request:
    description: The request that generated the event.
    properties:
      addr:
        description: The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request.
        type: string
      host:
        description: 'The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests.'
        type: string
      id:
        description: The ID of the request that initiated the event.
        type: string
      method:
        description: The request method that generated the event.
        type: string
      useragent:
        description: The user agent header of the request.
        type: string
    type: object
  Resource:
    description: An Azure resource.
    properties:
      id:
        description: The resource ID.
        readOnly: true
        type: string
      location:
        description: The location of the resource. This cannot be changed after the resource is created.
        type: string
        x-ms-mutability:
          - read
          - create
      name:
        description: The name of the resource.
        readOnly: true
        type: string
      tags:
        additionalProperties:
          type: string
        description: The tags of the resource.
        type: object
      type:
        description: The type of the resource.
        readOnly: true
        type: string
    required:
      - location
    x-ms-azure-resource: true
  RetentionPolicy:
    description: The retention policy for a container registry.
    properties:
      days:
        default: 7
        description: The number of days to retain an untagged manifest after which it gets purged.
        format: int32
        type: integer
      lastUpdatedTime:
        description: The timestamp when the policy was last updated.
        format: date-time
        readOnly: true
        type: string
      status:
        default: disabled
        description: The value that indicates whether the policy is enabled or not.
        enum:
          - enabled
          - disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: PolicyStatus
    type: object
  Sku:
    description: The SKU of a container registry.
    properties:
      name:
        description: The SKU name of the container registry. Required for registry creation.
        enum:
          - Classic
          - Basic
          - Standard
          - Premium
        type: string
        x-ms-enum:
          modelAsString: true
          name: SkuName
      tier:
        description: The SKU tier based on the SKU name.
        enum:
          - Classic
          - Basic
          - Standard
          - Premium
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: SkuTier
    required:
      - name
    type: object
  Source:
    description: 'The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it.'
    properties:
      addr:
        description: 'The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port.'
        type: string
      instanceID:
        description: The running instance of an application. Changes after each restart.
        type: string
    type: object
  Status:
    description: The status of an Azure resource at the time the operation was called.
    properties:
      displayStatus:
        description: The short label for the status.
        readOnly: true
        type: string
      message:
        description: 'The detailed message for the status, including alerts and error messages.'
        readOnly: true
        type: string
      timestamp:
        description: The timestamp when the status was changed to the current value.
        format: date-time
        readOnly: true
        type: string
    type: object
  StorageAccountProperties:
    description: The properties of a storage account for a container registry. Only applicable to Classic SKU.
    properties:
      id:
        description: The resource ID of the storage account.
        type: string
    required:
      - id
    type: object
  Target:
    description: The target of the event.
    properties:
      digest:
        description: 'The digest of the content, as defined by the Registry V2 HTTP API Specification.'
        type: string
      length:
        description: The number of bytes of the content. Same as Size field.
        format: int64
        type: integer
      mediaType:
        description: The MIME type of the referenced object.
        type: string
      name:
        description: The name of the artifact.
        type: string
      repository:
        description: The repository name.
        type: string
      size:
        description: The number of bytes of the content. Same as Length field.
        format: int64
        type: integer
      tag:
        description: The tag name.
        type: string
      url:
        description: The direct URL to the content.
        type: string
      version:
        description: The version of the artifact.
        type: string
    type: object
  TrustPolicy:
    description: The content trust policy for a container registry.
    properties:
      status:
        default: disabled
        description: The value that indicates whether the policy is enabled or not.
        enum:
          - enabled
          - disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: PolicyStatus
      type:
        default: Notary
        description: The type of trust policy.
        enum:
          - Notary
        type: string
        x-ms-enum:
          modelAsString: true
          name: TrustPolicyType
    type: object
  UserIdentityProperties:
    properties:
      clientId:
        description: The client id of user assigned identity.
        type: string
      principalId:
        description: The principal id of user assigned identity.
        type: string
    type: object
  VirtualNetworkRule:
    description: Virtual network rule.
    properties:
      action:
        default: Allow
        description: The action of virtual network rule.
        enum:
          - Allow
        type: string
        x-ms-enum:
          modelAsString: true
          name: Action
      id:
        description: 'Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}.'
        type: string
        x-ms-client-name: VirtualNetworkResourceId
    required:
      - id
    type: object
  Webhook:
    allOf:
      - $ref: '#/definitions/Resource'
    description: An object that represents a webhook for a container registry.
    properties:
      properties:
        $ref: '#/definitions/WebhookProperties'
        description: The properties of the webhook.
        x-ms-client-flatten: true
    type: object
  WebhookCreateParameters:
    description: The parameters for creating a webhook.
    properties:
      location:
        description: The location of the webhook. This cannot be changed after the resource is created.
        type: string
      properties:
        $ref: '#/definitions/WebhookPropertiesCreateParameters'
        description: The properties that the webhook will be created with.
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: The tags for the webhook.
        type: object
    required:
      - location
    type: object
  WebhookListResult:
    description: The result of a request to list webhooks for a container registry.
    properties:
      nextLink:
        description: The URI that can be used to request the next list of webhooks.
        type: string
      value:
        description: 'The list of webhooks. Since this list may be incomplete, the nextLink field should be used to request the next list of webhooks.'
        items:
          $ref: '#/definitions/Webhook'
        type: array
    type: object
  WebhookProperties:
    description: The properties of a webhook.
    properties:
      actions:
        description: The list of actions that trigger the webhook to post notifications.
        items:
          enum:
            - push
            - delete
            - quarantine
            - chart_push
            - chart_delete
          type: string
          x-ms-enum:
            modelAsString: true
            name: WebhookAction
        type: array
      provisioningState:
        description: The provisioning state of the webhook at the time the operation was called.
        enum:
          - Creating
          - Updating
          - Deleting
          - Succeeded
          - Failed
          - Canceled
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      scope:
        description: 'The scope of repositories where the event can be triggered. For example, ''foo:*'' means events for all tags under repository ''foo''. ''foo:bar'' means events for ''foo:bar'' only. ''foo'' is equivalent to ''foo:latest''. Empty means all events.'
        type: string
      status:
        description: The status of the webhook at the time the operation was called.
        enum:
          - enabled
          - disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: WebhookStatus
    required:
      - actions
    type: object
  WebhookPropertiesCreateParameters:
    description: The parameters for creating the properties of a webhook.
    properties:
      actions:
        description: The list of actions that trigger the webhook to post notifications.
        items:
          enum:
            - push
            - delete
            - quarantine
            - chart_push
            - chart_delete
          type: string
          x-ms-enum:
            modelAsString: true
            name: WebhookAction
        type: array
      customHeaders:
        additionalProperties:
          type: string
        description: Custom headers that will be added to the webhook notifications.
        type: object
      scope:
        description: 'The scope of repositories where the event can be triggered. For example, ''foo:*'' means events for all tags under repository ''foo''. ''foo:bar'' means events for ''foo:bar'' only. ''foo'' is equivalent to ''foo:latest''. Empty means all events.'
        type: string
      serviceUri:
        description: The service URI for the webhook to post notifications.
        type: string
      status:
        description: The status of the webhook at the time the operation was called.
        enum:
          - enabled
          - disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: WebhookStatus
    required:
      - serviceUri
      - actions
    type: object
  WebhookPropertiesUpdateParameters:
    description: The parameters for updating the properties of a webhook.
    properties:
      actions:
        description: The list of actions that trigger the webhook to post notifications.
        items:
          enum:
            - push
            - delete
            - quarantine
            - chart_push
            - chart_delete
          type: string
          x-ms-enum:
            modelAsString: true
            name: WebhookAction
        type: array
      customHeaders:
        additionalProperties:
          type: string
        description: Custom headers that will be added to the webhook notifications.
        type: object
      scope:
        description: 'The scope of repositories where the event can be triggered. For example, ''foo:*'' means events for all tags under repository ''foo''. ''foo:bar'' means events for ''foo:bar'' only. ''foo'' is equivalent to ''foo:latest''. Empty means all events.'
        type: string
      serviceUri:
        description: The service URI for the webhook to post notifications.
        type: string
      status:
        description: The status of the webhook at the time the operation was called.
        enum:
          - enabled
          - disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: WebhookStatus
    type: object
  WebhookUpdateParameters:
    description: The parameters for updating a webhook.
    properties:
      properties:
        $ref: '#/definitions/WebhookPropertiesUpdateParameters'
        description: The properties that the webhook will be updated with.
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: The tags for the webhook.
        type: object
    type: object
