swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Microsoft NetApp Azure Resource Provider specification
  title: Microsoft NetApp
  version: 2017-08-15
  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: AzureNetAppFilesManagementClient
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/netapp.json
      version: "2.0"
  x-preferred: false
  x-providerName: azure.com
  x-serviceName: netapp
  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:
  AccountName:
    description: The name of the NetApp account
    in: path
    name: accountName
    required: true
    type: string
    x-ms-parameter-location: method
  ApiVersionParameter:
    default: 2017-08-15
    description: Version of the API to be used with the client request.
    in: query
    name: api-version
    required: true
    type: string
  MountTargetName:
    description: The name of the mount target
    in: path
    name: mountTargetName
    required: true
    type: string
    x-ms-parameter-location: method
  PoolName:
    description: The name of the capacity pool
    in: path
    name: poolName
    required: true
    type: string
    x-ms-parameter-location: method
  ResourceGroup:
    description: The name of the resource group.
    in: path
    maxLength: 90
    minLength: 1
    name: resourceGroupName
    pattern: ^[-\w\._\(\)]+$
    required: true
    type: string
    x-ms-parameter-location: method
  SnapshotName:
    description: The name of the mount target
    in: path
    name: snapshotName
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionId:
    description: 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
  VolumeName:
    description: The name of the volume
    in: path
    name: volumeName
    required: true
    type: string
    x-ms-parameter-location: method
paths:
  /providers/Microsoft.NetApp/operations:
    get:
      description: Lists all of the available Microsoft.NetApp Rest API operations
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/OperationListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Operations
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts":
    get:
      description: Lists all NetApp accounts in the resource group
      operationId: Accounts_List
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/netAppAccountList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - NetApp Accounts
      x-ms-examples:
        Accounts_List:
          parameters:
            api-version: 2017-08-15
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                value:
                  - location: eastus
                    properties:
                      provisioningState: Created
      x-ms-pageable:
        nextLinkName: null
    parameters:
      - $ref: "#/parameters/SubscriptionId"
      - $ref: "#/parameters/ResourceGroup"
      - $ref: "#/parameters/ApiVersionParameter"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}":
    delete:
      description: Delete a NetApp account
      operationId: Accounts_Delete
      responses:
        "202":
          description: Accepted -- Create or update request accepted; operation will complete asynchronously
        "204":
          description: NoContent -- Resource does not exist.
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - NetApp Accounts
      x-ms-examples:
        Accounts_Delete:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Get the NetApp account
      operationId: Accounts_Get
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/netAppAccount"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - NetApp Accounts
      x-ms-examples:
        Accounts_Get:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                location: eastus
                properties:
                  provisioningState: Created
    parameters:
      - $ref: "#/parameters/SubscriptionId"
      - $ref: "#/parameters/ResourceGroup"
      - $ref: "#/parameters/AccountName"
      - $ref: "#/parameters/ApiVersionParameter"
    patch:
      description: Patch a NetApp account
      operationId: Accounts_Update
      parameters:
        - description: NetApp Account object supplied in the body of the operation.
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/netAppAccountPatch"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/netAppAccount"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - NetApp Accounts
      x-ms-examples:
        Accounts_Update:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            body: {}
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                location: eastus
                properties:
                  provisioningState: Succeeded
    put:
      description: Create or update a NetApp account
      operationId: Accounts_CreateOrUpdate
      parameters:
        - description: NetApp Account object supplied in the body of the operation.
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/netAppAccount"
      responses:
        "200":
          description: OK - account updated
          schema:
            $ref: "#/definitions/netAppAccount"
        "201":
          description: Account created
          schema:
            $ref: "#/definitions/netAppAccount"
        "202":
          description: Accepted -- Create request accepted; operation will complete asynchronously
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - NetApp Accounts
      x-ms-examples:
        Accounts_CreateOrUpdate:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            body: {}
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                location: eastus
                properties:
                  provisioningState: Succeeded
            "201":
              body:
                location: eastus
                properties:
                  provisioningState: Succeeded
            "202": {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools":
    get:
      description: Lists all capacity pools in the NetApp Account
      operationId: Pools_List
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/capacityPoolList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Capacity Pools
      x-ms-examples:
        Pools_List:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                value:
                  - location: eastus
                    properties:
                      poolId: 9760acf5-4638-11e7-9bdb-020073ca7778
                      provisioningState: Created
                      serviceLevel: Premium
                      size: 4398046511104
      x-ms-pageable:
        nextLinkName: null
    parameters:
      - $ref: "#/parameters/SubscriptionId"
      - $ref: "#/parameters/ResourceGroup"
      - $ref: "#/parameters/AccountName"
      - $ref: "#/parameters/ApiVersionParameter"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}":
    delete:
      description: Delete a capacity pool
      operationId: Pools_Delete
      responses:
        "202":
          description: Accepted -- Create or update request accepted; operation will complete asynchronously
        "204":
          description: NoContent -- Resource does not exist.
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Capacity Pools
      x-ms-examples:
        Pools_Delete:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            poolName: poolName
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Get a capacity pool
      operationId: Pools_Get
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/capacityPool"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Capacity Pools
      x-ms-examples:
        Pools_Get:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            poolName: poolName
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                location: eastus
                properties:
                  poolId: 9760acf5-4638-11e7-9bdb-020073ca7778
                  provisioningState: Created
                  serviceLevel: Premium
                  size: 4398046511104
    parameters:
      - $ref: "#/parameters/SubscriptionId"
      - $ref: "#/parameters/ResourceGroup"
      - $ref: "#/parameters/AccountName"
      - $ref: "#/parameters/PoolName"
      - $ref: "#/parameters/ApiVersionParameter"
    patch:
      description: Patch a capacity pool
      operationId: Pools_Update
      parameters:
        - description: Capacity pool object supplied in the body of the operation.
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/capacityPoolPatch"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/capacityPool"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Capacity Pools
      x-ms-examples:
        Pools_Update:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            body: {}
            poolName: poolName
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                location: eastus
                properties:
                  poolId: 9760acf5-4638-11e7-9bdb-020073ca7778
                  provisioningState: Created
                  serviceLevel: Premium
                  size: 4398046511104
    put:
      description: Create or Update a capacity pool
      operationId: Pools_CreateOrUpdate
      parameters:
        - description: Capacity pool object supplied in the body of the operation.
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/capacityPool"
      responses:
        "200":
          description: OK - pool updated
          schema:
            $ref: "#/definitions/capacityPool"
        "201":
          description: Pool created
          schema:
            $ref: "#/definitions/capacityPool"
        "202":
          description: Accepted -- Create request accepted; operation will complete asynchronously
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Capacity Pools
      x-ms-examples:
        Pools_CreateOrUpdate:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            body: {}
            poolName: poolName
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                location: eastus
                properties:
                  poolId: 9760acf5-4638-11e7-9bdb-020073ca7778
                  provisioningState: Created
                  serviceLevel: Premium
                  size: 4398046511104
            "201":
              body:
                location: eastus
                properties:
                  poolId: 9760acf5-4638-11e7-9bdb-020073ca7778
                  provisioningState: Created
                  serviceLevel: Premium
                  size: 4398046511104
            "202": {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes":
    get:
      description: List volumes
      operationId: Volumes_List
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/volumeList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Volumes
      x-ms-examples:
        Volumes_List:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            poolName: poolName
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                value:
                  - location: eastus
                    properties:
                      creationToken: some-amazing-filepath
                      fileSystemId: 9760acf5-4638-11e7-9bdb-020073ca7778
                      provisioningState: Created
                      serviceLevel: Premium
                      subnetId: /subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3
                      usageThreshold: 107374182400
      x-ms-pageable:
        nextLinkName: null
    parameters:
      - $ref: "#/parameters/SubscriptionId"
      - $ref: "#/parameters/ResourceGroup"
      - $ref: "#/parameters/AccountName"
      - $ref: "#/parameters/PoolName"
      - $ref: "#/parameters/ApiVersionParameter"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}":
    delete:
      description: Delete a volume
      operationId: Volumes_Delete
      responses:
        "202":
          description: Accepted -- Create or update request accepted; operation will complete asynchronously
        "204":
          description: NoContent -- Resource does not exist.
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Volumes
      x-ms-examples:
        Volumes_Delete:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            poolName: poolName
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
            volumeName: volumeName
          responses:
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Get a volume
      operationId: Volumes_Get
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/volume"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Volumes
      x-ms-examples:
        Volumes_Get:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            poolName: poolName
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
            volumeName: volumeName
          responses:
            "200":
              body:
                location: eastus
                properties:
                  creationToken: some-amazing-filepath
                  fileSystemId: 9760acf5-4638-11e7-9bdb-020073ca7778
                  provisioningState: Created
                  serviceLevel: Premium
                  subnetId: /subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3
                  usageThreshold: 107374182400
    parameters:
      - $ref: "#/parameters/SubscriptionId"
      - $ref: "#/parameters/ResourceGroup"
      - $ref: "#/parameters/AccountName"
      - $ref: "#/parameters/PoolName"
      - $ref: "#/parameters/VolumeName"
      - $ref: "#/parameters/ApiVersionParameter"
    patch:
      description: Patch a volume
      operationId: Volumes_Update
      parameters:
        - description: Volume object supplied in the body of the operation.
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/volumePatch"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/volume"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Volumes
      x-ms-examples:
        Volumes_Update:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            body: {}
            poolName: poolName
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
            volumeName: volumeName
          responses:
            "200":
              body:
                location: eastus
                properties:
                  creationToken: some-amazing-filepath
                  fileSystemId: 9760acf5-4638-11e7-9bdb-020073ca7778
                  provisioningState: Created
                  serviceLevel: Premium
                  usageThreshold: 107374182400
    put:
      description: Create or update a volume
      operationId: Volumes_CreateOrUpdate
      parameters:
        - description: Volume object supplied in the body of the operation.
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/volume"
      responses:
        "200":
          description: Ok - volume updated
          schema:
            $ref: "#/definitions/volume"
        "201":
          description: Volume created
          schema:
            $ref: "#/definitions/volume"
        "202":
          description: Accepted -- Create request accepted; operation will complete asynchronously
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Volumes
      x-ms-examples:
        Volumes_CreateOrUpdate:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            body: {}
            poolName: poolName
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
            volumeName: volumeName
          responses:
            "200":
              body:
                location: eastus
                properties:
                  creationToken: some-amazing-filepath
                  fileSystemId: 9760acf5-4638-11e7-9bdb-020073ca7778
                  provisioningState: Created
                  serviceLevel: Premium
                  subnetId: /subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3
                  usageThreshold: 107374182400
            "201":
              body:
                location: eastus
                properties:
                  creationToken: some-amazing-filepath
                  fileSystemId: 9760acf5-4638-11e7-9bdb-020073ca7778
                  provisioningState: Created
                  serviceLevel: Premium
                  subnetId: /subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3
                  usageThreshold: 107374182400
            "202": {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/mountTargets":
    get:
      description: List mount targets
      operationId: MountTargets_List
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/mountTargetList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - MountTargets
      x-ms-examples:
        MountTargets_List:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            poolName: poolName
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
            volumeName: volumeName
          responses:
            "200":
              body:
                value:
                  - location: eastus
                    properties:
                      endIp: 1.2.3.4
                      fileSystemId: 9760acf5-4638-11e7-9bdb-020073ca3333
                      gateway: 1.2.3.4
                      ipAddress: 1.2.3.4
                      mountTargetId: 9760acf5-4638-11e7-9bdb-020073ca3333
                      netmask: 255.255.255.0
                      provisioningState: Created
                      smbServerFqdn: fullyqualified.domainname.com
                      startIp: 1.2.3.4
                      subnet: 1.2.3.4
      x-ms-pageable:
        nextLinkName: null
    parameters:
      - $ref: "#/parameters/SubscriptionId"
      - $ref: "#/parameters/ResourceGroup"
      - $ref: "#/parameters/AccountName"
      - $ref: "#/parameters/PoolName"
      - $ref: "#/parameters/VolumeName"
      - $ref: "#/parameters/ApiVersionParameter"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots":
    get:
      description: List snapshots
      operationId: Snapshots_List
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/snapshotsList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Snapshots
      x-ms-examples:
        Snapshots_List:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            poolName: poolName
            resourceGroupName: resourceGroup
            subscriptionId: subscriptionId
            volumeName: volumeName
          responses:
            "200":
              body:
                value:
                  - location: eastus
                    properties:
                      creationDate: 2017-08-15T13:23:33Z
                      fileSystemId: 9760acf5-4638-11e7-9bdb-020073ca3333
                      provisioningState: Created
                      snapshotId: 9760acf5-4638-11e7-9bdb-020073ca3333
      x-ms-pageable:
        nextLinkName: null
    parameters:
      - $ref: "#/parameters/SubscriptionId"
      - $ref: "#/parameters/ResourceGroup"
      - $ref: "#/parameters/AccountName"
      - $ref: "#/parameters/PoolName"
      - $ref: "#/parameters/VolumeName"
      - $ref: "#/parameters/ApiVersionParameter"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}":
    delete:
      description: Delete snapshot
      operationId: Snapshots_Delete
      responses:
        "200":
          description: OK
        "202":
          description: Accepted -- Create or update request accepted; operation will complete asynchronously
        "204":
          description: NoContent -- Resource does not exist.
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Snapshots
      x-ms-examples:
        Snapshots_Delete:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            poolName: poolName
            resourceGroupName: resourceGroup
            snapshotName: snapshotName
            subscriptionId: subscriptionId
            volumeName: volumeName
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Get a snapshot
      operationId: Snapshots_Get
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/snapshot"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Snapshots
      x-ms-examples:
        Snapshots_Get:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            poolName: poolName
            resourceGroupName: resourceGroup
            snapshotName: snapshotName
            subscriptionId: subscriptionId
            volumeName: volumeName
          responses:
            "200":
              body:
                location: eastus
                properties:
                  creationDate: 2017-08-15T13:23:33Z
                  fileSystemId: 9760acf5-4638-11e7-9bdb-020073ca3333
                  provisioningState: Created
                  snapshotId: 9760acf5-4638-11e7-9bdb-020073ca3333
    parameters:
      - $ref: "#/parameters/SubscriptionId"
      - $ref: "#/parameters/ResourceGroup"
      - $ref: "#/parameters/AccountName"
      - $ref: "#/parameters/PoolName"
      - $ref: "#/parameters/VolumeName"
      - $ref: "#/parameters/SnapshotName"
      - $ref: "#/parameters/ApiVersionParameter"
    patch:
      description: Patch a snapshot
      operationId: Snapshots_Update
      parameters:
        - description: Snapshot object supplied in the body of the operation.
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/snapshotPatch"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/snapshot"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Snapshots
      x-ms-examples:
        Snapshots_Update:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            body: {}
            poolName: poolName
            resourceGroupName: resourceGroup
            snapshotName: snapshotName
            subscriptionId: subscriptionId
            volumeName: volumeName
          responses:
            "200":
              body:
                location: eastus
                properties:
                  creationDate: 2017-08-15T13:23:33Z
                  fileSystemId: 9760acf5-4638-11e7-9bdb-020073ca3333
                  provisioningState: Created
                  snapshotId: 9760acf5-4638-11e7-9bdb-020073ca3333
    put:
      description: Create a snapshot
      operationId: Snapshots_Create
      parameters:
        - description: Snapshot object supplied in the body of the operation.
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/snapshot"
      responses:
        "201":
          description: Snapshot created
          schema:
            $ref: "#/definitions/snapshot"
        "202":
          description: Accepted -- Create request accepted; operation will complete asynchronously
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/error"
      tags:
        - Snapshots
      x-ms-examples:
        Snapshots_Create:
          parameters:
            accountName: accountName
            api-version: 2017-08-15
            body: {}
            poolName: poolName
            resourceGroupName: resourceGroup
            snapshotName: snapshotName
            subscriptionId: subscriptionId
            volumeName: volumeName
          responses:
            "201":
              body:
                location: eastus
                properties:
                  creationDate: 2017-08-15T13:23:33Z
                  fileSystemId: 9760acf5-4638-11e7-9bdb-020073ca3333
                  provisioningState: Created
                  snapshotId: 9760acf5-4638-11e7-9bdb-020073ca3333
            "202": {}
      x-ms-long-running-operation: true
definitions:
  Dimension:
    description: Dimension of blobs, possibly be blob type or access tier.
    properties:
      displayName:
        description: Display name of dimension.
        type: string
      name:
        description: Display name of dimension.
        type: string
  MetricSpecification:
    description: Metric specification of operation.
    properties:
      aggregationType:
        description: Aggregation type could be Average.
        type: string
      category:
        description: The category this metric specification belong to, could be Capacity.
        type: string
      dimensions:
        description: Dimensions of blobs, including blob type and access tier.
        items:
          $ref: "#/definitions/Dimension"
        type: array
      displayDescription:
        description: Display description of metric specification.
        type: string
      displayName:
        description: Display name of metric specification.
        type: string
      fillGapWithZero:
        description: The property to decide fill gap with zero or not.
        type: boolean
      name:
        description: Name of metric specification.
        type: string
      resourceIdDimensionNameOverride:
        description: Account Resource Id.
        type: string
      unit:
        description: Unit could be Bytes or Count.
        type: string
  Operation:
    description: Microsoft.NetApp REST API operation definition.
    properties:
      display:
        description: Display metadata associated with the operation.
        properties:
          description:
            description: Operation description.
            type: string
          operation:
            description: "Type of operation: get, read, delete, etc."
            type: string
          provider:
            description: "Service provider: Microsoft NetApp."
            type: string
          resource:
            description: Resource on which the operation is performed etc.
            type: string
      name:
        description: "Operation name: {provider}/{resource}/{operation}"
        type: string
      origin:
        description: The origin of operations.
        type: string
      properties:
        $ref: "#/definitions/OperationProperties"
        description: Properties of operation, include metric specifications.
        x-ms-client-flatten: true
    type: object
  OperationListResult:
    description: Result of the request to list Cloud Volume operations. It contains a list of operations and a URL link to get the next set of results.
    properties:
      value:
        description: List of Storage operations supported by the Storage resource provider.
        items:
          $ref: "#/definitions/Operation"
        type: array
  OperationProperties:
    description: Properties of operation, include metric specifications.
    properties:
      serviceSpecification:
        $ref: "#/definitions/ServiceSpecification"
        description: One property of operation, include metric specifications.
  ServiceSpecification:
    description: One property of operation, include metric specifications.
    properties:
      metricSpecifications:
        description: Metric specifications of operation.
        items:
          $ref: "#/definitions/MetricSpecification"
        type: array
  accountProperties:
    description: NetApp account properties
    properties:
      activeDirectories:
        description: Active Directories
        items:
          $ref: "#/definitions/activeDirectory"
        type: array
      provisioningState:
        description: Azure lifecycle management
        readOnly: true
        type: string
    type: object
  activeDirectory:
    description: Active Directory
    properties:
      activeDirectoryId:
        description: Id of the Active Directory
        type: string
      dNS:
        description: Comma separated list of DNS server IP addresses for the Active Directory domain
        type: string
      domain:
        description: Name of the Active Directory domain
        type: string
      organizationalUnit:
        description: The Organizational Unit (OU) within the Windows Active Directory
        type: string
      password:
        description: Plain text password of Active Directory domain administrator
        type: string
      sMBServerName:
        description: NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes
        type: string
      status:
        description: Status of the Active Directory
        type: string
      username:
        description: Username of Active Directory domain administrator
        type: string
    type: object
  capacityPool:
    description: Capacity pool resource
    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
      properties:
        $ref: "#/definitions/poolProperties"
        description: Capacity pool properties
        x-ms-client-flatten: true
      tags:
        $ref: "#/definitions/resourceTags"
        description: Resource tags
      type:
        description: Resource type
        readOnly: true
        type: string
    required:
      - location
      - properties
    type: object
    x-ms-azure-resource: true
  capacityPoolList:
    description: List of capacity pool resources
    properties:
      value:
        description: List of Capacity pools
        items:
          $ref: "#/definitions/capacityPool"
        type: array
    type: object
  capacityPoolPatch:
    description: Capacity pool patch resource
    properties:
      id:
        description: Resource Id
        readOnly: true
        type: string
      location:
        description: Resource location
        type: string
      name:
        description: Resource name
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/poolPatchProperties"
        description: Capacity pool properties
        x-ms-client-flatten: true
      tags:
        $ref: "#/definitions/resourceTags"
        description: Resource tags
      type:
        description: Resource type
        readOnly: true
        type: string
    type: object
    x-ms-azure-resource: true
  error:
    description: Error response describing why the operation failed.
    properties:
      code:
        description: Error code
        example: ErrorCode
        type: string
      message:
        description: Detailed error message
        example: Detailed error message
        type: string
    required:
      - code
      - message
    type: object
  exportPolicyRule:
    description: Volume Export Policy Rule
    properties:
      allowedClients:
        description: Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names
        type: string
      cifs:
        description: Allows CIFS protocol
        type: boolean
      nfsv3:
        description: Allows NFSv3 protocol
        type: boolean
      nfsv4:
        description: Allows NFSv4 protocol
        type: boolean
      ruleIndex:
        description: Order index
        type: integer
      unixReadOnly:
        description: Read only access
        type: boolean
      unixReadWrite:
        description: Read and write access
        type: boolean
    type: object
  mountTarget:
    description: Mount Target
    properties:
      id:
        description: Resource Id
        readOnly: true
        type: string
      location:
        description: Resource location
        type: string
      name:
        description: Resource name
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/mountTargetProperties"
        description: Mount Target Properties
        x-ms-client-flatten: true
      tags:
        $ref: "#/definitions/resourceTags"
        description: Resource tags
        x-ms-client-flatten: true
    required:
      - location
      - properties
    type: object
  mountTargetList:
    description: List of Mount Targets
    properties:
      value:
        description: A list of Mount targets
        items:
          $ref: "#/definitions/mountTarget"
        type: array
    type: object
  mountTargetProperties:
    description: Mount target properties
    properties:
      endIp:
        description: The end of IPv4 address range to use when creating a new mount target
        example: 1.2.3.4
        title: endIp
        type: string
      fileSystemId:
        description: UUID v4 used to identify the MountTarget
        example: 9760acf5-4638-11e7-9bdb-020073ca3333
        maxLength: 36
        minLength: 36
        pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
        title: fileSystemId
        type: string
      gateway:
        description: The gateway of the IPv4 address range to use when creating a new mount target
        example: 1.2.3.4
        title: gateway
        type: string
      ipAddress:
        description: The mount target's IPv4 address
        example: 1.2.3.4
        readOnly: true
        title: ipAddress
        type: string
      mountTargetId:
        description: UUID v4 used to identify the MountTarget
        example: 9760acf5-4638-11e7-9bdb-020073ca3333
        maxLength: 36
        minLength: 36
        pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
        readOnly: true
        title: mountTargetId
        type: string
      netmask:
        description: The netmask of the IPv4 address range to use when creating a new mount target
        example: 255.255.255.0
        title: netmask
        type: string
      provisioningState:
        description: Azure lifecycle management
        readOnly: true
        type: string
      smbServerFqdn:
        description: The SMB server's Fully Qualified Domain Name, FQDN
        example: fullyqualified.domainname.com
        title: smbServerFQDN
        type: string
      startIp:
        description: The start of IPv4 address range to use when creating a new mount target
        example: 1.2.3.4
        title: startIp
        type: string
      subnet:
        description: The subnet
        example: 1.2.3.4
        title: subnet
        type: string
    required:
      - fileSystemId
    type: object
  netAppAccount:
    description: NetApp account resource
    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
      properties:
        $ref: "#/definitions/accountProperties"
        description: NetApp Account properties
        x-ms-client-flatten: true
      tags:
        $ref: "#/definitions/resourceTags"
        description: Resource tags
      type:
        description: Resource type
        readOnly: true
        type: string
    required:
      - location
      - properties
    type: object
    x-ms-azure-resource: true
  netAppAccountList:
    description: List of NetApp account resources
    properties:
      value:
        description: Multiple NetApp accounts
        items:
          $ref: "#/definitions/netAppAccount"
        type: array
    type: object
  netAppAccountPatch:
    description: NetApp account patch resource
    properties:
      id:
        description: Resource Id
        readOnly: true
        type: string
      location:
        description: Resource location
        type: string
      name:
        description: Resource name
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/accountProperties"
        description: NetApp Account properties
        x-ms-client-flatten: true
      tags:
        $ref: "#/definitions/resourceTags"
        description: Resource tags
      type:
        description: Resource type
        readOnly: true
        type: string
    type: object
    x-ms-azure-resource: true
  poolPatchProperties:
    description: Patchable pool properties
    properties:
      serviceLevel:
        default: Premium
        description: The service level of the file system
        enum:
          - Standard
          - Premium
          - Ultra
        example: Ultra
        title: serviceLevel
        type: string
        x-ms-enum:
          modelAsString: true
          name: ServiceLevel
          values:
            - description: Standard service level
              value: Standard
            - description: Premium service level
              value: Premium
            - description: Ultra service level
              value: Ultra
      size:
        default: 4398046511104
        description: Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).
        format: int64
        maximum: 549755813888000
        minimum: 4398046511104
        title: size
        type: integer
    type: object
  poolProperties:
    description: Pool properties
    properties:
      poolId:
        description: UUID v4 used to identify the Pool
        example: 9760acf5-4638-11e7-9bdb-020073ca7778
        maxLength: 36
        minLength: 36
        pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
        readOnly: true
        title: poolId
        type: string
      provisioningState:
        description: Azure lifecycle management
        readOnly: true
        type: string
      serviceLevel:
        default: Premium
        description: The service level of the file system
        enum:
          - Standard
          - Premium
          - Ultra
        example: Ultra
        title: serviceLevel
        type: string
        x-ms-enum:
          modelAsString: true
          name: ServiceLevel
          values:
            - description: Standard service level
              value: Standard
            - description: Premium service level
              value: Premium
            - description: Ultra service level
              value: Ultra
      size:
        default: 4398046511104
        description: Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).
        format: int64
        maximum: 549755813888000
        minimum: 4398046511104
        title: size
        type: integer
    type: object
  resourceTags:
    description: Resource tags
    type: object
  snapshot:
    description: Snapshot of a Volume
    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
      properties:
        $ref: "#/definitions/snapshotProperties"
        description: Snapshot Properties
        x-ms-client-flatten: true
      tags:
        $ref: "#/definitions/resourceTags"
        description: Resource tags
        x-ms-client-flatten: true
      type:
        description: Resource type
        readOnly: true
        type: string
    required:
      - location
      - properties
    type: object
    x-ms-azure-resource: true
  snapshotPatch:
    description: Snapshot patch
    properties:
      tags:
        $ref: "#/definitions/resourceTags"
        description: Resource tags
        x-ms-client-flatten: true
    type: object
    x-ms-azure-resource: true
  snapshotProperties:
    description: Snapshot properties
    properties:
      creationDate:
        description: The creation date of the snapshot
        example: 2017-08-15 13:23:33
        format: date-time
        readOnly: true
        title: name
        type: string
      fileSystemId:
        description: UUID v4 used to identify the FileSystem
        example: 9760acf5-4638-11e7-9bdb-020073ca3333
        maxLength: 36
        minLength: 36
        pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
        title: fileSystemId
        type: string
      provisioningState:
        description: Azure lifecycle management
        readOnly: true
        type: string
      snapshotId:
        description: UUID v4 used to identify the Snapshot
        example: 9760acf5-4638-11e7-9bdb-020073ca3333
        maxLength: 36
        minLength: 36
        pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
        readOnly: true
        title: snapshotId
        type: string
    required:
      - fileSystemId
    type: object
  snapshotsList:
    description: List of Snapshots
    properties:
      value:
        description: A list of Snapshots
        items:
          $ref: "#/definitions/snapshot"
        type: array
    type: object
  volume:
    description: Volume resource
    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
      properties:
        $ref: "#/definitions/volumeProperties"
        description: Volume properties
        x-ms-client-flatten: true
      tags:
        $ref: "#/definitions/resourceTags"
        description: Resource tags
      type:
        description: Resource type
        readOnly: true
        type: string
    required:
      - location
      - properties
    type: object
    x-ms-azure-resource: true
  volumeList:
    description: List of volume resources
    properties:
      value:
        description: List of volumes
        items:
          $ref: "#/definitions/volume"
        type: array
    type: object
  volumePatch:
    description: Volume patch resource
    properties:
      id:
        description: Resource Id
        readOnly: true
        type: string
      location:
        description: Resource location
        type: string
      name:
        description: Resource name
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/volumePatchProperties"
        description: Patchable volume properties
        x-ms-client-flatten: true
      tags:
        $ref: "#/definitions/resourceTags"
        description: Resource tags
      type:
        description: Resource type
        readOnly: true
        type: string
    type: object
    x-ms-azure-resource: true
  volumePatchProperties:
    description: Patchable volume properties
    properties:
      exportPolicy:
        description: Export policy rule
        properties:
          rules:
            items:
              $ref: "#/definitions/exportPolicyRule"
            type: array
      serviceLevel:
        default: Premium
        description: The service level of the file system
        enum:
          - Standard
          - Premium
          - Ultra
        example: Ultra
        title: serviceLevel
        type: string
        x-ms-enum:
          modelAsString: true
          name: ServiceLevel
          values:
            - description: Standard service level
              value: Standard
            - description: Premium service level
              value: Premium
            - description: Ultra service level
              value: Ultra
      usageThreshold:
        default: 107374182400
        description: Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB.
        example: 107374182400
        format: int64
        maximum: 109951162777600
        minimum: 107374182400
        title: usageThreshold
        type: integer
    type: object
  volumeProperties:
    description: Volume properties
    properties:
      creationToken:
        description: A unique file path for the volume. Used when creating mount targets
        example: some-amazing-filepath
        maximum: 40
        minimum: 16
        title: Creation Token or File Path
        type: string
      exportPolicy:
        description: Export policy rule
        properties:
          rules:
            items:
              $ref: "#/definitions/exportPolicyRule"
            type: array
      fileSystemId:
        description: Unique FileSystem Identifier.
        example: 9760acf5-4638-11e7-9bdb-020073ca7778
        maxLength: 36
        minLength: 36
        pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
        readOnly: true
        title: FileSystem ID
        type: string
      provisioningState:
        description: Azure lifecycle management
        readOnly: true
        type: string
      serviceLevel:
        default: Premium
        description: The service level of the file system
        enum:
          - Standard
          - Premium
          - Ultra
        example: Ultra
        title: serviceLevel
        type: string
        x-ms-enum:
          modelAsString: true
          name: ServiceLevel
          values:
            - description: Standard service level
              value: Standard
            - description: Premium service level
              value: Premium
            - description: Ultra service level
              value: Ultra
      subnetId:
        description: The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes
        type: string
      usageThreshold:
        default: 107374182400
        description: Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB.
        example: 107374182400
        format: int64
        maximum: 109951162777600
        minimum: 107374182400
        title: usageThreshold
        type: integer
    required:
      - creationToken
      - serviceLevel
    type: object
