swagger: "2.0"
schemes:
  - https
host: management.azure.com
x-hasEquivalentPaths: true
info:
  description: Creates an Azure Data Lake Store account management client.
  title: DataLakeStoreAccountManagementClient
  version: 2015-10-01-preview
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/preview/2015-10-01-preview/account.json
      version: "2.0"
  x-preferred: false
  x-providerName: azure.com
  x-serviceName: datalake-store-account
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
  - text/json
  - application/octet-stream
produces:
  - application/json
  - text/json
  - application/octet-stream
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: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
  SubscriptionIdParameter:
    description: Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/accounts":
    get:
      description: Lists the Data Lake Store accounts within the subscription. The response includes a link to the next page of results, if any.
      operationId: Account_List
      parameters:
        - description: OData filter. Optional.
          in: query
          name: $filter
          required: false
          type: string
        - description: The number of items to return. Optional.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - description: The number of items to skip over before returning elements. Optional.
          format: int32
          in: query
          name: $skip
          required: false
          type: integer
        - description: OData expansion. Expand related resources in line with the retrieved resources, e.g. Categories/$expand=Products would expand Product data in line with each Category entry. Optional.
          in: query
          name: $expand
          required: false
          type: string
        - description: OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional.
          in: query
          name: $select
          required: false
          type: string
        - description: OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional.
          in: query
          name: $orderby
          required: false
          type: string
        - description: The Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional.
          in: query
          name: $count
          required: false
          type: boolean
        - description: A free form search. A free-text search expression to match for whether a particular entry should be included in the feed, e.g. Categories?$search=blue OR green. Optional.
          in: query
          name: $search
          required: false
          type: string
        - description: The desired return format. Return the response in particular format without access to request headers for standard content-type negotiation (e.g Orders?$format=json). Optional.
          in: query
          name: $format
          required: false
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/DataLakeStoreAccountListResult"
      tags:
        - Account
      x-ms-odata: "#/definitions/DataLakeStoreAccount"
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts":
    get:
      description: Lists the Data Lake Store accounts within a specific resource group. The response includes a link to the next page of results, if any.
      operationId: Account_ListByResourceGroup
      parameters:
        - description: The name of the Azure resource group that contains the Data Lake Store account(s).
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: OData filter. Optional.
          in: query
          name: $filter
          required: false
          type: string
        - description: The number of items to return. Optional.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - description: The number of items to skip over before returning elements. Optional.
          format: int32
          in: query
          name: $skip
          required: false
          type: integer
        - description: OData expansion. Expand related resources in line with the retrieved resources, e.g. Categories/$expand=Products would expand Product data in line with each Category entry. Optional.
          in: query
          name: $expand
          required: false
          type: string
        - description: OData Select statement. Limits the properties on each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional.
          in: query
          name: $select
          required: false
          type: string
        - description: OrderBy clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional.
          in: query
          name: $orderby
          required: false
          type: string
        - description: A Boolean value of true or false to request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. Optional.
          in: query
          name: $count
          required: false
          type: boolean
        - description: A free form search. A free-text search expression to match for whether a particular entry should be included in the feed, e.g. Categories?$search=blue OR green. Optional.
          in: query
          name: $search
          required: false
          type: string
        - description: The desired return format. Return the response in particular format without access to request headers for standard content-type negotiation (e.g Orders?$format=json). Optional.
          in: query
          name: $format
          required: false
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/DataLakeStoreAccountListResult"
      tags:
        - Account
      x-ms-odata: "#/definitions/DataLakeStoreAccount"
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}":
    delete:
      description: Deletes the specified Data Lake Store account.
      operationId: Account_Delete
      parameters:
        - description: The name of the Azure resource group that contains the Data Lake Store account.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Data Lake Store account to delete.
          in: path
          name: accountName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
        "202":
          description: ""
        "204":
          description: ""
        "404":
          description: ""
      tags:
        - Account
      x-ms-long-running-operation: true
    get:
      description: Gets the specified Data Lake Store account.
      operationId: Account_Get
      parameters:
        - description: The name of the Azure resource group that contains the Data Lake Store account.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Data Lake Store account to retrieve.
          in: path
          name: accountName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/DataLakeStoreAccount"
      tags:
        - Account
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/enableKeyVault":
    post:
      description: Attempts to enable a user managed key vault for encryption of the specified Data Lake Store account.
      operationId: Account_EnableKeyVault
      parameters:
        - description: The name of the Azure resource group that contains the Data Lake Store account.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Data Lake Store account to attempt to enable the Key Vault for.
          in: path
          name: accountName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Successfully enabled the user managed Key Vault for use encrypting this Data Lake Store account.
      tags:
        - Account
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules":
    get:
      description: Lists the Data Lake Store firewall rules within the specified Data Lake Store account.
      operationId: Account_ListFirewallRules
      parameters:
        - description: The name of the Azure resource group that contains the Data Lake Store account.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Data Lake Store account from which to get the firewall rules.
          in: path
          name: accountName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/DataLakeStoreFirewallRuleListResult"
      tags:
        - Account
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}":
    delete:
      description: Deletes the specified firewall rule from the specified Data Lake Store account
      operationId: Account_DeleteFirewallRule
      parameters:
        - description: The name of the Azure resource group that contains the Data Lake Store account.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Data Lake Store account from which to delete the firewall rule.
          in: path
          name: accountName
          required: true
          type: string
        - description: The name of the firewall rule to delete.
          in: path
          name: firewallRuleName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
        "204":
          description: ""
      tags:
        - Account
    get:
      description: Gets the specified Data Lake Store firewall rule.
      operationId: Account_GetFirewallRule
      parameters:
        - description: The name of the Azure resource group that contains the Data Lake Store account.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Data Lake Store account from which to get the firewall rule.
          in: path
          name: accountName
          required: true
          type: string
        - description: The name of the firewall rule to retrieve.
          in: path
          name: firewallRuleName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/FirewallRule"
      tags:
        - Account
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{name}":
    put:
      description: Creates or updates the specified firewall rule.
      operationId: Account_CreateOrUpdateFirewallRule
      parameters:
        - description: The name of the Azure resource group that contains the Data Lake Store account.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Data Lake Store account to which to add the firewall rule.
          in: path
          name: accountName
          required: true
          type: string
        - description: The name of the firewall rule to create or update.
          in: path
          name: name
          required: true
          type: string
        - description: Parameters supplied to create the create firewall rule.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/FirewallRule"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/FirewallRule"
      tags:
        - Account
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{name}":
    patch:
      description: Updates the specified Data Lake Store account information.
      operationId: Account_Update
      parameters:
        - description: The name of the Azure resource group that contains the Data Lake Store account.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Data Lake Store account to update.
          in: path
          name: name
          required: true
          type: string
        - description: Parameters supplied to update the Data Lake Store account.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/DataLakeStoreAccount"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/DataLakeStoreAccount"
        "201":
          description: ""
          schema:
            $ref: "#/definitions/DataLakeStoreAccount"
      tags:
        - Account
      x-ms-long-running-operation: true
    put:
      description: Creates the specified Data Lake Store account.
      operationId: Account_Create
      parameters:
        - description: The name of the Azure resource group that contains the Data Lake Store account.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Data Lake Store account to create.
          in: path
          name: name
          required: true
          type: string
        - description: Parameters supplied to create the Data Lake Store account.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/DataLakeStoreAccount"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/DataLakeStoreAccount"
        "201":
          description: ""
          schema:
            $ref: "#/definitions/DataLakeStoreAccount"
      tags:
        - Account
      x-ms-long-running-operation: true
definitions:
  AzureAsyncOperationResult:
    description: The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status code for the successful request. If the asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure.
    properties:
      error:
        $ref: "#/definitions/Error"
        readOnly: true
      status:
        description: the status of the AzureAsyncOperation
        enum:
          - InProgress
          - Succeeded
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: OperationStatus
  DataLakeStoreAccount:
    description: Data Lake Store account information
    properties:
      id:
        description: the account subscription ID.
        readOnly: true
        type: string
      identity:
        $ref: "#/definitions/EncryptionIdentity"
        description: The Key vault encryption identity, if any.
      location:
        description: the account regional location.
        type: string
      name:
        description: the account name.
        type: string
      properties:
        $ref: "#/definitions/DataLakeStoreAccountProperties"
        description: the Data Lake Store account properties.
      tags:
        additionalProperties:
          type: string
        description: the value of custom properties.
        type: object
      type:
        description: the namespace and type of the account.
        readOnly: true
        type: string
  DataLakeStoreAccountListResult:
    description: Data Lake Store account list information response.
    properties:
      count:
        description: the total count of results that are available, but might not be returned in the current page.
        format: int64
        readOnly: true
        type: integer
      nextLink:
        description: the link (url) to the next page of results.
        readOnly: true
        type: string
      value:
        description: the results of the list operation
        items:
          $ref: "#/definitions/DataLakeStoreAccount"
        readOnly: true
        type: array
  DataLakeStoreAccountProperties:
    description: Data Lake Store account properties information
    properties:
      creationTime:
        description: the account creation time.
        format: date-time
        readOnly: true
        type: string
      defaultGroup:
        description: the default owner group for all new folders and files created in the Data Lake Store account.
        type: string
      encryptionConfig:
        $ref: "#/definitions/EncryptionConfig"
        description: The Key vault encryption configuration.
      encryptionProvisioningState:
        description: The current state of encryption provisioning for this Data Lake store account.
        enum:
          - Creating
          - Succeeded
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: EncryptionProvisioningState
      encryptionState:
        description: The current state of encryption for this Data Lake store account.
        enum:
          - Enabled
          - Disabled
        type: string
        x-ms-enum:
          modelAsString: false
          name: EncryptionState
      endpoint:
        description: the gateway host.
        type: string
      lastModifiedTime:
        description: the account last modified time.
        format: date-time
        readOnly: true
        type: string
      provisioningState:
        description: the status of the Data Lake Store account while being provisioned.
        enum:
          - Failed
          - Creating
          - Running
          - Succeeded
          - Patching
          - Suspending
          - Resuming
          - Deleting
          - Deleted
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: DataLakeStoreAccountStatus
      state:
        description: the status of the Data Lake Store account after provisioning has completed.
        enum:
          - active
          - suspended
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: DataLakeStoreAccountState
  DataLakeStoreFirewallRuleListResult:
    description: Data Lake Store firewall rule list information.
    properties:
      count:
        description: the total count of results that are available, but might not be returned in the current page.
        format: int64
        readOnly: true
        type: integer
      nextLink:
        description: the link (url) to the next page of results.
        readOnly: true
        type: string
      value:
        description: the results of the list operation
        items:
          $ref: "#/definitions/FirewallRule"
        readOnly: true
        type: array
  EncryptionConfig:
    properties:
      keyVaultMetaInfo:
        $ref: "#/definitions/KeyVaultMetaInfo"
        description: The Key vault information for connecting to user managed encryption keys.
      type:
        description: The type of encryption configuration being used. Currently the only supported types are 'UserManaged' and 'ServiceManaged'.
        enum:
          - UserManaged
          - ServiceManaged
        type: string
        x-ms-enum:
          modelAsString: false
          name: EncryptionConfigType
  EncryptionIdentity:
    properties:
      principalId:
        description: The principal identifier associated with the encryption.
        format: uuid
        readOnly: true
        type: string
      tenantId:
        description: The tenant identifier associated with the encryption.
        format: uuid
        readOnly: true
        type: string
      type:
        description: The type of encryption being used. Currently the only supported type is 'SystemAssigned'.
        enum:
          - SystemAssigned
        type: string
        x-ms-enum:
          modelAsString: false
          name: EncryptionIdentityType
  Error:
    description: Data Lake Store error information
    properties:
      code:
        description: the HTTP status code or error code associated with this error
        readOnly: true
        type: string
      details:
        description: the list of error details
        items:
          $ref: "#/definitions/ErrorDetails"
        readOnly: true
        type: array
      innerError:
        $ref: "#/definitions/InnerError"
        description: the inner exceptions or errors, if any
        readOnly: true
      message:
        description: the error message to display.
        readOnly: true
        type: string
      target:
        description: the target of the error.
        readOnly: true
        type: string
  ErrorDetails:
    description: Data Lake Store error details information
    properties:
      code:
        description: the HTTP status code or error code associated with this error
        readOnly: true
        type: string
      message:
        description: the error message localized based on Accept-Language
        readOnly: true
        type: string
      target:
        description: the target of the particular error (for example, the name of the property in error).
        readOnly: true
        type: string
  FirewallRule:
    description: Data Lake Store firewall rule information
    properties:
      id:
        description: the firewall rule's subscription ID.
        type: string
      location:
        description: the firewall rule's regional location.
        type: string
      name:
        description: the firewall rule's name.
        type: string
      properties:
        $ref: "#/definitions/FirewallRuleProperties"
        description: the properties of the firewall rule.
      type:
        description: the namespace and type of the firewall Rule.
        readOnly: true
        type: string
  FirewallRuleProperties:
    description: Data Lake Store firewall rule properties information
    properties:
      endIpAddress:
        description: the end IP address for the firewall rule.
        type: string
      startIpAddress:
        description: the start IP address for the firewall rule.
        type: string
  InnerError:
    description: Data Lake Store inner error information
    properties:
      context:
        description: the context for the error message
        readOnly: true
        type: string
      trace:
        description: the stack trace for the error
        readOnly: true
        type: string
  KeyVaultMetaInfo:
    properties:
      encryptionKeyName:
        description: The name of the user managed encryption key.
        type: string
      encryptionKeyVersion:
        description: The version of the user managed encryption key.
        type: string
      keyVaultResourceId:
        description: The resource identifier for the user managed Key Vault being used to encrypt.
        type: string
