swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.
  title: NetworkManagementClient
  version: 2019-07-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/network/resource-manager/Microsoft.Network/stable/2019-07-01/natGateway.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: network-natGateway
  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
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways":
    get:
      description: Gets all the Nat Gateways in a subscription.
      operationId: NatGateways_ListAll
      parameters:
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Request successful. The operation returns a list of NatGateway resources.
          schema:
            $ref: "#/definitions/NatGatewayListResult"
      tags:
        - NatGateways
      x-ms-examples:
        List all nat gateways:
          parameters:
            api-version: 2019-07-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway
                    location: westus
                    name: test-natGateway
                    properties:
                      idleTimeoutInMinutes: 5
                      provisioningState: Succeeded
                      publicIpAddresses:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1
                      publicIpPrefixes:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1
                      subnets:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1
                    sku:
                      name: Standard
                    type: Microsoft.Network/natGateways
                  - id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/natGatewayes/test-natGateway2
                    location: westus
                    name: test-natGateway2
                    properties:
                      idleTimeoutInMinutes: 5
                      provisioningState: Succeeded
                      publicIpAddresses:
                        - id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1
                      publicIpPrefixes:
                        - id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1
                      subnets:
                        - id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1
                    sku:
                      name: Standard
                    type: Microsoft.Network/natGateways
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways":
    get:
      description: Gets all nat gateways in a resource group.
      operationId: NatGateways_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Request successful. The operation returns a list of NatGateway resources.
          schema:
            $ref: "#/definitions/NatGatewayListResult"
      tags:
        - NatGateways
      x-ms-examples:
        List nat gateways in resource group:
          parameters:
            api-version: 2019-07-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateway/test-natGateway
                    location: westus
                    name: test-natGateway
                    properties:
                      idleTimeoutInMinutes: 5
                      provisioningState: Succeeded
                      publicIpAddresses:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1
                      publicIpPrefixes:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1
                      subnets:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1
                    sku:
                      name: Standard
                    type: Microsoft.Network/natGateways
                  - id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/natGateway/test-natGateway2
                    location: westus
                    name: test-natGateway2
                    properties:
                      idleTimeoutInMinutes: 5
                      provisioningState: Succeeded
                      publicIpAddresses:
                        - id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1
                      publicIpPrefixes:
                        - id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1
                      subnets:
                        - id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1
                    sku:
                      name: Standard
                    type: Microsoft.Network/natGateways
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}":
    delete:
      description: Deletes the specified nat gateway.
      operationId: NatGateways_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the nat gateway.
          in: path
          name: natGatewayName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Delete successful.
        "202":
          description: Accepted and the operation will complete asynchronously.
        "204":
          description: Request successful. Resource does not exist.
      tags:
        - NatGateways
      x-ms-examples:
        Delete nat gateway:
          parameters:
            api-version: 2019-07-01
            natGatewayName: test-natGateway
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
    get:
      description: Gets the specified nat gateway in a specified resource group.
      operationId: NatGateways_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the nat gateway.
          in: path
          name: natGatewayName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Expands referenced resources.
          in: query
          name: $expand
          required: false
          type: string
      responses:
        "200":
          description: Request successful. The operation returns the resulting NatGateway resource.
          schema:
            $ref: "#/definitions/NatGateway"
      tags:
        - NatGateways
      x-ms-examples:
        Get nat gateway:
          parameters:
            api-version: 2019-07-01
            natGatewayName: test-natGateway
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway
                location: westus
                name: test-natGateway
                properties:
                  idleTimeoutInMinutes: 5
                  provisioningState: Succeeded
                  publicIpAddresses:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1
                  publicIpPrefixes:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1
                sku:
                  name: Standard
                type: Microsoft.Network/natGateways
    patch:
      description: Updates nat gateway tags.
      operationId: NatGateways_UpdateTags
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the nat gateway.
          in: path
          name: natGatewayName
          required: true
          type: string
        - description: Parameters supplied to update nat gateway tags.
          in: body
          name: parameters
          required: true
          schema:
            description: Tags object for patch operations.
            properties:
              tags:
                additionalProperties:
                  type: string
                description: Resource tags.
                type: object
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Update successful. The operation returns the resulting NatGateway resource.
          schema:
            $ref: "#/definitions/NatGateway"
      tags:
        - NatGateways
      x-ms-examples:
        Update nat gateway tags:
          parameters:
            api-version: 2019-07-01
            natGatewayName: test-natGateway
            parameters:
              tags:
                tag1: value1
                tag2: value2
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway
                location: westus
                name: test-natGateway
                properties:
                  idleTimeoutInMinutes: 5
                  provisioningState: Succeeded
                  publicIpAddresses:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1
                  publicIpPrefixes:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1
                sku:
                  name: Standard
                tags:
                  tag1: value1
                  tag2: value2
                type: Microsoft.Network/natGateways
    put:
      description: Creates or updates a nat gateway.
      operationId: NatGateways_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the nat gateway.
          in: path
          name: natGatewayName
          required: true
          type: string
        - description: Parameters supplied to the create or update nat gateway operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/NatGateway"
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Update successful. The operation returns the resulting NatGateway resource.
          schema:
            $ref: "#/definitions/NatGateway"
        "201":
          description: Create successful. The operation returns the resulting NatGateway resource.
          schema:
            $ref: "#/definitions/NatGateway"
        "202":
          description: Accepted and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/NatGateway"
      tags:
        - NatGateways
      x-ms-examples:
        Create nat gateway:
          parameters:
            api-version: 2019-07-01
            natGatewayName: test-natgateway
            parameters:
              location: westus
              properties:
                publicIpAddresses:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1
                publicIpPrefixes:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1
              sku:
                name: Standard
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway
                location: westus
                name: test-natGateway
                properties:
                  idleTimeoutInMinutes: 5
                  provisioningState: Succeeded
                  publicIpAddresses:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1
                  publicIpPrefixes:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1
                sku:
                  name: Standard
                type: Microsoft.Network/natGateways
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway
                location: westus
                name: test-natGateway
                properties:
                  idleTimeoutInMinutes: 5
                  provisioningState: Succeeded
                  publicIpAddresses:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1
                  publicIpPrefixes:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1
                sku:
                  name: Standard
                type: Microsoft.Network/natGateways
            "202":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway
                location: westus
                name: test-natGateway
                properties:
                  idleTimeoutInMinutes: 5
                  provisioningState: Succeeded
                  publicIpAddresses:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1
                  publicIpPrefixes:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1
                sku:
                  name: Standard
                type: Microsoft.Network/natGateways
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
definitions:
  NatGateway:
    allOf:
      - description: Common resource representation.
        properties:
          id:
            description: Resource ID.
            type: string
          location:
            description: Resource location.
            type: string
          name:
            description: Resource name.
            readOnly: true
            type: string
          tags:
            additionalProperties:
              type: string
            description: Resource tags.
            type: object
          type:
            description: Resource type.
            readOnly: true
            type: string
        x-ms-azure-resource: true
    description: Nat Gateway resource.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      properties:
        $ref: "#/definitions/NatGatewayPropertiesFormat"
        description: Nat Gateway properties.
        x-ms-client-flatten: true
      sku:
        $ref: "#/definitions/NatGatewaySku"
        description: The nat gateway SKU.
      zones:
        description: A list of availability zones denoting the zone in which Nat Gateway should be deployed.
        items:
          type: string
        type: array
  NatGatewayListResult:
    description: Response for ListNatGateways API service call.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        type: string
      value:
        description: A list of Nat Gateways that exists in a resource group.
        items:
          $ref: "#/definitions/NatGateway"
        type: array
  NatGatewayPropertiesFormat:
    description: Nat Gateway properties.
    properties:
      idleTimeoutInMinutes:
        description: The idle timeout of the nat gateway.
        format: int32
        type: integer
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      publicIpAddresses:
        description: An array of public ip addresses associated with the nat gateway resource.
        items:
          description: Reference to another subresource.
          properties:
            id:
              description: Resource ID.
              type: string
          x-ms-azure-resource: true
        type: array
      publicIpPrefixes:
        description: An array of public ip prefixes associated with the nat gateway resource.
        items:
          description: Reference to another subresource.
          properties:
            id:
              description: Resource ID.
              type: string
          x-ms-azure-resource: true
        type: array
      resourceGuid:
        description: The resource GUID property of the NAT gateway resource.
        type: string
      subnets:
        description: An array of references to the subnets using this nat gateway resource.
        items:
          description: Reference to another subresource.
          properties:
            id:
              description: Resource ID.
              type: string
          x-ms-azure-resource: true
        readOnly: true
        type: array
  NatGatewaySku:
    description: SKU of nat gateway.
    properties:
      name:
        description: Name of Nat Gateway SKU.
        enum:
          - Standard
        type: string
        x-ms-enum:
          modelAsString: true
          name: NatGatewaySkuName
