swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Allows extension of ARM control plane with custom resource providers.
  title: customproviders
  version: 2018-09-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-ms-code-generation-settings:
    name: customprovidersClient
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/customproviders/resource-manager/Microsoft.CustomProviders/preview/2018-09-01-preview/customproviders.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: customproviders
  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 API version to be used with the HTTP request.
    in: query
    name: api-version
    required: true
    type: string
  ResourceGroupNameParameter:
    description: The name of the resource group.
    in: path
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
  ResourceProviderNameParameter:
    description: The name of the resource provider.
    in: path
    maxLength: 64
    minLength: 3
    name: resourceProviderName
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionIdParameter:
    description: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  /providers/Microsoft.CustomProviders/operations:
    get:
      description: The list of operations provided by Microsoft CustomProviders.
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Describe the result of a successful operation.
          schema:
            $ref: "#/definitions/ResourceProviderOperationList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Operations
      x-ms-examples:
        List the custom providers operations:
          parameters:
            api-version: 2018-09-01-preview
          responses:
            "200":
              body:
                value:
                  - display:
                      description: List or get the Custom Providers
                      operation: List Custom Providers
                      provider: Azure Custom Providers
                      resource: resourceProviders
                    name: Microsoft.CustomProviders/resourceProviders/read
                  - display:
                      description: List or get the Custom Providers
                      operation: List Custom Providers
                      provider: Azure Custom Providers
                      resource: resourceProviders
                    name: Microsoft.CustomProviders/resourceProviders/delete
                  - display:
                      description: List or get the Custom Providers
                      operation: List Custom Providers
                      provider: Azure Custom Providers
                      resource: resourceProviders
                    name: Microsoft.CustomProviders/resourceProviders/wrte
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.CustomProviders/resourceProviders":
    get:
      description: Gets all the custom resource providers within a subscription.
      operationId: CustomResourceProvider_ListBySubscription
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns an array of custom resource providers.
          schema:
            $ref: "#/definitions/ListByCustomRPManifest"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CustomResourceProvider
      x-ms-examples:
        List all custom resource providers on the subscription:
          parameters:
            api-version: 2018-09-01-preview
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.CustomProviders/resourceProviders/newrp1
                    location: East US
                    name: newrp1
                    properties:
                      actions:
                        - endpoint: https://mytestendpoint/
                          name: TestAction
                          routingType: Proxy
                      provisioningState: Succeeded
                      resourceTypes:
                        - endpoint: https://mytestendpoint2/
                          name: TestResource
                          routingType: Proxy,Cache
                    type: Microsoft.CustomProviders/resourceProviders
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG2/providers/Microsoft.CustomProviders/resourceProviders/newrp2
                    location: East US
                    name: newrp2
                    properties:
                      actions:
                        - endpoint: https://mytestendpoint/
                          name: TestAction
                          routingType: Proxy
                      provisioningState: Succeeded
                      resourceTypes:
                        - endpoint: https://mytestendpoint2/
                          name: TestResource
                          routingType: Proxy,Cache
                    type: Microsoft.CustomProviders/resourceProviders
              headers: {}
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders":
    get:
      description: Gets all the custom resource providers within a resource group.
      operationId: CustomResourceProvider_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns an array of custom resource providers.
          schema:
            $ref: "#/definitions/ListByCustomRPManifest"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CustomResourceProvider
      x-ms-examples:
        List all custom resource providers on the resourceGroup:
          parameters:
            api-version: 2018-09-01-preview
            resourceGroupName: testRG
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.CustomProviders/resourceProviders/newrp1
                    location: East US
                    name: newrp1
                    properties:
                      actions:
                        - endpoint: https://mytestendpoint/
                          name: TestAction
                          routingType: Proxy
                      provisioningState: Succeeded
                      resourceTypes:
                        - endpoint: https://mytestendpoint2/
                          name: TestResource
                          routingType: Proxy,Cache
                    type: Microsoft.CustomProviders/resourceProviders
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.CustomProviders/resourceProviders/newrp2
                    location: East US
                    name: newrp2
                    properties:
                      actions:
                        - endpoint: https://mytestendpoint/
                          name: TestAction
                          routingType: Proxy
                      provisioningState: Succeeded
                      resourceTypes:
                        - endpoint: https://mytestendpoint2/
                          name: TestResource
                          routingType: Proxy,Cache
                    type: Microsoft.CustomProviders/resourceProviders
              headers: {}
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}":
    delete:
      description: Deletes the custom resource provider.
      operationId: CustomResourceProvider_Delete
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ResourceProviderNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK resource deleted
        "202":
          description: OK resource delete has been accepted.
        "204":
          description: OK resource was not found.
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CustomResourceProvider
      x-ms-examples:
        Delete a custom resource provider:
          parameters:
            api-version: 2018-09-01-preview
            resourceGroupName: testRG
            resourceProviderName: newrp
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets the custom resource provider manifest.
      operationId: CustomResourceProvider_Get
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ResourceProviderNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK response definition with the existing resource.
          schema:
            $ref: "#/definitions/CustomRPManifest"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CustomResourceProvider
      x-ms-examples:
        Get a custom resource provider:
          parameters:
            api-version: 2018-09-01-preview
            resourceGroupName: testRG
            resourceProviderName: newrp
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.CustomProviders/resourceProviders/newrp
                location: East US
                name: newrp
                properties:
                  actions:
                    - endpoint: https://mytestendpoint/
                      name: TestAction
                      routingType: Proxy
                  provisioningState: Succeeded
                  resourceTypes:
                    - endpoint: https://mytestendpoint2/
                      name: TestResource
                      routingType: Proxy,Cache
                type: Microsoft.CustomProviders/resourceProviders
              headers: {}
    patch:
      description: Updates an existing custom resource provider. The only value that can be updated via PATCH currently is the tags.
      operationId: CustomResourceProvider_Update
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ResourceProviderNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - description: The updatable fields of a custom resource provider.
          in: body
          name: patchableResource
          required: true
          schema:
            $ref: "#/definitions/ResourceProvidersUpdate"
      responses:
        "200":
          description: OK response. The resource has been updated.
          schema:
            $ref: "#/definitions/CustomRPManifest"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CustomResourceProvider
      x-ms-examples:
        Update a custom resource provider:
          parameters:
            api-version: 2018-09-01-preview
            patchableResource:
              tags: {}
            resourceGroupName: testRG
            resourceProviderName: newrp
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.CustomProviders/resourceProviders/newrp
                location: East US
                name: newrp
                properties:
                  actions:
                    - endpoint: https://mytestendpoint/
                      name: TestAction
                      routingType: Proxy
                  provisioningState: Succeeded
                  resourceTypes:
                    - endpoint: https://mytestendpoint2/
                      name: TestResource
                      routingType: Proxy,Cache
                type: Microsoft.CustomProviders/resourceProviders
    put:
      description: Creates or updates the custom resource provider.
      operationId: CustomResourceProvider_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ResourceProviderNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - description: The parameters required to create or update a custom resource provider definition.
          in: body
          name: resourceProvider
          required: true
          schema:
            $ref: "#/definitions/CustomRPManifest"
      responses:
        "200":
          description: OK response definition. Resource already exists and the changes have been accepted
          schema:
            $ref: "#/definitions/CustomRPManifest"
        "201":
          description: Created response definition. Resource has been created
          schema:
            $ref: "#/definitions/CustomRPManifest"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CustomResourceProvider
      x-ms-examples:
        Create or update the custom resource provider:
          parameters:
            api-version: 2018-09-01-preview
            resourceGroupName: testRG
            resourceProvider:
              location: eastus
              properties:
                actions:
                  - endpoint: https://mytestendpoint/
                    name: TestAction
                    routingType: Proxy
                resourceTypes:
                  - endpoint: https://mytestendpoint2/
                    name: TestResource
                    routingType: Proxy,Cache
            resourceProviderName: newrp
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.CustomProviders/resourceProviders/newrp
                location: East US
                name: newrp
                properties:
                  actions:
                    - endpoint: https://mytestendpoint/
                      name: TestAction
                      routingType: Proxy
                  provisioningState: Accepted
                  resourceTypes:
                    - endpoint: https://mytestendpoint2/
                      name: TestResource
                      routingType: Proxy,Cache
                type: Microsoft.CustomProviders/resourceProviders
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.CustomProviders/resourceProviders/newrp
                location: East US
                name: newrp
                properties:
                  actions:
                    - endpoint: https://mytestendpoint/
                      name: TestAction
                      routingType: Proxy
                  provisioningState: Accepted
                  resourceTypes:
                    - endpoint: https://mytestendpoint2/
                      name: TestResource
                      routingType: Proxy,Cache
                type: Microsoft.CustomProviders/resourceProviders
      x-ms-long-running-operation: true
  "/{scope}/providers/Microsoft.CustomProviders/associations":
    get:
      description: Gets all association for the given scope.
      operationId: Associations_ListAll
      parameters:
        - description: The scope of the association.
          in: path
          name: scope
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK. Returns all associations for the given scope.
          schema:
            $ref: "#/definitions/AssociationsList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Associations
      x-ms-examples:
        Get all associations:
          parameters:
            api-version: 2018-09-01-preview
            scope: scope
          responses:
            "200":
              body:
                value:
                  - id: scope/providers/Microsoft.CustomProviders/associations/associationName
                    name: associationName
                    properties:
                      provisioningState: Succeeded
                      targetResourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/appRG/providers/Microsoft.Solutions/applications/applicationName
                    type: Microsoft.CustomProviders/associations
              headers: {}
      x-ms-pageable:
        nextLinkName: nextLink
  "/{scope}/providers/Microsoft.CustomProviders/associations/{associationName}":
    delete:
      description: Delete an association.
      operationId: Associations_Delete
      parameters:
        - description: The scope of the association.
          in: path
          name: scope
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: The name of the association.
          in: path
          name: associationName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK. Association deleted.
        "202":
          description: Accepted. Association delete has been accepted.
        "204":
          description: No Content. Association was not found.
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Associations
      x-ms-examples:
        Delete an association:
          parameters:
            api-version: 2018-09-01-preview
            associationName: associationName
            scope: scope
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Get an association.
      operationId: Associations_Get
      parameters:
        - description: The scope of the association.
          in: path
          name: scope
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: The name of the association.
          in: path
          name: associationName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK. Returns association.
          schema:
            $ref: "#/definitions/Association"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Associations
      x-ms-examples:
        Get an association:
          parameters:
            api-version: 2018-09-01-preview
            associationName: associationName
            scope: scope
          responses:
            "200":
              body:
                id: scope/providers/Microsoft.CustomProviders/associations/associationName
                name: associationName
                properties:
                  provisioningState: Succeeded
                  targetResourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/appRG/providers/Microsoft.Solutions/applications/applicationName
                type: Microsoft.CustomProviders/associations
              headers: {}
    put:
      description: Create or update an association.
      operationId: Associations_CreateOrUpdate
      parameters:
        - description: The scope of the association. The scope can be any valid REST resource instance. For example, use '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}' for a virtual machine resource.
          in: path
          name: scope
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: The name of the association.
          in: path
          name: associationName
          required: true
          type: string
        - description: The parameters required to create or update an association.
          in: body
          name: association
          required: true
          schema:
            $ref: "#/definitions/Association"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK. Association already exists and the changes have been accepted.
          schema:
            $ref: "#/definitions/Association"
        "201":
          description: Created. Association has been created.
          schema:
            $ref: "#/definitions/Association"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Associations
      x-ms-examples:
        Create or update an association:
          parameters:
            api-version: 2018-09-01-preview
            association:
              properties:
                targetResourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/appRG/providers/Microsoft.Solutions/applications/applicationName
            associationName: associationName
            scope: scope
          responses:
            "200":
              body:
                id: /scope/providers/Microsoft.CustomProviders/associations/associationName
                name: associationName
                properties:
                  provisioningState: Succeeded
                  targetResourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/appRG/providers/Microsoft.Solutions/applications/applicationName
                type: Microsoft.CustomProviders/associations
              headers: {}
            "201":
              body:
                id: /scope/providers/Microsoft.CustomProviders/associations/associationName
                name: associationName
                properties:
                  provisioningState: Accepted
                  targetResourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/appRG/providers/Microsoft.Solutions/applications/applicationName
                type: Microsoft.CustomProviders/associations
              headers: {}
      x-ms-long-running-operation: true
definitions:
  Association:
    description: The resource definition of this association.
    properties:
      id:
        description: The association id.
        readOnly: true
        type: string
      name:
        description: The association name.
        readOnly: true
        type: string
      properties:
        description: The properties of the association.
        properties:
          provisioningState:
            description: The provisioning state of the association.
            enum:
              - Accepted
              - Deleting
              - Running
              - Succeeded
              - Failed
            readOnly: true
            type: string
            x-ms-enum:
              modelAsString: true
              name: ProvisioningState
          targetResourceId:
            description: The REST resource instance of the target resource for this association.
            type: string
        type: object
        x-ms-client-flatten: true
      type:
        description: The association type.
        readOnly: true
        type: string
    x-ms-azure-resource: true
    x-ms-client-flatten: true
  AssociationsList:
    description: List of associations.
    properties:
      nextLink:
        description: The URL to use for getting the next set of results.
        type: string
      value:
        description: The array of associations.
        items:
          $ref: "#/definitions/Association"
        type: array
  CustomRPActionRouteDefinition:
    allOf:
      - $ref: "#/definitions/CustomRPRouteDefinition"
    description: The route definition for an action implemented by the custom resource provider.
    properties:
      routingType:
        description: The routing types that are supported for action requests.
        enum:
          - Proxy
        type: string
        x-ms-enum:
          modelAsString: true
          name: ActionRouting
  CustomRPManifest:
    allOf:
      - $ref: "#/definitions/Resource"
    description: A manifest file that defines the custom resource provider resources.
    properties:
      properties:
        description: The manifest for the custom resource provider
        properties:
          actions:
            description: A list of actions that the custom resource provider implements.
            items:
              $ref: "#/definitions/CustomRPActionRouteDefinition"
            type: array
          provisioningState:
            description: The provisioning state of the resource provider.
            enum:
              - Accepted
              - Deleting
              - Running
              - Succeeded
              - Failed
            readOnly: true
            type: string
            x-ms-enum:
              modelAsString: true
              name: ProvisioningState
          resourceTypes:
            description: A list of resource types that the custom resource provider implements.
            items:
              $ref: "#/definitions/CustomRPResourceTypeRouteDefinition"
            type: array
          validations:
            description: A list of validations to run on the custom resource provider's requests.
            items:
              $ref: "#/definitions/CustomRPValidations"
            type: array
        type: object
        x-ms-client-flatten: true
  CustomRPResourceTypeRouteDefinition:
    allOf:
      - $ref: "#/definitions/CustomRPRouteDefinition"
    description: The route definition for a resource implemented by the custom resource provider.
    properties:
      routingType:
        description: The routing types that are supported for resource requests.
        enum:
          - Proxy
          - Proxy,Cache
        type: string
        x-ms-enum:
          modelAsString: true
          name: ResourceTypeRouting
  CustomRPRouteDefinition:
    description: A route definition that defines an action or resource that can be interacted with through the custom resource provider.
    properties:
      endpoint:
        description: The route definition endpoint URI that the custom resource provider will proxy requests to. This can be in the form of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a path (e.g. 'https://testendpoint/{requestPath}')
        pattern: ^https://.+
        type: string
      name:
        description: The name of the route definition. This becomes the name for the ARM extension (e.g. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}')
        type: string
    required:
      - name
      - endpoint
  CustomRPValidations:
    description: A validation to apply on custom resource provider requests.
    properties:
      specification:
        description: A link to the validation specification. The specification must be hosted on raw.githubusercontent.com.
        pattern: ^https://raw.githubusercontent.com/.+
        type: string
      validationType:
        description: The type of validation to run against a matching request.
        enum:
          - Swagger
        type: string
        x-ms-enum:
          modelAsString: true
          name: ValidationType
    required:
      - specification
  ErrorDefinition:
    description: Error definition.
    properties:
      code:
        description: Service specific error code which serves as the substatus for the HTTP error code.
        readOnly: true
        type: string
      details:
        description: Internal error details.
        items:
          $ref: "#/definitions/ErrorDefinition"
        readOnly: true
        type: array
      message:
        description: Description of the error.
        readOnly: true
        type: string
  ErrorResponse:
    description: Error response.
    properties:
      error:
        $ref: "#/definitions/ErrorDefinition"
        description: The error details.
  ListByCustomRPManifest:
    description: List of custom resource providers.
    properties:
      nextLink:
        description: The URL to use for getting the next set of results.
        type: string
      value:
        description: The array of custom resource provider manifests.
        items:
          $ref: "#/definitions/CustomRPManifest"
        type: array
  Resource:
    description: The resource definition.
    properties:
      id:
        description: Resource Id
        readOnly: true
        type: string
      location:
        description: Resource location
        type: string
        x-ms-mutability:
          - read
          - create
      name:
        description: Resource name
        readOnly: true
        type: string
      tags:
        additionalProperties:
          type: string
        description: Resource tags
        type: object
      type:
        description: Resource type
        readOnly: true
        type: string
    required:
      - location
    x-ms-azure-resource: true
  ResourceProviderOperation:
    description: Supported operations of this resource provider.
    properties:
      display:
        description: Display metadata associated with the operation.
        properties:
          description:
            description: Description of this operation.
            type: string
          operation:
            description: "Type of operation: get, read, delete, etc."
            type: string
          provider:
            description: "Resource provider: Microsoft Custom Providers."
            type: string
          resource:
            description: Resource on which the operation is performed.
            type: string
      name:
        description: Operation name, in format of {provider}/{resource}/{operation}
        type: string
    readOnly: true
  ResourceProviderOperationList:
    description: Results of the request to list operations.
    properties:
      nextLink:
        description: The URL to use for getting the next set of results.
        type: string
      value:
        description: List of operations supported by this resource provider.
        items:
          $ref: "#/definitions/ResourceProviderOperation"
        type: array
    readOnly: true
  ResourceProvidersUpdate:
    description: custom resource provider update information.
    properties:
      tags:
        additionalProperties:
          type: string
        description: Resource tags
        type: object
