{
  "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": "2017-11-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/2017-11-01/networkInterface.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "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": "2017-11-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": "2017-11-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": "2017-11-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": "2017-11-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": "2017-11-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": "2017-11-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": "2017-11-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": "2017-11-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": "2017-11-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": "2017-11-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": "2017-11-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": {}
  }
}