{
  "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/routeTable.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "network-routeTable",
    "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/routeTables": {
      "get": {
        "description": "Gets all route tables in a subscription.",
        "operationId": "RouteTables_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns a list of RouteTable resources.",
            "schema": {
              "$ref": "#/definitions/RouteTableListResult"
            }
          }
        },
        "tags": [
          "RouteTables"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables": {
      "get": {
        "description": "Gets all route tables in a resource group.",
        "operationId": "RouteTables_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 RouteTable resources.",
            "schema": {
              "$ref": "#/definitions/RouteTableListResult"
            }
          }
        },
        "tags": [
          "RouteTables"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}": {
      "delete": {
        "description": "Deletes the specified route table.",
        "operationId": "RouteTables_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. Operation to delete was accepted."
          },
          "202": {
            "description": "Accepted. If route table not found returned synchronously, otherwise if found returned asynchronously."
          },
          "204": {
            "description": "Request successful. Resource does not exist."
          }
        },
        "tags": [
          "RouteTables"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the specified route table.",
        "operationId": "RouteTables_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "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 RouteTable resource.",
            "schema": {
              "$ref": "#/definitions/RouteTable"
            }
          }
        },
        "tags": [
          "RouteTables"
        ]
      },
      "put": {
        "description": "Create or updates a route table in a specified resource group.",
        "operationId": "RouteTables_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create or update route table operation.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RouteTable"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns the resulting RouteTable resource.",
            "schema": {
              "$ref": "#/definitions/RouteTable"
            }
          },
          "201": {
            "description": "Create successful. The operation returns the resulting RouteTable resource.",
            "schema": {
              "$ref": "#/definitions/RouteTable"
            }
          }
        },
        "tags": [
          "RouteTables"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes": {
      "get": {
        "description": "Gets all routes in a route table.",
        "operationId": "Routes_List",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns a list of Route resources.",
            "schema": {
              "$ref": "#/definitions/RouteListResult"
            }
          }
        },
        "tags": [
          "Routes"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}": {
      "delete": {
        "description": "Deletes the specified route from a route table.",
        "operationId": "Routes_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route.",
            "in": "path",
            "name": "routeName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Accepted."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "204": {
            "description": "Route was deleted or not found."
          }
        },
        "tags": [
          "Routes"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the specified route from a route table.",
        "operationId": "Routes_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route.",
            "in": "path",
            "name": "routeName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns the resulting Route resource.",
            "schema": {
              "$ref": "#/definitions/Route"
            }
          }
        },
        "tags": [
          "Routes"
        ]
      },
      "put": {
        "description": "Creates or updates a route in the specified route table.",
        "operationId": "Routes_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route.",
            "in": "path",
            "name": "routeName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create or update route operation.",
            "in": "body",
            "name": "routeParameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Route"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Update successful. The operation returns the resulting Route resource.",
            "schema": {
              "$ref": "#/definitions/Route"
            }
          },
          "201": {
            "description": "Create successful. The operation returns the resulting Route resource.",
            "schema": {
              "$ref": "#/definitions/Route"
            }
          }
        },
        "tags": [
          "Routes"
        ],
        "x-ms-long-running-operation": true
      }
    }
  },
  "definitions": {
    "Route": {
      "allOf": [
        {
          "description": "Azure resource manager sub resource properties.",
          "properties": {
            "id": {
              "description": "Resource Identifier.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Route 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": {
          "description": "Route resource",
          "properties": {
            "addressPrefix": {
              "description": "The destination CIDR to which the route applies.",
              "type": "string"
            },
            "nextHopIpAddress": {
              "description": "The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance.",
              "type": "string"
            },
            "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"
              }
            },
            "provisioningState": {
              "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
              "type": "string"
            }
          },
          "required": [
            "nextHopType"
          ]
        }
      }
    },
    "RouteListResult": {
      "description": "Response for the ListRoute API service call",
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets a list of routes in a resource group.",
          "items": {
            "$ref": "#/definitions/Route"
          },
          "type": "array"
        }
      }
    },
    "RoutePropertiesFormat": {
      "description": "Route resource",
      "properties": {
        "addressPrefix": {
          "description": "The destination CIDR to which the route applies.",
          "type": "string"
        },
        "nextHopIpAddress": {
          "description": "The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance.",
          "type": "string"
        },
        "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"
          }
        },
        "provisioningState": {
          "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
          "type": "string"
        }
      },
      "required": [
        "nextHopType"
      ]
    },
    "RouteTable": {
      "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": "Route table resource.",
      "properties": {
        "etag": {
          "description": "Gets a unique read-only string that changes whenever the resource is updated.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/RouteTablePropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "RouteTableListResult": {
      "description": "Response for the ListRouteTable API service call.",
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets a list of route tables in a resource group.",
          "items": {
            "$ref": "#/definitions/RouteTable"
          },
          "type": "array"
        }
      }
    },
    "RouteTablePropertiesFormat": {
      "description": "Route Table resource",
      "properties": {
        "provisioningState": {
          "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
          "type": "string"
        },
        "routes": {
          "description": "Collection of routes contained within a route table.",
          "items": {
            "allOf": [
              {
                "description": "Azure resource manager sub resource properties.",
                "properties": {
                  "id": {
                    "description": "Resource Identifier.",
                    "type": "string"
                  }
                },
                "x-ms-azure-resource": true
              }
            ],
            "description": "Route 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": {
                "description": "Route resource",
                "properties": {
                  "addressPrefix": {
                    "description": "The destination CIDR to which the route applies.",
                    "type": "string"
                  },
                  "nextHopIpAddress": {
                    "description": "The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance.",
                    "type": "string"
                  },
                  "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"
                    }
                  },
                  "provisioningState": {
                    "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
                    "type": "string"
                  }
                },
                "required": [
                  "nextHopType"
                ]
              }
            }
          },
          "type": "array"
        },
        "subnets": {
          "description": "A collection of references to subnets.",
          "items": {
            "$ref": "./virtualNetwork.json#/definitions/Subnet"
          },
          "type": "array"
        }
      }
    }
  }
}