{
  "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": "2015-06-15",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/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-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-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-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"
        ]
      },
      "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-long-running-operation": true
      }
    }
  },
  "definitions": {
    "IPConfiguration": {
      "allOf": [
        {
          "description": "Azure resource manager sub resource properties.",
          "properties": {
            "id": {
              "description": "Resource Identifier.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "IPConfiguration",
      "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",
          "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": {
          "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress",
          "description": "The reference of the public IP resource."
        },
        "subnet": {
          "$ref": "./virtualNetwork.json#/definitions/Subnet",
          "description": "The reference of the subnet resource."
        }
      }
    },
    "NetworkInterface": {
      "allOf": [
        {
          "description": "Azure resource manager resource properties.",
          "properties": {
            "id": {
              "description": "Resource Identifier.",
              "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",
          "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"
        },
        "internalFqdn": {
          "description": "Fully qualified DNS name supporting internal communications between VMs in the same virtual network.",
          "type": "string"
        }
      }
    },
    "NetworkInterfaceIPConfiguration": {
      "allOf": [
        {
          "description": "Azure resource manager sub resource properties.",
          "properties": {
            "id": {
              "description": "Resource Identifier.",
              "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",
          "x-ms-client-flatten": true
        }
      }
    },
    "NetworkInterfaceIPConfigurationPropertiesFormat": {
      "description": "Properties of IP configuration.",
      "properties": {
        "loadBalancerBackendAddressPools": {
          "description": "The reference of LoadBalancerBackendAddressPool resource.",
          "items": {
            "$ref": "./loadBalancer.json#/definitions/BackendAddressPool"
          },
          "type": "array"
        },
        "loadBalancerInboundNatRules": {
          "description": "A list of references of LoadBalancerInboundNatRules.",
          "items": {
            "$ref": "./loadBalancer.json#/definitions/InboundNatRule"
          },
          "type": "array"
        },
        "primary": {
          "description": "Gets whether this is a primary customer address on the network interface.",
          "type": "boolean"
        },
        "privateIPAddress": {
          "type": "string"
        },
        "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": {
          "type": "string"
        },
        "publicIPAddress": {
          "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress"
        },
        "subnet": {
          "$ref": "./virtualNetwork.json#/definitions/Subnet"
        }
      }
    },
    "NetworkInterfaceListResult": {
      "description": "Response for the ListNetworkInterface API service call.",
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "A list of network interfaces in a resource group.",
          "items": {
            "$ref": "#/definitions/NetworkInterface"
          },
          "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"
            },
            "internalFqdn": {
              "description": "Fully qualified DNS name supporting internal communications between VMs in the same virtual network.",
              "type": "string"
            }
          }
        },
        "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": {
          "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup",
          "description": "The reference of the NetworkSecurityGroup resource."
        },
        "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": "Azure resource manager sub resource properties.",
          "properties": {
            "id": {
              "description": "Resource Identifier.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      }
    }
  }
}