swagger: "2.0"
schemes:
  - https
host: adminmanagement.local.azurestack.external
info:
  description: IP pool operation endpoints and objects.
  title: FabricAdminClient
  version: 2016-05-01
  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/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/IpPool.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: azsadmin-IpPool
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Authorization uses an Azure Active Directory OAuth2 flow.
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
parameters:
  IpPoolNameParameter:
    description: IP pool name.
    in: path
    name: ipPool
    required: true
    type: string
    x-ms-parameter-location: method
  IpPoolParameter:
    description: IP pool object to send.
    in: body
    name: pool
    required: true
    schema:
      $ref: "#/definitions/IpPool"
    x-ms-parameter-location: method
paths:
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools":
    get:
      description: Returns a list of all IP pools at a certain location.
      operationId: IpPools_List
      parameters:
        - description: Subscription credentials that 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
        - description: Name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Location of the resource.
          in: path
          name: location
          required: true
          type: string
          x-ms-parameter-location: method
        - default: 2016-05-01
          description: Client API Version.
          in: query
          name: api-version
          required: true
          type: string
        - description: OData filter parameter.
          in: query
          name: $filter
          type: string
          x-ms-parameter-location: method
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/IpPoolList"
        "404":
          description: NOT FOUND
      tags:
        - IpPools
      x-ms-examples:
        Returns a list of all IP pools at a certain location.:
          parameters:
            api-version: 2016-05-01
            location: local
            resourceGroupName: System.local
            subscriptionId: 20ff7fc3-e762-44dd-bd96-b71116dcdc23
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/ipPools/13ff1d24-17e5-4a95-a4b2-f3ec7ceaafb1
                    location: local
                    name: 13ff1d24-17e5-4a95-a4b2-f3ec7ceaafb1
                    properties:
                      endIpAddress: 192.168.200.62
                      numberOfAllocatedIpAddresses: 3
                      numberOfIpAddresses: 62
                      numberOfIpAddressesInTransition: 0
                      startIpAddress: 192.168.200.1
                    tags: {}
                    type: Microsoft.Fabric.Admin/fabricLocations/ipPools
                  - id: /subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/ipPools/7d78b1d4-059d-4956-bd08-a174ef5db6ae
                    location: local
                    name: 7d78b1d4-059d-4956-bd08-a174ef5db6ae
                    properties:
                      endIpAddress: 192.168.105.255
                      numberOfAllocatedIpAddresses: 8
                      numberOfIpAddresses: 255
                      numberOfIpAddressesInTransition: 0
                      startIpAddress: 192.168.105.1
                    tags: {}
                    type: Microsoft.Fabric.Admin/fabricLocations/ipPools
                  - id: /subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/ipPools/acd04be9-69fe-4713-99d3-99046f971f73
                    location: local
                    name: acd04be9-69fe-4713-99d3-99046f971f73
                    properties:
                      endIpAddress: 192.168.200.111
                      numberOfAllocatedIpAddresses: 0
                      numberOfIpAddresses: 47
                      numberOfIpAddressesInTransition: 0
                      startIpAddress: 192.168.200.65
                    tags: {}
                    type: Microsoft.Fabric.Admin/fabricLocations/ipPools
                  - id: /subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/ipPools/cace184f-12a4-43a7-ab22-9796cda85c56
                    location: local
                    name: cace184f-12a4-43a7-ab22-9796cda85c56
                    properties:
                      endIpAddress: 192.168.200.127
                      numberOfAllocatedIpAddresses: 1
                      numberOfIpAddresses: 16
                      numberOfIpAddressesInTransition: 0
                      startIpAddress: 192.168.200.112
                    tags: {}
                    type: Microsoft.Fabric.Admin/fabricLocations/ipPools
                  - id: /subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/ipPools/cf9ccfbf-d902-44ef-914c-3e59c2cc5215
                    location: local
                    name: cf9ccfbf-d902-44ef-914c-3e59c2cc5215
                    properties:
                      endIpAddress: 192.168.200.254
                      numberOfAllocatedIpAddresses: 1
                      numberOfIpAddresses: 31
                      numberOfIpAddressesInTransition: 0
                      startIpAddress: 192.168.200.224
                    tags: {}
                    type: Microsoft.Fabric.Admin/fabricLocations/ipPools
                  - id: /subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/ipPools/e7eb5792-8240-4210-8f25-73cf2d0be74a
                    location: local
                    name: e7eb5792-8240-4210-8f25-73cf2d0be74a
                    properties:
                      endIpAddress: 192.168.102.255
                      numberOfAllocatedIpAddresses: 33
                      numberOfIpAddresses: 255
                      numberOfIpAddressesInTransition: 0
                      startIpAddress: 192.168.102.1
                    tags: {}
                    type: Microsoft.Fabric.Admin/fabricLocations/ipPools
                  - id: /subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/ipPools/TestIpPool199198
                    location: local
                    name: TestIpPool199198
                    properties:
                      endIpAddress: 192.198.9.255
                      numberOfAllocatedIpAddresses: 0
                      numberOfIpAddresses: 255
                      numberOfIpAddressesInTransition: 0
                      startIpAddress: 192.198.9.1
                    tags: {}
                    type: Microsoft.Fabric.Admin/fabricLocations/ipPools
                  - id: /subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/ipPools/TestIpPool1992
                    location: local
                    name: TestIpPool1992
                    properties:
                      endIpAddress: 192.2.9.255
                      numberOfAllocatedIpAddresses: 0
                      numberOfIpAddresses: 255
                      numberOfIpAddressesInTransition: 0
                      startIpAddress: 192.2.9.1
                    tags: {}
                    type: Microsoft.Fabric.Admin/fabricLocations/ipPools
                  - id: /subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/ipPools/TestIpPool1993
                    location: local
                    name: TestIpPool1993
                    properties:
                      endIpAddress: 192.3.9.255
                      numberOfAllocatedIpAddresses: 0
                      numberOfIpAddresses: 255
                      numberOfIpAddressesInTransition: 0
                      startIpAddress: 192.3.9.1
                    tags: {}
                    type: Microsoft.Fabric.Admin/fabricLocations/ipPools
            "404": {}
      x-ms-odata: "#/definitions/IpPool"
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools/{ipPool}":
    get:
      description: Return the requested IP pool.
      operationId: IpPools_Get
      parameters:
        - description: Subscription credentials that 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
        - description: Name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Location of the resource.
          in: path
          name: location
          required: true
          type: string
          x-ms-parameter-location: method
        - $ref: "#/parameters/IpPoolNameParameter"
        - default: 2016-05-01
          description: Client API Version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/IpPool"
        "404":
          description: NOT FOUND
      tags:
        - IpPools
      x-ms-examples:
        Return the requested IP pool.:
          parameters:
            api-version: 2016-05-01
            ipPool: 981fec89-67d6-453e-bf21-5ff11562564f
            location: local
            resourceGroupName: System.local
            subscriptionId: 20ff7fc3-e762-44dd-bd96-b71116dcdc23
          responses:
            "200":
              body:
                id: /subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/ipPools/TestIpPool1993
                location: local
                name: TestIpPool1993
                properties:
                  endIpAddress: 192.3.9.255
                  numberOfAllocatedIpAddresses: 0
                  numberOfIpAddresses: 255
                  numberOfIpAddressesInTransition: 0
                  startIpAddress: 192.3.9.1
                tags: {}
                type: Microsoft.Fabric.Admin/fabricLocations/ipPools
            "404": {}
    put:
      description: Create an IP pool.  Once created an IP pool cannot be deleted.
      operationId: IpPools_CreateOrUpdate
      parameters:
        - description: Subscription credentials that 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
        - description: Name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Location of the resource.
          in: path
          name: location
          required: true
          type: string
          x-ms-parameter-location: method
        - $ref: "#/parameters/IpPoolNameParameter"
        - default: 2016-05-01
          description: Client API Version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/IpPoolParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/IpPool"
        "202":
          description: Accepted
          schema:
            $ref: "#/definitions/IpPool"
      tags:
        - IpPools
      x-ms-examples:
        Create an IP pool.  Once created an IP pool cannot be deleted.:
          parameters:
            api-version: 2016-05-01
            ipPool: myPool
            location: local
            pool:
              properties:
                endIpAddress: 192.168.1.254
                startIpAddress: 192.168.1.1
            resourceGroupName: System.local
            subscriptionId: 20ff7fc3-e762-44dd-bd96-b71116dcdc23
          responses:
            "200":
              body:
                properties:
                  provisioningState: Succeeded
            "202": {}
      x-ms-long-running-operation: true
definitions:
  IpPool:
    allOf:
      - description: Base resource object.
        properties:
          id:
            description: URI of the resource.
            readOnly: true
            type: string
          location:
            description: The region where the resource is located.
            type: string
          name:
            description: Name of the resource.
            readOnly: true
            type: string
          tags:
            additionalProperties:
              type: string
            description: List of key-value pairs.
            type: object
          type:
            description: Type of resource.
            readOnly: true
            type: string
        type: object
        x-ms-azure-resource: true
    description: This resource defines the range of IP addresses from which addresses are  allocated for nodes within a subnet.
    properties:
      properties:
        $ref: "#/definitions/IpPoolModel"
        description: Properties of an IpPool.
        x-ms-client-flatten: true
    type: object
  IpPoolList:
    description: Pageable list of IP pools.
    properties:
      nextLink:
        description: URI to the next page.
        type: string
      value:
        description: List of IP pools.
        items:
          $ref: "#/definitions/IpPool"
        type: array
    type: object
  IpPoolModel:
    description: Properties of an IpPool.
    properties:
      addressPrefix:
        description: The address prefix.
        type: string
      endIpAddress:
        description: The ending IP address.
        type: string
      numberOfAllocatedIpAddresses:
        description: The number of currently allocated IP addresses.
        format: int64
        type: integer
      numberOfIpAddresses:
        description: The total number of IP addresses.
        format: int64
        type: integer
      numberOfIpAddressesInTransition:
        description: The current number of IP addresses in transition.
        format: int64
        type: integer
      startIpAddress:
        description: The starting IP address.
        type: string
    type: object
