swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: The Azure Data Catalog Resource Provider Services API.
  title: Azure Data Catalog Resource Provider
  version: 2016-03-30
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/datacatalog/resource-manager/Microsoft.DataCatalog/stable/2016-03-30/datacatalog.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: datacatalog
  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
parameters:
  ApiVersionParameter:
    description: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
  CatalogNameParameter:
    description: The name of the data catalog in the specified subscription and resource group.
    in: path
    name: catalogName
    required: true
    type: string
    x-ms-parameter-location: client
  ResourceGroupNameParameter:
    description: The name of the resource group within the user's subscription. The name is case insensitive.
    in: path
    maxLength: 90
    minLength: 1
    name: resourceGroupName
    pattern: ^[-\w\._\(\)]+$
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionIdParameter:
    description: Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  /providers/Microsoft.DataCatalog/operations:
    get:
      description: Lists all the available Azure Data Catalog service operations.
      operationId: ADCOperations_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: HTTP 200 (OK) if the operation was successful.
          schema:
            $ref: "#/definitions/OperationEntityListResult"
      tags:
        - AzureDataCatalog
      x-ms-examples:
        Get Operations:
          parameters:
            api-version: 2016-03-30
            subscriptionId: 12345678-1234-1234-12345678abc
          responses:
            "200":
              body:
                value:
                  - display:
                      description: Get properties for catalog or catalogs under subscription or resource group.
                      operation: Catalog Read Or List
                      provider: Microsoft Data Catalog
                      resource: Catalog
                    name: Microsoft.DataCatalog/catalogs/read
                  - display:
                      description: Creates catalog or updates the tags and properties for the catalog.
                      operation: Create Or Update Catalog
                      provider: Microsoft Data Catalog
                      resource: Catalog
                    name: Microsoft.DataCatalog/catalogs/write
                  - display:
                      description: Deletes the catalog.
                      operation: Delete Catalog
                      provider: Microsoft Data Catalog
                      resource: Catalog
                    name: Microsoft.DataCatalog/catalogs/delete
                  - display:
                      description: Lists operations available on Microsoft.DataCatalog resource provider.
                      operation: List Available Catalog Operations
                      provider: Microsoft Data Catalog
                      resource: Available Catalog Operations
                    name: Microsoft.DataCatalog/operations/read
              headers:
                Date: Wed, 13 Sep 2017 18:04:32 GMT
                x-ms-correlation-request-id: 25c78f97-0b0a-4fe9-ad39-883a482265cd
                x-ms-request-id: d5496da4-9c52-402f-b067-83cc9ddea888
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs":
    get:
      description: The List catalogs in Resource Group operation lists all the Azure Data Catalogs available under the given resource group.
      operationId: ADCCatalogs_ListtByResourceGroup
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
      responses:
        "200":
          description: HTTP 200 (OK) if the operation was successful.
          schema:
            $ref: "#/definitions/ADCCatalogsListResult"
      summary: List catalogs in Resource Group (GET Resources)
      tags:
        - AzureDataCatalog
      x-ms-examples:
        List Azure Data Catalog Service:
          parameters:
            api-version: 2016-03-30
            resourceGroupName: exampleResourceGroup
            subscriptionId: 12345678-1234-1234-12345678abc
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/12345678-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataCatalog/catalogs/exampleCatalog
                    location: North US
                    name: exampleCatalog
                    properties:
                      admins:
                        - objectId: 99999999-9999-9999-999999999999
                          upn: myupn@microsoft.com
                      enableAutomaticUnitAdjustment: false
                      sku: Standard
                      successfullyProvisioned: true
                      units: 1
                      users:
                        - objectId: 99999999-9999-9999-999999999999
                          upn: myupn@microsoft.com
                    tags:
                      mykey: myvalue
                      mykey2: myvalue2
                    type: Microsoft.DataCatalog/catalogs
              headers:
                Date: Wed, 13 Sep 2017 17:55:54 GMT
                x-ms-correlation-request-id: acdb3257-c6cb-44f1-8e14-afa3ebf471fa
                x-ms-request-id: a8bb197f-b00f-4add-a847-59f6aa0315ab
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs/{catalogName}":
    delete:
      description: The Delete Azure Data Catalog Service operation deletes an existing data catalog.
      operationId: ADCCatalogs_Delete
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/CatalogNameParameter"
      responses:
        "200":
          description: OK. An existing annotation was updated.
        "202":
          description: Accepted. Delete is asynchronous. In this case, the caller needs to read the Location header for an URL to poll. That URL will continue to return 202 until the operation is complete. When it stops returning 202, the response it gives back is the result of the DELETE operation.
        "204":
          description: No Content (didn't exist).
      summary: Delete Azure Data Catalog Service (DELETE Resource)
      tags:
        - AzureDataCatalog
      x-ms-examples:
        Delete Azure Data Catalog Service:
          parameters:
            api-version: 2016-03-30
            catalogName: exampleCatalog
            resourceGroupName: exampleResourceGroup
            subscriptionId: 12345678-1234-1234-12345678abc
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: The Get Azure Data Catalog Service operation retrieves a json representation of the data catalog.
      operationId: ADCCatalogs_Get
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/CatalogNameParameter"
      responses:
        "200":
          description: HTTP 200 (OK) if the operation was successful.
          schema:
            $ref: "#/definitions/ADCCatalog"
      summary: Get Azure Data Catalog service (GET Resources)
      tags:
        - AzureDataCatalog
      x-ms-examples:
        Get Azure Data Catalog Service:
          parameters:
            api-version: 2016-03-30
            catalogName: exampleCatalog
            resourceGroupName: exampleResourceGroup
            subscriptionId: 12345678-1234-1234-12345678abc
          responses:
            "200":
              body:
                id: /subscriptions/12345678-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataCatalog/catalogs/exampleCatalog
                location: North US
                name: exampleCatalog
                properties:
                  admins:
                    - objectId: 99999999-9999-9999-999999999999
                      upn: myupn@microsoft.com
                  enableAutomaticUnitAdjustment: false
                  sku: Standard
                  successfullyProvisioned: true
                  units: 1
                  users:
                    - objectId: 99999999-9999-9999-999999999999
                      upn: myupn@microsoft.com
                tags:
                  mykey: myvalue
                  mykey2: myvalue2
                type: Microsoft.DataCatalog/catalogs
              headers:
                Date: Wed, 13 Sep 2017 17:55:54 GMT
                x-ms-correlation-request-id: acdb3257-c6cb-44f1-8e14-afa3ebf471fa
                x-ms-request-id: a8bb197f-b00f-4add-a847-59f6aa0315ab
    patch:
      description: The Update Azure Data Catalog Service operation can be used to update the existing deployment. The update call only supports the properties listed in the PATCH body.
      operationId: ADCCatalogs_Update
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/CatalogNameParameter"
        - description: Properties supplied to the Update a data catalog.
          in: body
          name: properties
          required: true
          schema:
            $ref: "#/definitions/ADCCatalog"
      responses:
        "200":
          description: HTTP 200 (OK) if the operation was successful.
          schema:
            $ref: "#/definitions/ADCCatalog"
      summary: Update Azure Data Catalog Service (PATCH Resource)
      tags:
        - AzureDataCatalog
      x-ms-examples:
        Update Azure Data Catalog Service:
          parameters:
            api-version: 2016-03-30
            catalogName: exampleCatalog
            properties:
              location: North US
              properties:
                admins:
                  - objectId: 99999999-9999-9999-999999999999
                    upn: myupn@microsoft.com
                enableAutomaticUnitAdjustment: false
                sku: Standard
                units: 1
                users:
                  - objectId: 99999999-9999-9999-999999999999
                    upn: myupn@microsoft.com
              tags:
                mykey: myvalue
                mykey2: myvalue2
            resourceGroupName: exampleResourceGroup
            subscriptionId: 12345678-1234-1234-12345678abc
          responses:
            "200":
              body:
                id: /subscriptions/12345678-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataCatalog/catalogs/exampleCatalog
                location: North US
                name: exampleCatalog
                properties:
                  admins:
                    - objectId: 99999999-9999-9999-999999999999
                      upn: myupn@microsoft.com
                  enableAutomaticUnitAdjustment: false
                  sku: Standard
                  successfullyProvisioned: true
                  units: 1
                  users:
                    - objectId: 99999999-9999-9999-999999999999
                      upn: myupn@microsoft.com
                tags:
                  mykey: myvalue
                  mykey2: myvalue2
                type: Microsoft.DataCatalog/catalogs
              headers:
                Date: Wed, 13 Sep 2017 17:55:54 GMT
                x-ms-correlation-request-id: acdb3257-c6cb-44f1-8e14-afa3ebf471fa
                x-ms-request-id: a8bb197f-b00f-4add-a847-59f6aa0315ab
    put:
      description: The Create Azure Data Catalog service operation creates a new data catalog service with the specified parameters. If the specific service already exists, then any patchable properties will be updated and any immutable properties will remain unchanged.
      operationId: ADCCatalogs_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/CatalogNameParameter"
        - description: Properties supplied to the Create or Update a data catalog.
          in: body
          name: properties
          required: true
          schema:
            $ref: "#/definitions/ADCCatalog"
      responses:
        "200":
          description: HTTP 200 (OK) if the operation was successful.
          schema:
            $ref: "#/definitions/ADCCatalog"
        "201":
          description: HTTP 201 (Created) if the operation completed successfully.
          schema:
            $ref: "#/definitions/ADCCatalog"
      summary: Create or Update Azure Data Catalog service (PUT Resource)
      tags:
        - AzureDataCatalog
      x-ms-examples:
        Create Azure Data Catalog Service:
          parameters:
            api-version: 2016-03-30
            catalogName: exampleCatalog
            properties:
              location: North US
              properties:
                admins:
                  - objectId: 99999999-9999-9999-999999999999
                    upn: myupn@microsoft.com
                enableAutomaticUnitAdjustment: false
                sku: Standard
                units: 1
                users:
                  - objectId: 99999999-9999-9999-999999999999
                    upn: myupn@microsoft.com
              tags:
                mykey: myvalue
                mykey2: myvalue2
            resourceGroupName: exampleResourceGroup
            subscriptionId: 12345678-1234-1234-12345678abc
          responses:
            "200":
              body:
                id: /subscriptions/12345678-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataCatalog/catalogs/exampleCatalog
                location: North US
                name: exampleCatalog
                properties:
                  admins:
                    - objectId: 99999999-9999-9999-999999999999
                      upn: myupn@microsoft.com
                  enableAutomaticUnitAdjustment: false
                  sku: Standard
                  successfullyProvisioned: true
                  units: 1
                  users:
                    - objectId: 99999999-9999-9999-999999999999
                      upn: myupn@microsoft.com
                tags:
                  mykey: myvalue
                  mykey2: myvalue2
                type: Microsoft.DataCatalog/catalogs
              headers:
                Date: Wed, 13 Sep 2017 17:55:54 GMT
                x-ms-correlation-request-id: acdb3257-c6cb-44f1-8e14-afa3ebf471fa
                x-ms-request-id: a8bb197f-b00f-4add-a847-59f6aa0315ab
            "201":
              body:
                id: /subscriptions/12345678-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataCatalog/catalogs/exampleCatalog
                location: North US
                name: exampleCatalog
                properties:
                  admins:
                    - objectId: 99999999-9999-9999-999999999999
                      upn: myupn@microsoft.com
                  enableAutomaticUnitAdjustment: false
                  sku: Standard
                  successfullyProvisioned: true
                  units: 1
                  users:
                    - objectId: 99999999-9999-9999-999999999999
                      upn: myupn@microsoft.com
                tags:
                  mykey: myvalue
                  mykey2: myvalue2
                type: Microsoft.DataCatalog/catalogs
              headers:
                Date: Wed, 13 Sep 2017 17:55:54 GMT
                x-ms-correlation-request-id: acdb3257-c6cb-44f1-8e14-afa3ebf471fa
                x-ms-request-id: a8bb197f-b00f-4add-a847-59f6aa0315ab
definitions:
  ADCCatalog:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Azure Data Catalog.
    properties:
      properties:
        $ref: "#/definitions/ADCCatalogProperties"
        description: Azure Data Catalog properties.
        x-ms-client-flatten: true
  ADCCatalogProperties:
    description: Properties of the data catalog.
    properties:
      admins:
        description: Azure data catalog admin list.
        items:
          $ref: "#/definitions/Principals"
        type: array
      enableAutomaticUnitAdjustment:
        description: Automatic unit adjustment enabled or not.
        type: boolean
      sku:
        description: Azure data catalog SKU.
        enum:
          - Free
          - Standard
        type: string
        x-ms-enum:
          modelAsString: true
          name: SkuType
      successfullyProvisioned:
        description: Azure data catalog provision status.
        type: boolean
      units:
        description: Azure data catalog units.
        type: integer
      users:
        description: Azure data catalog user list.
        items:
          $ref: "#/definitions/Principals"
        type: array
  ADCCatalogsListResult:
    description: The response from the List Azure Data Catalog operation.
    properties:
      value:
        description: the list of Azure Data Catalogs.
        items:
          $ref: "#/definitions/ADCCatalog"
        type: array
  OperationDisplayInfo:
    description: The operation supported by Azure Data Catalog Service.
    properties:
      description:
        description: The description of the operation.
        type: string
      operation:
        description: The action that users can perform, based on their permission level.
        type: string
      provider:
        description: "Service provider: Azure Data Catalog Service."
        type: string
      resource:
        description: Resource on which the operation is performed.
        type: string
    type: object
  OperationEntity:
    description: The operation supported by Azure Data Catalog Service.
    properties:
      display:
        $ref: "#/definitions/OperationDisplayInfo"
        description: The operation supported by Azure Data Catalog Service.
      name:
        description: "Operation name: {provider}/{resource}/{operation}."
        type: string
    type: object
  OperationEntityListResult:
    description: The list of Azure data catalog service operation response.
    properties:
      value:
        description: The list of operations.
        items:
          $ref: "#/definitions/OperationEntity"
        type: array
    type: object
  Principals:
    description: User principals.
    properties:
      objectId:
        description: Object Id for the user
        type: string
      upn:
        description: UPN of the user.
        type: string
  Resource:
    description: The Resource model definition.
    properties:
      etag:
        description: Resource etag
        type: string
      id:
        description: Resource Id
        readOnly: true
        type: string
      location:
        description: Resource location
        type: string
        x-ms-mutability:
          - create
          - read
      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
    x-ms-azure-resource: true
