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: 2018-01-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/2018-01-01/networkInterface.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: network-networkInterface
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
  - text/json
produces:
  - application/json
  - text/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:
  ApiVersionParameter:
    description: Client API version.
    in: query
    name: api-version
    required: true
    type: string
  SubscriptionIdParameter:
    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
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces":
    get:
      description: Gets all network interfaces in a subscription.
      operationId: NetworkInterfaces_ListAll
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request successful. The operation returns a list of NetworkInterface resources.
          schema:
            $ref: "#/definitions/NetworkInterfaceListResult"
      tags:
        - NetworkInterfaces
      x-ms-examples:
        List all network interfaces:
          parameters:
            api-version: 2018-01-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic
                    location: eastus
                    name: test-nic
                    properties:
                      dnsSettings:
                        appliedDnsServers: []
                        dnsServers: []
                        internalDomainNameSuffix: test.bx.internal.cloudapp.net
                      enableAcceleratedNetworking: true
                      enableIPForwarding: false
                      ipConfigurations:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1
                          name: ipconfig1
                          properties:
                            primary: true
                            privateIPAddress: 172.20.2.4
                            privateIPAddressVersion: IPv4
                            privateIPAllocationMethod: Dynamic
                            provisioningState: Succeeded
                            publicIPAddress:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip
                            subnet:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default
                      macAddress: 00-0D-3A-1B-C7-21
                      networkSecurityGroup:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg
                      primary: true
                      provisioningState: Succeeded
                      virtualMachine:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1
                    type: Microsoft.Network/networkInterfaces
                  - id: /subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/networkInterfaces/test-nic2
                    location: eastus
                    name: test-nic2
                    properties:
                      dnsSettings:
                        appliedDnsServers: []
                        dnsServers: []
                      enableAcceleratedNetworking: true
                      enableIPForwarding: false
                      ipConfigurations:
                        - id: /subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/networkInterfaces/test-nic2/ipConfigurations/ipconfig1
                          name: ipconfig1
                          properties:
                            primary: true
                            privateIPAddress: 172.20.2.4
                            privateIPAddressVersion: IPv4
                            privateIPAllocationMethod: Dynamic
                            provisioningState: Succeeded
                            publicIPAddress:
                              id: /subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/publicIPAddresses/test-ip2
                            subnet:
                              id: /subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/virtualNetworks/rgnew-vnet2/subnets/default
                      provisioningState: Succeeded
                    type: Microsoft.Network/networkInterfaces
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces":
    get:
      description: Gets all network interfaces in a resource group.
      operationId: NetworkInterfaces_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request successful. The operation returns a list of NetworkInterface resources.
          schema:
            $ref: "#/definitions/NetworkInterfaceListResult"
      tags:
        - NetworkInterfaces
      x-ms-examples:
        List network interfaces in resource group:
          parameters:
            api-version: 2018-01-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic
                    location: eastus
                    name: test-nic
                    properties:
                      dnsSettings:
                        appliedDnsServers: []
                        dnsServers: []
                        internalDomainNameSuffix: test.bx.internal.cloudapp.net
                      enableAcceleratedNetworking: true
                      enableIPForwarding: false
                      ipConfigurations:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1
                          name: ipconfig1
                          properties:
                            primary: true
                            privateIPAddress: 172.20.2.4
                            privateIPAddressVersion: IPv4
                            privateIPAllocationMethod: Dynamic
                            provisioningState: Succeeded
                            publicIPAddress:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip
                            subnet:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default
                      macAddress: 00-0D-3A-1B-C7-21
                      networkSecurityGroup:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg
                      primary: true
                      provisioningState: Succeeded
                      virtualMachine:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1
                    type: Microsoft.Network/networkInterfaces
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2
                    location: eastus
                    name: test-nic2
                    properties:
                      dnsSettings:
                        appliedDnsServers: []
                        dnsServers: []
                      enableAcceleratedNetworking: true
                      enableIPForwarding: false
                      ipConfigurations:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2/ipConfigurations/ipconfig1
                          name: ipconfig1
                          properties:
                            primary: true
                            privateIPAddress: 172.20.2.4
                            privateIPAddressVersion: IPv4
                            privateIPAllocationMethod: Dynamic
                            provisioningState: Succeeded
                            publicIPAddress:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip2
                            subnet:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet2/subnets/default
                      provisioningState: Succeeded
                    type: Microsoft.Network/networkInterfaces
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}":
    delete:
      description: Deletes the specified network interface.
      operationId: NetworkInterfaces_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the network interface.
          in: path
          name: networkInterfaceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Delete successful.
        "202":
          description: Accepted and the operation will complete asynchronously.
        "204":
          description: Request successful. Resource does not exist.
      tags:
        - NetworkInterfaces
      x-ms-examples:
        Delete network interface:
          parameters:
            api-version: 2018-01-01
            networkInterfaceName: test-nic
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets information about the specified network interface.
      operationId: NetworkInterfaces_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the network interface.
          in: path
          name: networkInterfaceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: Expands referenced resources.
          in: query
          name: $expand
          required: false
          type: string
      responses:
        "200":
          description: Request successful. The operation returns the resulting NetworkInterface resource.
          schema:
            $ref: "#/definitions/NetworkInterface"
      tags:
        - NetworkInterfaces
      x-ms-examples:
        Get network interface:
          parameters:
            api-version: 2018-01-01
            networkInterfaceName: test-nic
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic
                location: eastus
                name: test-nic
                properties:
                  dnsSettings:
                    appliedDnsServers: []
                    dnsServers: []
                    internalDomainNameSuffix: test.bx.internal.cloudapp.net
                  enableAcceleratedNetworking: true
                  enableIPForwarding: false
                  ipConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1
                      name: ipconfig1
                      properties:
                        primary: true
                        privateIPAddress: 172.20.2.4
                        privateIPAddressVersion: IPv4
                        privateIPAllocationMethod: Dynamic
                        provisioningState: Succeeded
                        publicIPAddress:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip
                        subnet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default
                  macAddress: 00-0D-3A-1B-C7-21
                  networkSecurityGroup:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg
                  primary: true
                  provisioningState: Succeeded
                  virtualMachine:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1
                type: Microsoft.Network/networkInterfaces
    patch:
      description: Updates a network interface tags.
      operationId: NetworkInterfaces_UpdateTags
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the network interface.
          in: path
          name: networkInterfaceName
          required: true
          type: string
        - description: Parameters supplied to update network interface tags.
          in: body
          name: parameters
          required: true
          schema:
            description: Tags object for patch operations.
            properties:
              tags:
                additionalProperties:
                  type: string
                description: Resource tags.
                type: object
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Update successful. The operation returns the resulting NetworkInterface resource.
          schema:
            $ref: "#/definitions/NetworkInterface"
      tags:
        - NetworkInterfaces
      x-ms-examples:
        Update network interface tags:
          parameters:
            api-version: 2018-01-01
            networkInterfaceName: test-nic
            parameters:
              tags:
                tag1: value1
                tag2: value2
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic
                location: eastus
                name: test-nic
                properties:
                  dnsSettings:
                    appliedDnsServers: []
                    dnsServers: []
                  enableAcceleratedNetworking: true
                  enableIPForwarding: false
                  ipConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1
                      name: ipconfig1
                      properties:
                        primary: true
                        privateIPAddress: 172.20.2.4
                        privateIPAddressVersion: IPv4
                        privateIPAllocationMethod: Dynamic
                        provisioningState: Succeeded
                        publicIPAddress:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip
                        subnet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default
                  provisioningState: Succeeded
                tags:
                  tag1: value1
                  tag2: value2
                type: Microsoft.Network/networkInterfaces
      x-ms-long-running-operation: true
    put:
      description: Creates or updates a network interface.
      operationId: NetworkInterfaces_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the network interface.
          in: path
          name: networkInterfaceName
          required: true
          type: string
        - description: Parameters supplied to the create or update network interface operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/NetworkInterface"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Update successful. The operation returns the resulting NetworkInterface resource.
          schema:
            $ref: "#/definitions/NetworkInterface"
        "201":
          description: Create successful. The operation returns the resulting NetworkInterface resource.
          schema:
            $ref: "#/definitions/NetworkInterface"
      tags:
        - NetworkInterfaces
      x-ms-examples:
        Create network interface:
          parameters:
            api-version: 2018-01-01
            networkInterfaceName: test-nic
            parameters:
              properties:
                enableAcceleratedNetworking: true
                ipConfigurations:
                  - name: ipconfig1
                    properties:
                      publicIPAddress:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip
                      subnet:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic
                location: eastus
                name: test-nic
                properties:
                  dnsSettings:
                    appliedDnsServers: []
                    dnsServers: []
                  enableAcceleratedNetworking: true
                  enableIPForwarding: false
                  ipConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1
                      name: ipconfig1
                      properties:
                        primary: true
                        privateIPAddress: 172.20.2.4
                        privateIPAddressVersion: IPv4
                        privateIPAllocationMethod: Dynamic
                        provisioningState: Succeeded
                        publicIPAddress:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip
                        subnet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default
                  provisioningState: Succeeded
                type: Microsoft.Network/networkInterfaces
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic
                location: eastus
                name: test-nic
                properties:
                  dnsSettings:
                    appliedDnsServers: []
                    dnsServers: []
                  enableAcceleratedNetworking: true
                  enableIPForwarding: false
                  ipConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1
                      name: ipconfig1
                      properties:
                        primary: true
                        privateIPAddress: 172.20.2.4
                        privateIPAddressVersion: IPv4
                        privateIPAllocationMethod: Dynamic
                        provisioningState: Succeeded
                        publicIPAddress:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip
                        subnet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default
                  provisioningState: Succeeded
                type: Microsoft.Network/networkInterfaces
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups":
    post:
      description: Gets all network security groups applied to a network interface.
      operationId: NetworkInterfaces_ListEffectiveNetworkSecurityGroups
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the network interface.
          in: path
          name: networkInterfaceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request successful. The operation returns a list of NetworkSecurityGroup resources.
          schema:
            $ref: "#/definitions/EffectiveNetworkSecurityGroupListResult"
        "202":
          description: Accepted and the operation will complete asynchronously.
      tags:
        - NetworkInterfaces
      x-ms-examples:
        List network interface effective network security groups:
          parameters:
            api-version: 2018-01-01
            networkInterfaceName: nic1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - association:
                      networkInterface:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1
                      subnet:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default
                    effectiveSecurityRules:
                      - access: Allow
                        destinationAddressPrefix: 0.0.0.0/32
                        destinationPortRange: 6579-6579
                        direction: Inbound
                        name: securityRules/rule1
                        priority: 234
                        protocol: Tcp
                        sourceAddressPrefix: 0.0.0.0/32
                        sourcePortRange: 456-456
                      - access: Allow
                        destinationAddressPrefix: 0.0.0.0/0
                        destinationPortRange: 3389-3389
                        direction: Inbound
                        name: securityRules/default-allow-rdp
                        priority: 1000
                        protocol: Tcp
                        sourceAddressPrefix: 1.1.1.1/32
                        sourcePortRange: 0-65535
                      - access: Allow
                        destinationAddressPrefix: Internet
                        destinationPortRange: 0-65535
                        direction: Outbound
                        expandedDestinationAddressPrefix:
                          - 32.0.0.0/3
                          - 4.0.0.0/6
                          - 2.0.0.0/7
                          - 1.0.0.0/8
                        name: defaultSecurityRules/AllowInternetOutBound
                        priority: 65001
                        protocol: All
                        sourceAddressPrefix: 0.0.0.0/0
                        sourcePortRange: 0-65535
                    networkSecurityGroup:
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/test-nsg
            "202": {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable":
    post:
      description: Gets all route tables applied to a network interface.
      operationId: NetworkInterfaces_GetEffectiveRouteTable
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the network interface.
          in: path
          name: networkInterfaceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request successful. The operation returns a list of EffectRoute resources.
          schema:
            $ref: "#/definitions/EffectiveRouteListResult"
        "202":
          description: Accepted and the operation will complete asynchronously.
      tags:
        - NetworkInterfaces
      x-ms-examples:
        Show network interface effective route tables:
          parameters:
            api-version: 2018-01-01
            networkInterfaceName: nic1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - addressPrefix:
                      - 172.20.2.0/24
                    nextHopIpAddress: []
                    nextHopType: VnetLocal
                    source: Default
                    state: Active
                  - addressPrefix:
                      - 0.0.0.0/0
                    nextHopIpAddress: []
                    nextHopType: Internet
                    source: Default
                    state: Active
                  - addressPrefix:
                      - 10.0.0.0/8
                    nextHopIpAddress: []
                    nextHopType: None
                    source: Default
                    state: Active
                  - addressPrefix:
                      - 100.64.0.0/10
                    nextHopIpAddress: []
                    nextHopType: None
                    source: Default
                    state: Active
                  - addressPrefix:
                      - 172.16.0.0/12
                    nextHopIpAddress: []
                    nextHopType: None
                    source: Default
                    state: Active
                  - addressPrefix:
                      - 192.168.0.0/16
                    nextHopIpAddress: []
                    nextHopType: None
                    source: Default
                    state: Active
            "202": {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations":
    get:
      description: Get all ip configurations in a network interface
      operationId: NetworkInterfaceIPConfigurations_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the network interface.
          in: path
          name: networkInterfaceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request successful. The operation returns a list of NetworkInterface IPConfiguration resources.
          schema:
            $ref: "#/definitions/NetworkInterfaceIPConfigurationListResult"
      tags:
        - NetworkInterfaces
      x-ms-examples:
        NetworkInterfaceIPConfigurationList:
          parameters:
            api-version: 2018-01-01
            networkInterfaceName: nic1
            resourceGroupName: testrg
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: W/\"00000000-0000-0000-0000-000000000000\"
                    id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1
                    name: ipconfig1
                    properties:
                      primary: true
                      privateIPAddress: 10.0.0.4
                      privateIPAddressVersion: IPv4
                      privateIPAllocationMethod: Dynamic
                      provisioningState: Succeeded
                      subnet:
                        id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet12/subnets/subnet12
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}":
    get:
      description: Gets the specified network interface ip configuration.
      operationId: NetworkInterfaceIPConfigurations_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the network interface.
          in: path
          name: networkInterfaceName
          required: true
          type: string
        - description: The name of the ip configuration name.
          in: path
          name: ipConfigurationName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request successful. The operation returns the resulting NetworkInterface IPConfiguration resource.
          schema:
            $ref: "#/definitions/NetworkInterfaceIPConfiguration"
      tags:
        - NetworkInterfaces
      x-ms-examples:
        NetworkInterfaceIPConfigurationGet:
          parameters:
            api-version: 2018-01-01
            ipConfigurationName: ipconfig1
            networkInterfaceName: mynic
            resourceGroupName: testrg
            subscriptionId: subid
          responses:
            "200":
              body:
                etag: W/\"00000000-0000-0000-0000-000000000000\"
                id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/ipConfigurations/ipconfig1
                name: ipconfig1
                properties:
                  loadBalancerBackendAddressPools:
                    - id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1
                  loadBalancerInboundNatRules:
                    - id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1
                  privateIPAddress: 10.0.1.4
                  privateIPAddressVersion: IPv4
                  privateIPAllocationMethod: Dynamic
                  provisioningState: Succeeded
                  subnet:
                    id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/frontendSubnet
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers":
    get:
      description: List all load balancers in a network interface.
      operationId: NetworkInterfaceLoadBalancers_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the network interface.
          in: path
          name: networkInterfaceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request successful. The operation returns a list of NetworkInterface LoadBalancer resources.
          schema:
            $ref: "#/definitions/NetworkInterfaceLoadBalancerListResult"
      tags:
        - NetworkInterfaces
      x-ms-examples:
        NetworkInterfaceLoadBalancerList:
          parameters:
            api-version: 2018-01-01
            networkInterfaceName: nic1
            resourceGroupName: testrg
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: W/\"00000000-0000-0000-0000-000000000000\"
                    id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1
                    location: westus
                    name: lbname1
                    properties:
                      backendAddressPools:
                        - etag: W/\"00000000-0000-0000-0000-000000000000\"
                          id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1
                          name: bepool1
                          properties:
                            backendIPConfigurations:
                              - id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1
                            loadBalancingRules:
                              - id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1
                            provisioningState: Succeeded
                      frontendIPConfigurations:
                        - etag: W/\"00000000-0000-0000-0000-000000000000\"
                          id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend
                          name: lbfrontend
                          properties:
                            inboundNatRules:
                              - id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1
                            loadBalancingRules:
                              - id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1
                            privateIPAllocationMethod: Dynamic
                            provisioningState: Succeeded
                            publicIPAddress:
                              id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/publicIPAddresses/myDynamicPublicIP
                      inboundNatPools: []
                      inboundNatRules:
                        - etag: W/\"00000000-0000-0000-0000-000000000000\"
                          id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1
                          name: inbound1
                          properties:
                            backendIPConfiguration:
                              id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1
                            backendPort: 3389
                            enableFloatingIP: false
                            frontendIPConfiguration:
                              id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend
                            frontendPort: 3389
                            idleTimeoutInMinutes: 15
                            protocol: Tcp
                            provisioningState: Succeeded
                      loadBalancingRules:
                        - etag: W/\"00000000-0000-0000-0000-000000000000\"
                          id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1
                          name: rule1
                          properties:
                            backendAddressPool:
                              id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1
                            backendPort: 80
                            enableFloatingIP: false
                            frontendIPConfiguration:
                              id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend
                            frontendPort: 80
                            idleTimeoutInMinutes: 15
                            loadDistribution: Default
                            probe:
                              id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/probes/probe1
                            protocol: Tcp
                            provisioningState: Succeeded
                      outboundNatRules: []
                      probes:
                        - etag: W/\"00000000-0000-0000-0000-000000000000\"
                          id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/probes/probe1
                          name: probe1
                          properties:
                            intervalInSeconds: 15
                            loadBalancingRules:
                              - id: /subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1
                            numberOfProbes: 2
                            port: 80
                            protocol: Http
                            provisioningState: Succeeded
                            requestPath: healthcheck.aspx
                      provisioningState: Succeeded
                      resourceGuid: 00000000-0000-0000-0000-000000000000
                    type: Microsoft.Network/loadBalancers
      x-ms-pageable:
        nextLinkName: nextLink
definitions:
  BackendAddressPoolPropertiesFormat: {}
  EffectiveNetworkSecurityGroup:
    description: Effective network security group.
    properties:
      association:
        $ref: "#/definitions/EffectiveNetworkSecurityGroupAssociation"
        description: Associated resources.
      effectiveSecurityRules:
        description: A collection of effective security rules.
        items:
          $ref: "#/definitions/EffectiveNetworkSecurityRule"
        type: array
      networkSecurityGroup:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
      tagMap:
        additionalProperties:
          description: List of IP Addresses within the tag (key)
          items:
            type: string
          type: array
        description: Mapping of tags to list of IP Addresses included within the tag.
        type: string
  EffectiveNetworkSecurityGroupAssociation:
    description: The effective network security group association.
    properties:
      networkInterface:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
      subnet:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
  EffectiveNetworkSecurityGroupListResult:
    description: Response for list effective network security groups API service call.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        readOnly: true
        type: string
      value:
        description: A list of effective network security groups.
        items:
          $ref: "#/definitions/EffectiveNetworkSecurityGroup"
        type: array
  EffectiveNetworkSecurityRule:
    description: Effective network security rules.
    properties:
      access:
        description: "Whether network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'."
        enum:
          - Allow
          - Deny
        type: string
        x-ms-enum:
          modelAsString: true
          name: SecurityRuleAccess
      destinationAddressPrefix:
        description: The destination address prefix.
        type: string
      destinationAddressPrefixes:
        description: The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*).
        items:
          type: string
        type: array
      destinationPortRange:
        description: The destination port or range.
        type: string
      destinationPortRanges:
        description: The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as seperator (e.g. 100-400), or an asterix (*)
        items:
          type: string
        type: array
      direction:
        description: "The direction of the rule. Possible values are: 'Inbound and Outbound'."
        enum:
          - Inbound
          - Outbound
        type: string
        x-ms-enum:
          modelAsString: true
          name: SecurityRuleDirection
      expandedDestinationAddressPrefix:
        description: Expanded destination address prefix.
        items:
          type: string
        type: array
      expandedSourceAddressPrefix:
        description: The expanded source address prefix.
        items:
          type: string
        type: array
      name:
        description: The name of the security rule specified by the user (if created by the user).
        type: string
      priority:
        description: The priority of the rule.
        format: int32
        type: integer
      protocol:
        description: "The network protocol this rule applies to. Possible values are: 'Tcp', 'Udp', and 'All'."
        enum:
          - Tcp
          - Udp
          - All
        type: string
        x-ms-enum:
          modelAsString: true
          name: EffectiveSecurityRuleProtocol
      sourceAddressPrefix:
        description: The source address prefix.
        type: string
      sourceAddressPrefixes:
        description: The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*).
        items:
          type: string
        type: array
      sourcePortRange:
        description: The source port or range.
        type: string
      sourcePortRanges:
        description: The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as seperator (e.g. 100-400), or an asterix (*)
        items:
          type: string
        type: array
  EffectiveRoute:
    description: Effective Route
    properties:
      addressPrefix:
        description: The address prefixes of the effective routes in CIDR notation.
        items:
          type: string
        type: array
      name:
        description: The name of the user defined route. This is optional.
        type: string
      nextHopIpAddress:
        description: The IP address of the next hop of the effective route.
        items:
          type: string
        type: array
      nextHopType:
        description: "The type of Azure hop the packet should be sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'."
        enum:
          - VirtualNetworkGateway
          - VnetLocal
          - Internet
          - VirtualAppliance
          - None
        type: string
        x-ms-enum:
          modelAsString: true
          name: RouteNextHopType
      source:
        description: "Who created the route. Possible values are: 'Unknown', 'User', 'VirtualNetworkGateway', and 'Default'."
        enum:
          - Unknown
          - User
          - VirtualNetworkGateway
          - Default
        type: string
        x-ms-enum:
          modelAsString: true
          name: EffectiveRouteSource
      state:
        description: "The value of effective route. Possible values are: 'Active' and 'Invalid'."
        enum:
          - Active
          - Invalid
        type: string
        x-ms-enum:
          modelAsString: true
          name: EffectiveRouteState
  EffectiveRouteListResult:
    description: Response for list effective route API service call.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        readOnly: true
        type: string
      value:
        description: A list of effective routes.
        items:
          $ref: "#/definitions/EffectiveRoute"
        type: array
  IPConfiguration:
    allOf:
      - description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
    description: IP configuration
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
        type: string
      properties:
        $ref: "#/definitions/IPConfigurationPropertiesFormat"
        description: Properties of the IP configuration
        x-ms-client-flatten: true
  IPConfigurationPropertiesFormat:
    description: Properties of IP configuration.
    properties:
      privateIPAddress:
        description: The private IP address of the IP configuration.
        type: string
      privateIPAllocationMethod:
        description: The private IP allocation method. Possible values are 'Static' and 'Dynamic'.
        enum:
          - Static
          - Dynamic
        type: string
        x-ms-enum:
          modelAsString: true
          name: IPAllocationMethod
      provisioningState:
        description: "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
        type: string
      publicIPAddress:
        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: Public IP address resource.
        properties:
          etag:
            description: A unique read-only string that changes whenever the resource is updated.
            type: string
          properties:
            $ref: "#/definitions/PublicIPAddressPropertiesFormat"
            description: Public IP address properties.
            x-ms-client-flatten: true
          sku:
            description: SKU of a public IP address
            properties:
              name:
                description: Name of a public IP address SKU.
                enum:
                  - Basic
                  - Standard
                type: string
                x-ms-enum:
                  modelAsString: true
                  name: PublicIPAddressSkuName
          zones:
            description: A list of availability zones denoting the IP allocated for the resource needs to come from.
            items:
              type: string
            type: array
      subnet:
        allOf:
          - description: Reference to another subresource.
            properties:
              id:
                description: Resource ID.
                type: string
            x-ms-azure-resource: true
        description: Subnet in a virtual network resource.
        properties:
          etag:
            description: A unique read-only string that changes whenever the resource is updated.
            type: string
          name:
            description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
            type: string
          properties:
            $ref: "#/definitions/SubnetPropertiesFormat"
            description: Properties of the subnet.
            x-ms-client-flatten: true
  InboundNatRulePropertiesFormat: {}
  NetworkInterface:
    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: A network interface in a resource group.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      properties:
        $ref: "#/definitions/NetworkInterfacePropertiesFormat"
        description: Properties of the network interface.
        x-ms-client-flatten: true
  NetworkInterfaceDnsSettings:
    description: DNS settings of a network interface.
    properties:
      appliedDnsServers:
        description: If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs.
        items:
          type: string
        type: array
      dnsServers:
        description: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection.
        items:
          type: string
        type: array
      internalDnsNameLabel:
        description: Relative DNS name for this NIC used for internal communications between VMs in the same virtual network.
        type: string
      internalDomainNameSuffix:
        description: Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix.
        type: string
      internalFqdn:
        description: Fully qualified DNS name supporting internal communications between VMs in the same virtual network.
        type: string
  NetworkInterfaceIPConfiguration:
    allOf:
      - description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
    description: IPConfiguration in a network interface.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
        type: string
      properties:
        $ref: "#/definitions/NetworkInterfaceIPConfigurationPropertiesFormat"
        description: Network interface IP configuration properties.
        x-ms-client-flatten: true
  NetworkInterfaceIPConfigurationListResult:
    description: Response for list ip configurations API service call.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        readOnly: true
        type: string
      value:
        description: A list of ip configurations.
        items:
          $ref: "#/definitions/NetworkInterfaceIPConfiguration"
        type: array
  NetworkInterfaceIPConfigurationPropertiesFormat:
    description: Properties of IP configuration.
    properties:
      applicationGatewayBackendAddressPools:
        description: The reference of ApplicationGatewayBackendAddressPool resource.
        items:
          $ref: ./applicationGateway.json#/definitions/ApplicationGatewayBackendAddressPool
        type: array
      applicationSecurityGroups:
        description: Application security groups in which the IP configuration is included.
        items:
          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: An application security group in a resource group.
          properties:
            etag:
              description: A unique read-only string that changes whenever the resource is updated.
              readOnly: true
              type: string
            properties:
              description: Application security group properties.
              properties:
                provisioningState:
                  description: "The provisioning state of the application security group resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
                  readOnly: true
                  type: string
                resourceGuid:
                  description: The resource GUID property of the application security group resource. It uniquely identifies a resource, even if the user changes its name or migrate the resource across subscriptions or resource groups.
                  readOnly: true
                  type: string
        type: array
      loadBalancerBackendAddressPools:
        description: The reference of LoadBalancerBackendAddressPool resource.
        items:
          allOf:
            - description: Reference to another subresource.
              properties:
                id:
                  description: Resource ID.
                  type: string
              x-ms-azure-resource: true
          description: Pool of backend IP addresses.
          properties:
            etag:
              description: A unique read-only string that changes whenever the resource is updated.
              type: string
            name:
              description: Gets name of the resource that is unique within a resource group. This name can be used to access the resource.
              type: string
            properties:
              $ref: "#/definitions/BackendAddressPoolPropertiesFormat"
              description: Properties of load balancer backend address pool.
              x-ms-client-flatten: true
        type: array
      loadBalancerInboundNatRules:
        description: A list of references of LoadBalancerInboundNatRules.
        items:
          allOf:
            - description: Reference to another subresource.
              properties:
                id:
                  description: Resource ID.
                  type: string
              x-ms-azure-resource: true
          description: Inbound NAT rule of the load balancer.
          properties:
            etag:
              description: A unique read-only string that changes whenever the resource is updated.
              type: string
            name:
              description: Gets name of the resource that is unique within a resource group. This name can be used to access the resource.
              type: string
            properties:
              $ref: "#/definitions/InboundNatRulePropertiesFormat"
              description: Properties of load balancer inbound nat rule.
              x-ms-client-flatten: true
        type: array
      primary:
        description: Gets whether this is a primary customer address on the network interface.
        type: boolean
      privateIPAddress:
        description: Private IP address of the IP configuration.
        type: string
      privateIPAddressVersion:
        description: "Available from Api-Version 2016-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.  Possible values are: 'IPv4' and 'IPv6'."
        enum:
          - IPv4
          - IPv6
        type: string
        x-ms-enum:
          modelAsString: true
          name: IPVersion
      privateIPAllocationMethod:
        description: "Defines how a private IP address is assigned. Possible values are: 'Static' and 'Dynamic'."
        enum:
          - Static
          - Dynamic
        type: string
        x-ms-enum:
          modelAsString: true
          name: IPAllocationMethod
      provisioningState:
        description: "The provisioning state of the network interface IP configuration. Possible values are: 'Updating', 'Deleting', and 'Failed'."
        type: string
      publicIPAddress:
        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: Public IP address resource.
        properties:
          etag:
            description: A unique read-only string that changes whenever the resource is updated.
            type: string
          properties:
            $ref: "#/definitions/PublicIPAddressPropertiesFormat"
            description: Public IP address properties.
            x-ms-client-flatten: true
          sku:
            description: SKU of a public IP address
            properties:
              name:
                description: Name of a public IP address SKU.
                enum:
                  - Basic
                  - Standard
                type: string
                x-ms-enum:
                  modelAsString: true
                  name: PublicIPAddressSkuName
          zones:
            description: A list of availability zones denoting the IP allocated for the resource needs to come from.
            items:
              type: string
            type: array
      subnet:
        allOf:
          - description: Reference to another subresource.
            properties:
              id:
                description: Resource ID.
                type: string
            x-ms-azure-resource: true
        description: Subnet in a virtual network resource.
        properties:
          etag:
            description: A unique read-only string that changes whenever the resource is updated.
            type: string
          name:
            description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
            type: string
          properties:
            $ref: "#/definitions/SubnetPropertiesFormat"
            description: Properties of the subnet.
            x-ms-client-flatten: true
  NetworkInterfaceListResult:
    description: Response for the ListNetworkInterface API service call.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        readOnly: true
        type: string
      value:
        description: A list of network interfaces in a resource group.
        items:
          $ref: "#/definitions/NetworkInterface"
        type: array
  NetworkInterfaceLoadBalancerListResult:
    description: Response for list ip configurations API service call.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        readOnly: true
        type: string
      value:
        description: A list of load balancers.
        items:
          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: LoadBalancer resource
          properties:
            etag:
              description: A unique read-only string that changes whenever the resource is updated.
              type: string
            properties:
              description: Properties of the load balancer.
              properties:
                backendAddressPools:
                  description: Collection of backend address pools used by a load balancer
                  items:
                    allOf:
                      - description: Reference to another subresource.
                        properties:
                          id:
                            description: Resource ID.
                            type: string
                        x-ms-azure-resource: true
                    description: Pool of backend IP addresses.
                    properties:
                      etag:
                        description: A unique read-only string that changes whenever the resource is updated.
                        type: string
                      name:
                        description: Gets name of the resource that is unique within a resource group. This name can be used to access the resource.
                        type: string
                      properties:
                        $ref: "#/definitions/BackendAddressPoolPropertiesFormat"
                        description: Properties of load balancer backend address pool.
                        x-ms-client-flatten: true
                  type: array
                frontendIPConfigurations:
                  description: Object representing the frontend IPs to be used for the load balancer
                  items:
                    allOf:
                      - description: Reference to another subresource.
                        properties:
                          id:
                            description: Resource ID.
                            type: string
                        x-ms-azure-resource: true
                    description: Frontend IP address of the load balancer.
                    properties:
                      etag:
                        description: A unique read-only string that changes whenever the resource is updated.
                        type: string
                      name:
                        description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                        type: string
                      properties:
                        description: Properties of Frontend IP Configuration of the load balancer.
                        properties:
                          inboundNatPools:
                            description: Read only. Inbound pools URIs that use this frontend IP.
                            items:
                              description: Reference to another subresource.
                              properties:
                                id:
                                  description: Resource ID.
                                  type: string
                              x-ms-azure-resource: true
                            readOnly: true
                            type: array
                          inboundNatRules:
                            description: Read only. Inbound rules URIs that use this frontend IP.
                            items:
                              description: Reference to another subresource.
                              properties:
                                id:
                                  description: Resource ID.
                                  type: string
                              x-ms-azure-resource: true
                            readOnly: true
                            type: array
                          loadBalancingRules:
                            description: Gets load balancing rules URIs that use this frontend IP.
                            items:
                              description: Reference to another subresource.
                              properties:
                                id:
                                  description: Resource ID.
                                  type: string
                              x-ms-azure-resource: true
                            readOnly: true
                            type: array
                          outboundNatRules:
                            description: Read only. Outbound rules URIs that use this frontend IP.
                            items:
                              description: Reference to another subresource.
                              properties:
                                id:
                                  description: Resource ID.
                                  type: string
                              x-ms-azure-resource: true
                            readOnly: true
                            type: array
                          privateIPAddress:
                            description: The private IP address of the IP configuration.
                            type: string
                          privateIPAllocationMethod:
                            description: "The Private IP allocation method. Possible values are: 'Static' and 'Dynamic'."
                            enum:
                              - Static
                              - Dynamic
                            type: string
                            x-ms-enum:
                              modelAsString: true
                              name: IPAllocationMethod
                          provisioningState:
                            description: "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
                            type: string
                          publicIPAddress:
                            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: Public IP address resource.
                            properties:
                              etag:
                                description: A unique read-only string that changes whenever the resource is updated.
                                type: string
                              properties:
                                $ref: "#/definitions/PublicIPAddressPropertiesFormat"
                                description: Public IP address properties.
                                x-ms-client-flatten: true
                              sku:
                                description: SKU of a public IP address
                                properties:
                                  name:
                                    description: Name of a public IP address SKU.
                                    enum:
                                      - Basic
                                      - Standard
                                    type: string
                                    x-ms-enum:
                                      modelAsString: true
                                      name: PublicIPAddressSkuName
                              zones:
                                description: A list of availability zones denoting the IP allocated for the resource needs to come from.
                                items:
                                  type: string
                                type: array
                          subnet:
                            allOf:
                              - description: Reference to another subresource.
                                properties:
                                  id:
                                    description: Resource ID.
                                    type: string
                                x-ms-azure-resource: true
                            description: Subnet in a virtual network resource.
                            properties:
                              etag:
                                description: A unique read-only string that changes whenever the resource is updated.
                                type: string
                              name:
                                description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                                type: string
                              properties:
                                $ref: "#/definitions/SubnetPropertiesFormat"
                                description: Properties of the subnet.
                                x-ms-client-flatten: true
                      zones:
                        description: A list of availability zones denoting the IP allocated for the resource needs to come from.
                        items:
                          type: string
                        type: array
                  type: array
                inboundNatPools:
                  description: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules.
                  items:
                    allOf:
                      - description: Reference to another subresource.
                        properties:
                          id:
                            description: Resource ID.
                            type: string
                        x-ms-azure-resource: true
                    description: Inbound NAT pool of the load balancer.
                    properties:
                      etag:
                        description: A unique read-only string that changes whenever the resource is updated.
                        type: string
                      name:
                        description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                        type: string
                      properties:
                        description: Properties of Inbound NAT pool.
                        properties:
                          backendPort:
                            description: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.
                            format: int32
                            type: integer
                          enableFloatingIP:
                            description: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint.
                            type: boolean
                          frontendIPConfiguration:
                            description: Reference to another subresource.
                            properties:
                              id:
                                description: Resource ID.
                                type: string
                            x-ms-azure-resource: true
                          frontendPortRangeEnd:
                            description: The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535.
                            format: int32
                            type: integer
                          frontendPortRangeStart:
                            description: The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534.
                            format: int32
                            type: integer
                          idleTimeoutInMinutes:
                            description: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP.
                            format: int32
                            type: integer
                          protocol:
                            description: The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 'All.'
                            enum:
                              - Udp
                              - Tcp
                              - All
                            type: string
                            x-ms-enum:
                              modelAsString: true
                              name: TransportProtocol
                          provisioningState:
                            description: "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
                            type: string
                        required:
                          - protocol
                          - frontendPortRangeStart
                          - frontendPortRangeEnd
                          - backendPort
                  type: array
                inboundNatRules:
                  description: Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual inbound NAT rules.
                  items:
                    allOf:
                      - description: Reference to another subresource.
                        properties:
                          id:
                            description: Resource ID.
                            type: string
                        x-ms-azure-resource: true
                    description: Inbound NAT rule of the load balancer.
                    properties:
                      etag:
                        description: A unique read-only string that changes whenever the resource is updated.
                        type: string
                      name:
                        description: Gets name of the resource that is unique within a resource group. This name can be used to access the resource.
                        type: string
                      properties:
                        $ref: "#/definitions/InboundNatRulePropertiesFormat"
                        description: Properties of load balancer inbound nat rule.
                        x-ms-client-flatten: true
                  type: array
                loadBalancingRules:
                  description: "Object collection representing the load balancing rules Gets the provisioning "
                  items:
                    allOf:
                      - description: Reference to another subresource.
                        properties:
                          id:
                            description: Resource ID.
                            type: string
                        x-ms-azure-resource: true
                    description: A load balancing rule for a load balancer.
                    properties:
                      etag:
                        description: A unique read-only string that changes whenever the resource is updated.
                        type: string
                      name:
                        description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                        type: string
                      properties:
                        description: Properties of the load balancer.
                        properties:
                          backendAddressPool:
                            description: Reference to another subresource.
                            properties:
                              id:
                                description: Resource ID.
                                type: string
                            x-ms-azure-resource: true
                          backendPort:
                            description: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables "Any Port"
                            format: int32
                            type: integer
                          disableOutboundSnat:
                            description: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule.
                            type: boolean
                          enableFloatingIP:
                            description: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint.
                            type: boolean
                          frontendIPConfiguration:
                            description: Reference to another subresource.
                            properties:
                              id:
                                description: Resource ID.
                                type: string
                            x-ms-azure-resource: true
                          frontendPort:
                            description: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port"
                            format: int32
                            type: integer
                          idleTimeoutInMinutes:
                            description: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP.
                            format: int32
                            type: integer
                          loadDistribution:
                            description: The load distribution policy for this rule. Possible values are 'Default', 'SourceIP', and 'SourceIPProtocol'.
                            enum:
                              - Default
                              - SourceIP
                              - SourceIPProtocol
                            type: string
                            x-ms-enum:
                              modelAsString: true
                              name: LoadDistribution
                          probe:
                            description: Reference to another subresource.
                            properties:
                              id:
                                description: Resource ID.
                                type: string
                            x-ms-azure-resource: true
                          protocol:
                            description: The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 'All.'
                            enum:
                              - Udp
                              - Tcp
                              - All
                            type: string
                            x-ms-enum:
                              modelAsString: true
                              name: TransportProtocol
                          provisioningState:
                            description: "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
                            type: string
                        required:
                          - protocol
                          - frontendPort
                  type: array
                outboundNatRules:
                  description: The outbound NAT rules.
                  items:
                    allOf:
                      - description: Reference to another subresource.
                        properties:
                          id:
                            description: Resource ID.
                            type: string
                        x-ms-azure-resource: true
                    description: Outbound NAT pool of the load balancer.
                    properties:
                      etag:
                        description: A unique read-only string that changes whenever the resource is updated.
                        type: string
                      name:
                        description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                        type: string
                      properties:
                        description: Outbound NAT pool of the load balancer.
                        properties:
                          allocatedOutboundPorts:
                            description: The number of outbound ports to be used for NAT.
                            format: int32
                            type: integer
                          backendAddressPool:
                            description: Reference to another subresource.
                            properties:
                              id:
                                description: Resource ID.
                                type: string
                            x-ms-azure-resource: true
                          frontendIPConfigurations:
                            description: The Frontend IP addresses of the load balancer.
                            items:
                              description: Reference to another subresource.
                              properties:
                                id:
                                  description: Resource ID.
                                  type: string
                              x-ms-azure-resource: true
                            type: array
                          provisioningState:
                            description: "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
                            type: string
                        required:
                          - backendAddressPool
                  type: array
                probes:
                  description: Collection of probe objects used in the load balancer
                  items:
                    allOf:
                      - description: Reference to another subresource.
                        properties:
                          id:
                            description: Resource ID.
                            type: string
                        x-ms-azure-resource: true
                    description: A load balancer probe.
                    properties:
                      etag:
                        description: A unique read-only string that changes whenever the resource is updated.
                        type: string
                      name:
                        description: Gets name of the resource that is unique within a resource group. This name can be used to access the resource.
                        type: string
                      properties:
                        description: Load balancer probe resource.
                        properties:
                          intervalInSeconds:
                            description: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5.
                            format: int32
                            type: integer
                          loadBalancingRules:
                            description: The load balancer rules that use this probe.
                            items:
                              description: Reference to another subresource.
                              properties:
                                id:
                                  description: Resource ID.
                                  type: string
                              x-ms-azure-resource: true
                            readOnly: true
                            type: array
                          numberOfProbes:
                            description: The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure.
                            format: int32
                            type: integer
                          port:
                            description: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.
                            format: int32
                            type: integer
                          protocol:
                            description: "The protocol of the end point. Possible values are: 'Http' or 'Tcp'. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' is specified, a 200 OK response from the specifies URI is required for the probe to be successful."
                            enum:
                              - Http
                              - Tcp
                            type: string
                            x-ms-enum:
                              modelAsString: true
                              name: ProbeProtocol
                          provisioningState:
                            description: "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
                            type: string
                          requestPath:
                            description: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value.
                            type: string
                        required:
                          - protocol
                          - port
                  type: array
                provisioningState:
                  description: "Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
                  type: string
                resourceGuid:
                  description: The resource GUID property of the load balancer resource.
                  type: string
            sku:
              description: SKU of a load balancer
              properties:
                name:
                  description: Name of a load balancer SKU.
                  enum:
                    - Basic
                    - Standard
                  type: string
                  x-ms-enum:
                    modelAsString: true
                    name: LoadBalancerSkuName
        type: array
  NetworkInterfacePropertiesFormat:
    description: "NetworkInterface properties. "
    properties:
      dnsSettings:
        description: DNS settings of a network interface.
        properties:
          appliedDnsServers:
            description: If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs.
            items:
              type: string
            type: array
          dnsServers:
            description: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection.
            items:
              type: string
            type: array
          internalDnsNameLabel:
            description: Relative DNS name for this NIC used for internal communications between VMs in the same virtual network.
            type: string
          internalDomainNameSuffix:
            description: Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix.
            type: string
          internalFqdn:
            description: Fully qualified DNS name supporting internal communications between VMs in the same virtual network.
            type: string
      enableAcceleratedNetworking:
        description: If the network interface is accelerated networking enabled.
        type: boolean
      enableIPForwarding:
        description: Indicates whether IP forwarding is enabled on this network interface.
        type: boolean
      ipConfigurations:
        description: A list of IPConfigurations of the network interface.
        items:
          $ref: "#/definitions/NetworkInterfaceIPConfiguration"
        type: array
      macAddress:
        description: The MAC address of the network interface.
        type: string
      networkSecurityGroup:
        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: NetworkSecurityGroup resource.
        properties:
          etag:
            description: A unique read-only string that changes whenever the resource is updated.
            type: string
          properties:
            $ref: "#/definitions/NetworkSecurityGroupPropertiesFormat"
            description: Properties of the network security group
            x-ms-client-flatten: true
      primary:
        description: Gets whether this is a primary network interface on a virtual machine.
        type: boolean
      provisioningState:
        description: "The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
        type: string
      resourceGuid:
        description: The resource GUID property of the network interface resource.
        type: string
      virtualMachine:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
  NetworkSecurityGroupPropertiesFormat: {}
  PublicIPAddressPropertiesFormat: {}
  SubnetPropertiesFormat: {}
