{
  "openapi": "3.0.1",
  "info": {
    "title": "NetworkManagementClient",
    "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.",
    "version": "2019-07-01"
  },
  "servers": [
    {
      "url": "https://management.azure.com/"
    }
  ],
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "paths": {
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways": {
      "get": {
        "tags": [
          "NatGateways"
        ],
        "description": "Gets all the Nat Gateways in a subscription.",
        "operationId": "NatGateways_ListAll",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client API version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns a list of NatGateway resources.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGatewayListResult"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways": {
      "get": {
        "tags": [
          "NatGateways"
        ],
        "description": "Gets all nat gateways in a resource group.",
        "operationId": "NatGateways_List",
        "parameters": [
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "api-version",
            "in": "query",
            "description": "Client API version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns a list of NatGateway resources.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGatewayListResult"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}": {
      "get": {
        "tags": [
          "NatGateways"
        ],
        "description": "Gets the specified nat gateway in a specified resource group.",
        "operationId": "NatGateways_Get",
        "parameters": [
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayName",
            "in": "path",
            "description": "The name of the nat gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "api-version",
            "in": "query",
            "description": "Client API version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expands referenced resources.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns the resulting NatGateway resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGateway"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "NatGateways"
        ],
        "description": "Creates or updates a nat gateway.",
        "operationId": "NatGateways_CreateOrUpdate",
        "parameters": [
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayName",
            "in": "path",
            "description": "The name of the nat gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "api-version",
            "in": "query",
            "description": "Client API version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters supplied to the create or update nat gateway operation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NatGateway"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update successful. The operation returns the resulting NatGateway resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGateway"
                }
              }
            }
          },
          "201": {
            "description": "Create successful. The operation returns the resulting NatGateway resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGateway"
                }
              }
            }
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGateway"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "NatGateways"
        ],
        "description": "Deletes the specified nat gateway.",
        "operationId": "NatGateways_Delete",
        "parameters": [
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayName",
            "in": "path",
            "description": "The name of the nat gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "api-version",
            "in": "query",
            "description": "Client API version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete successful."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "204": {
            "description": "Request successful. Resource does not exist."
          }
        }
      },
      "patch": {
        "tags": [
          "NatGateways"
        ],
        "description": "Updates nat gateway tags.",
        "operationId": "NatGateways_UpdateTags",
        "parameters": [
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "natGatewayName",
            "in": "path",
            "description": "The name of the nat gateway.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "api-version",
            "in": "query",
            "description": "Client API version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters supplied to update nat gateway tags.",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tags": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Resource tags."
                  }
                },
                "description": "Tags object for patch operations."
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update successful. The operation returns the resulting NatGateway resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NatGateway"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "NatGateway": {
        "properties": {
          "etag": {
            "type": "string",
            "description": "A unique read-only string that changes whenever the resource is updated."
          },
          "properties": {
            "$ref": "#/components/schemas/NatGatewayPropertiesFormat"
          },
          "sku": {
            "$ref": "#/components/schemas/NatGatewaySku"
          },
          "zones": {
            "type": "array",
            "description": "A list of availability zones denoting the zone in which Nat Gateway should be deployed.",
            "items": {
              "type": "string"
            }
          }
        },
        "description": "Nat Gateway resource.",
        "allOf": [
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Resource ID."
              },
              "location": {
                "type": "string",
                "description": "Resource location."
              },
              "name": {
                "type": "string",
                "description": "Resource name.",
                "readOnly": true
              },
              "tags": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Resource tags."
              },
              "type": {
                "type": "string",
                "description": "Resource type.",
                "readOnly": true
              }
            },
            "description": "Common resource representation."
          }
        ]
      },
      "NatGatewayListResult": {
        "type": "object",
        "properties": {
          "nextLink": {
            "type": "string",
            "description": "The URL to get the next set of results."
          },
          "value": {
            "type": "array",
            "description": "A list of Nat Gateways that exists in a resource group.",
            "items": {
              "$ref": "#/components/schemas/NatGateway"
            }
          }
        },
        "description": "Response for ListNatGateways API service call."
      },
      "NatGatewayPropertiesFormat": {
        "type": "object",
        "properties": {
          "idleTimeoutInMinutes": {
            "type": "integer",
            "description": "The idle timeout of the nat gateway.",
            "format": "int32"
          },
          "provisioningState": {
            "type": "string",
            "description": "The current provisioning state.",
            "readOnly": true,
            "enum": [
              "Succeeded",
              "Updating",
              "Deleting",
              "Failed"
            ]
          },
          "publicIpAddresses": {
            "type": "array",
            "description": "An array of public ip addresses associated with the nat gateway resource.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Resource ID."
                }
              },
              "description": "Reference to another subresource."
            }
          },
          "publicIpPrefixes": {
            "type": "array",
            "description": "An array of public ip prefixes associated with the nat gateway resource.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Resource ID."
                }
              },
              "description": "Reference to another subresource."
            }
          },
          "resourceGuid": {
            "type": "string",
            "description": "The resource GUID property of the NAT gateway resource."
          },
          "subnets": {
            "type": "array",
            "description": "An array of references to the subnets using this nat gateway resource.",
            "readOnly": true,
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Resource ID."
                }
              },
              "description": "Reference to another subresource."
            }
          }
        },
        "description": "Nat Gateway properties."
      },
      "NatGatewaySku": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of Nat Gateway SKU.",
            "enum": [
              "Standard"
            ]
          }
        },
        "description": "SKU of nat gateway."
      }
    },
    "securitySchemes": {
      "azure_auth": {
        "type": "oauth2",
        "description": "Azure Active Directory OAuth2 Flow."
      }
    }
  }
}