{
  "openapi": "3.0.0",
  "info": {
    "version": "1.0",
    "title": "Openstack Neutron API"
  },
  "servers": [
    {
      "url": "http://{host}:{port}",
      "description": "Networking service (neutron) administrative endpoint",
      "variables": {
        "host": {
          "default": "localhost"
        },
        "port": {
          "default": "9696"
        }
      }
    }
  ],
  "paths": {
    "/": {
      "get": {
        "operationId": "listAPIVersions",
        "summary": "List API versions",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-api-versions"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "API versions"
        ]
      }
    },
    "/v2.0/": {
      "get": {
        "operationId": "showAPIV2Details",
        "summary": "Show API v2 details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-api-v2-details"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "API versions"
        ]
      }
    },
    "/v2.0/extensions": {
      "get": {
        "operationId": "listExtensions",
        "summary": "List extensions",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-extensions"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Extensions"
        ]
      }
    },
    "/v2.0/extensions/{alias}": {
      "get": {
        "operationId": "showExtensionDetails",
        "summary": "Show extension details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-extension-details"
        },
        "parameters": [
          {
            "name": "alias",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The alias of an extension."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Extensions"
        ]
      }
    },
    "/v2.0/networks/{network_id}": {
      "get": {
        "operationId": "showNetworkDetails",
        "summary": "Show network details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-network-details"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "network_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the network."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networks"
        ]
      },
      "put": {
        "operationId": "updateNetwork",
        "summary": "Update network",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-network"
        },
        "parameters": [
          {
            "name": "network_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the network."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "network": {
                    "type": "object",
                    "properties": {
                      "dns_domain": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "qos_policy_id": {
                        "type": "string"
                      },
                      "mtu": {
                        "type": "integer"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networks"
        ]
      },
      "delete": {
        "operationId": "deleteNetwork",
        "summary": "Delete network",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-network"
        },
        "parameters": [
          {
            "name": "network_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the network."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networks"
        ]
      }
    },
    "/v2.0/networks": {
      "get": {
        "operationId": "listNetworks",
        "summary": "List networks",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-networks"
        },
        "parameters": [
          {
            "name": "admin_state_up",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the list result by the administrative state of the resource,\nwhich is up (true) or down (false)."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "mtu",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the network list result by the maximum transmission unit (MTU)\nvalue to address fragmentation. Minimum value is 68 for IPv4,\nand 1280 for IPv6."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "provider:network_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the type of physical network that this\nnetwork/segment is mapped to. For example, flat, vlan, vxlan,\nor gre. Valid values depend on a networking back-end."
            }
          },
          {
            "name": "provider:physical_network",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the physical network where\nthis network/segment is implemented."
            }
          },
          {
            "name": "provider:segmentation_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the ID of the isolated segment\non the physical network."
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "router:external",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the network list result based on whether the network has an\nexternal routing facility that’s not managed by the networking service."
            }
          },
          {
            "name": "shared",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the network list result based on if the network is shared across\nall tenants."
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the network list result by network status. Values are ACTIVE,\nDOWN, BUILD or ERROR."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "vlan_transparent",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the network list by the VLAN transparency mode of the network,\nwhich is VLAN transparent (true) or not VLAN transparent (false)."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "is_default",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the network list result based on if the network is default pool\nor not."
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a network attribute. You can specify multiple pairs of sort key\nand sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networks"
        ]
      },
      "post": {
        "operationId": "createNetwork",
        "summary": "Create network",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-network"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "network": {
                    "type": "object",
                    "properties": {
                      "admin_state_up": {
                        "type": "boolean"
                      },
                      "name": {
                        "type": "string"
                      },
                      "provider:network_type": {
                        "type": "string"
                      },
                      "provider:physical_network": {
                        "type": "string"
                      },
                      "provider:segmentation_id": {
                        "type": "integer"
                      },
                      "qos_policy_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networks"
        ]
      }
    },
    "/v2.0/network_segment_ranges/{network_segment_range_id}": {
      "get": {
        "operationId": "showNetworkSegmentRangeDetails",
        "summary": "Show network segment range details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-network-segment-range-details"
        },
        "parameters": [
          {
            "name": "network_segment_range_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the network segment range."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Network Segment Ranges"
        ]
      },
      "put": {
        "operationId": "updateNetworkSegmentRange",
        "summary": "Update network segment range",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-network-segment-range"
        },
        "parameters": [
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "network_segment_range_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the network segment range."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "network_segment_range": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "minimum": {
                        "type": "integer"
                      },
                      "maximum": {
                        "type": "integer"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Network Segment Ranges"
        ]
      },
      "delete": {
        "operationId": "deleteNetworkSegmentRange",
        "summary": "Delete network segment range",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-network-segment-range"
        },
        "parameters": [
          {
            "name": "network_segment_range_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the network segment range."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Network Segment Ranges"
        ]
      }
    },
    "/v2.0/network_segment_ranges": {
      "get": {
        "operationId": "listNetworkSegmentRanges",
        "summary": "List network segment ranges",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-network-segment-ranges"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the network segment range list result based on the range ID."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the network segment range list result based on the name of the\nrange."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "network_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the type of physical network that this\nnetwork segment range is mapped to. For example, vlan, vxlan, or\ngre. Valid values depend on a networking back-end."
            }
          },
          {
            "name": "physical_network",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the physical network where this\nnetwork segment range is implemented."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a network segment range attribute. You can specify multiple pairs\nof sort key and sort direction query parameters. The sort keys are limited\nto:"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Network Segment Ranges"
        ]
      },
      "post": {
        "operationId": "createNetworkSegmentRange",
        "summary": "Create network segment range",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-network-segment-range"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "network_segment_range": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "shared": {
                        "type": "boolean"
                      },
                      "project_id": {
                        "type": "string"
                      },
                      "network_type": {
                        "type": "string"
                      },
                      "physical_network": {
                        "type": "string"
                      },
                      "minimum": {
                        "type": "integer"
                      },
                      "maximum": {
                        "type": "integer"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Network Segment Ranges"
        ]
      }
    },
    "/v2.0/ports/{port_id}": {
      "get": {
        "operationId": "showPortDetails",
        "summary": "Show port details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-port-details"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "port_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the port."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Ports"
        ]
      },
      "put": {
        "operationId": "updatePort",
        "summary": "Update port",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-port"
        },
        "parameters": [
          {
            "name": "port_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the port."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "port": {
                    "type": "object",
                    "properties": {
                      "binding:host_id": {
                        "type": "string"
                      },
                      "binding:profile": {
                        "type": "object"
                      },
                      "device_id": {
                        "type": "string"
                      },
                      "data_plane_status": {
                        "type": "string"
                      },
                      "device_owner": {
                        "type": "string"
                      },
                      "qos_policy_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Ports"
        ]
      },
      "delete": {
        "operationId": "deletePort",
        "summary": "Delete port",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-port"
        },
        "parameters": [
          {
            "name": "port_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the port."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Ports"
        ]
      }
    },
    "/v2.0/ports": {
      "get": {
        "operationId": "listPorts",
        "summary": "List ports",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-ports"
        },
        "parameters": [
          {
            "name": "admin_state_up",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the list result by the administrative state of the resource,\nwhich is up (true) or down (false)."
            }
          },
          {
            "name": "binding:host_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the port list result by the ID of the host where the port resides."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "device_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the port list result by the ID of the device that uses this port.\nFor example, a server instance or a logical router."
            }
          },
          {
            "name": "device_owner",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the port result list by the entity type that uses this port.\nFor example, compute:nova (server instance), network:dhcp\n(DHCP agent) or network:router_interface (router interface)."
            }
          },
          {
            "name": "fixed_ips",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the port list result by the IP addresses for the port.\nThis field has one or multiple entries.\nEach entry consists of IP address (ip_address), IP address substring\n(ip_address_substr) and/or the subnet ID from which\nthe IP address is assigned (subnet_id)."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "ip_allocation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the port list result based on if the ports use deferred,\nimmediate or no IP allocation (none)."
            }
          },
          {
            "name": "mac_address",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the port list result by the MAC address of the port."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "network_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the attached network."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a port attribute. You can specify multiple pairs of sort key\nand sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the port list result by the port status.\nValues are ACTIVE, DOWN, BUILD and ERROR."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "mac_learning_enabled",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the list result by the mac_learning_enabled state of the resource,\nwhich is enabled (true) or disabled (false)."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Ports"
        ]
      },
      "post": {
        "operationId": "createPort",
        "summary": "Create port",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-port"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "port": {
                    "type": "object",
                    "properties": {
                      "binding:host_id": {
                        "type": "string"
                      },
                      "binding:profile": {
                        "type": "object",
                        "properties": {
                          "local_link_information": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "port_id": {
                                  "type": "string"
                                },
                                "switch_id": {
                                  "type": "string"
                                },
                                "switch_info": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      },
                      "binding:vnic_type": {
                        "type": "string"
                      },
                      "device_id": {
                        "type": "string"
                      },
                      "device_owner": {
                        "type": "string"
                      },
                      "dns_domain": {
                        "type": "string"
                      },
                      "dns_name": {
                        "type": "string"
                      },
                      "qos_policy_id": {
                        "type": "string"
                      },
                      "propagate_uplink_status": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Ports"
        ]
      }
    },
    "/v2.0/segments/{segment_id}": {
      "get": {
        "operationId": "showSegmentDetails",
        "summary": "Show segment details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-segment-details"
        },
        "parameters": [
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the segment."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Segments"
        ]
      },
      "put": {
        "operationId": "updateSegment",
        "summary": "Update segment",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-segment"
        },
        "parameters": [
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the segment."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "segment": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Segments"
        ]
      },
      "delete": {
        "operationId": "deleteSegment",
        "summary": "Delete segment",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-segment"
        },
        "parameters": [
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the segment."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Segments"
        ]
      }
    },
    "/v2.0/segments": {
      "get": {
        "operationId": "listSegments",
        "summary": "List segments",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-segments"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "network_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the attached network."
            }
          },
          {
            "name": "physical_network",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the physical network where\nthis network/segment is implemented."
            }
          },
          {
            "name": "network_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the type of physical network that this\nnetwork/segment is mapped to. For example, flat, vlan, vxlan,\nor gre. Valid values depend on a networking back-end."
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "segmentation_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the ID of the isolated segment\non the physical network."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a segment attribute. You can specify multiple pairs of sort key\nand sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Segments"
        ]
      },
      "post": {
        "operationId": "createSegment",
        "summary": "Create segment",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-segment"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "segment": {
                    "type": "object",
                    "properties": {
                      "network_id": {
                        "type": "string"
                      },
                      "segmentation_id": {
                        "type": "integer"
                      },
                      "network_type": {
                        "type": "string"
                      },
                      "physical_network": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Segments"
        ]
      }
    },
    "/v2.0/trunks": {
      "get": {
        "operationId": "listTrunks",
        "summary": "List trunks",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-trunks"
        },
        "parameters": [
          {
            "name": "admin_state_up",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the trunk list result by the administrative state of the trunk,\nwhich is up (true) or down (false)."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "port_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the trunk list result by the ID of the parent port."
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the trunk list result by the status for the trunk. Possible values\nare  ACTIVE, DOWN, BUILD, DEGRADED, and ERROR."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a trunk attribute. You can specify multiple pairs of sort key\nand sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be excluded.\nTags in query must be separated by comma."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Trunk networking"
        ]
      },
      "post": {
        "operationId": "createTrunk",
        "summary": "Create trunk",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-trunk"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "trunk": {
                    "type": "object",
                    "properties": {
                      "port_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "admin_state_up": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Trunk networking"
        ]
      }
    },
    "/v2.0/trunks/{trunk_id}/add_subports": {
      "put": {
        "operationId": "addSubportsToTrunk",
        "summary": "Add subports to trunk",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#add-subports-to-trunk"
        },
        "parameters": [
          {
            "name": "trunk_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the trunk."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sub_ports": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "segmentation_id": {
                          "type": "integer"
                        },
                        "port_id": {
                          "type": "string"
                        },
                        "segmentation_type": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Trunk networking"
        ]
      }
    },
    "/v2.0/trunks/{trunk_id}/remove_subports": {
      "put": {
        "operationId": "deleteSubportsFromTrunk",
        "summary": "Delete subports from trunk",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-subports-from-trunk"
        },
        "parameters": [
          {
            "name": "trunk_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the trunk."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sub_ports": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "port_id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Trunk networking"
        ]
      }
    },
    "/v2.0/trunks/{trunk_id}/get_subports": {
      "get": {
        "operationId": "listSubportsForTrunk",
        "summary": "List subports for trunk",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-subports-for-trunk"
        },
        "parameters": [
          {
            "name": "trunk_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the trunk."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Trunk networking"
        ]
      }
    },
    "/v2.0/trunks/{trunk_id}": {
      "put": {
        "operationId": "updateTrunk",
        "summary": "Update trunk",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-trunk"
        },
        "parameters": [
          {
            "name": "trunk_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the trunk."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "trunk": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "admin_state_up": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Trunk networking"
        ]
      },
      "get": {
        "operationId": "showTrunk",
        "summary": "Show trunk",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-trunk"
        },
        "parameters": [
          {
            "name": "trunk_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the trunk."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Trunk networking"
        ]
      },
      "delete": {
        "operationId": "deleteTrunk",
        "summary": "Delete trunk",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-trunk"
        },
        "parameters": [
          {
            "name": "trunk_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the trunk."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Trunk networking"
        ]
      }
    },
    "/v2.0/address-scopes/{address_scope_id}": {
      "get": {
        "operationId": "showAddressScope",
        "summary": "Show address scope",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-address-scope"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "address_scope_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the address scope."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Address scopes"
        ]
      },
      "put": {
        "operationId": "updateAnAddressScope",
        "summary": "Update an address scope",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-an-address-scope"
        },
        "parameters": [
          {
            "name": "address_scope_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the address scope."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address_scope": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "shared": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Address scopes"
        ]
      },
      "delete": {
        "operationId": "deleteAnAddressScope",
        "summary": "Delete an address scope",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-an-address-scope"
        },
        "parameters": [
          {
            "name": "address_scope_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the address scope."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Address scopes"
        ]
      }
    },
    "/v2.0/address-scopes": {
      "get": {
        "operationId": "listAddressScopes",
        "summary": "List address scopes",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-address-scopes"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "ip_version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the IP protocol version.\nValid value is 4 or 6."
            }
          },
          {
            "name": "shared",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Admin-only. Filter the list result based on whether the resource is\nshared across all projects."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by an address scope attribute. You can specify multiple pairs of sort\nkey and sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Address scopes"
        ]
      },
      "post": {
        "operationId": "createAddressScope",
        "summary": "Create address scope",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-address-scope"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address_scope": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "tenant_id": {
                        "type": "string"
                      },
                      "ip_version": {
                        "type": "integer"
                      },
                      "shared": {
                        "type": "boolean"
                      },
                      "project_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Address scopes"
        ]
      }
    },
    "/v2.0/routers/{router_id}/conntrack_helpers/{conntrack_helper_id}": {
      "get": {
        "operationId": "showConntrackHelper",
        "summary": "Show conntrack helper",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-conntrack-helper"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          },
          {
            "name": "conntrack_helper_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the conntrack helper."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers Conntrack Helper (CT) target rules"
        ]
      },
      "put": {
        "operationId": "updateAConntrackHelper",
        "summary": "Update a conntrack helper",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-a-conntrack-helper"
        },
        "parameters": [
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          },
          {
            "name": "conntrack_helper_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the conntrack helper."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "conntrack_helper": {
                    "type": "object",
                    "properties": {
                      "helper": {
                        "type": "string"
                      },
                      "protocol": {
                        "type": "string"
                      },
                      "port": {
                        "type": "integer"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers Conntrack Helper (CT) target rules"
        ]
      },
      "delete": {
        "operationId": "deleteAConntrackHelper",
        "summary": "Delete a conntrack helper",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-a-conntrack-helper"
        },
        "parameters": [
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          },
          {
            "name": "conntrack_helper_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the conntrack helper."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers Conntrack Helper (CT) target rules"
        ]
      }
    },
    "/v2.0/routers/{router_id}/conntrack_helpers": {
      "get": {
        "operationId": "listRouterConntrackHelpers",
        "summary": "List router conntrack helpers",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-router-conntrack-helpers"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "helper",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the used helper."
            }
          },
          {
            "name": "protocol",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the used protocol."
            }
          },
          {
            "name": "port",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the used port."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a conntrack helper ID attribute. You can specify multiple pairs of\nsort key and sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers Conntrack Helper (CT) target rules"
        ]
      },
      "post": {
        "operationId": "createConntrackHelper",
        "summary": "Create conntrack helper",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-conntrack-helper"
        },
        "parameters": [
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "conntrack_helper": {
                    "type": "object",
                    "properties": {
                      "protocol": {
                        "type": "string"
                      },
                      "port": {
                        "type": "integer"
                      },
                      "helper": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers Conntrack Helper (CT) target rules"
        ]
      }
    },
    "/v2.0/floatingips": {
      "get": {
        "operationId": "listFloatingIPs",
        "summary": "List floating IPs",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-floating-ips"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "router_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the floating IP list result by the ID of the router for the\nfloating IP."
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the floating IP list result by the status of the floating IP.\nValues are ACTIVE, DOWN and ERROR."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "floating_network_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the floating IP list result by the ID of the network associated\nwith the floating IP."
            }
          },
          {
            "name": "fixed_ip_address",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the floating IP list result by the fixed IP address that\nis associated with the floating IP address."
            }
          },
          {
            "name": "floating_ip_address",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the floating IP list result by the floating IP address."
            }
          },
          {
            "name": "port_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the floating IP list result by the ID of a port associated with\nthe floating IP."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a floatingip attribute. You can specify multiple pairs of sort key\nand sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Floating IPs (floatingips)"
        ]
      },
      "post": {
        "operationId": "createFloatingIP",
        "summary": "Create floating IP",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-floating-ip"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "floatingip": {
                    "type": "object",
                    "properties": {
                      "floating_network_id": {
                        "type": "string"
                      },
                      "port_id": {
                        "type": "string"
                      },
                      "subnet_id": {
                        "type": "string"
                      },
                      "fixed_ip_address": {
                        "type": "string"
                      },
                      "floating_ip_address": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "dns_domain": {
                        "type": "string"
                      },
                      "dns_name": {
                        "type": "string"
                      },
                      "qos_policy_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Floating IPs (floatingips)"
        ]
      }
    },
    "/v2.0/floatingips/{floatingip_id}": {
      "get": {
        "operationId": "showFloatingIPDetails",
        "summary": "Show floating IP details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-floating-ip-details"
        },
        "parameters": [
          {
            "name": "floatingip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the floating IP address."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Floating IPs (floatingips)"
        ]
      },
      "put": {
        "operationId": "updateFloatingIP",
        "summary": "Update floating IP",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-floating-ip"
        },
        "parameters": [
          {
            "name": "floatingip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the floating IP address."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "floatingip": {
                    "type": "object",
                    "properties": {
                      "port_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Floating IPs (floatingips)"
        ]
      },
      "delete": {
        "operationId": "deleteFloatingIP",
        "summary": "Delete floating IP",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-floating-ip"
        },
        "parameters": [
          {
            "name": "floatingip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the floating IP address."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Floating IPs (floatingips)"
        ]
      }
    },
    "/v2.0/floatingip_pools": {
      "get": {
        "operationId": "listFloatingIPPools",
        "summary": "List floating IP Pools",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-floating-ip-pools"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Floating IP pools (floatingip_pools)"
        ]
      }
    },
    "/v2.0/floatingips/{floatingip_id}/port_forwardings/{port_forwarding_id}": {
      "get": {
        "operationId": "showPortForwarding",
        "summary": "Show port forwarding",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-port-forwarding"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "floatingip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the floating IP address."
            }
          },
          {
            "name": "port_forwarding_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the floating IP port forwarding."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Floating IPs port forwarding"
        ]
      },
      "put": {
        "operationId": "updateAPortForwarding",
        "summary": "Update a port forwarding",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-a-port-forwarding"
        },
        "parameters": [
          {
            "name": "floatingip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the floating IP address."
            }
          },
          {
            "name": "port_forwarding_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the floating IP port forwarding."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "port_forwarding": {
                    "type": "object",
                    "properties": {
                      "protocol": {
                        "type": "string"
                      },
                      "internal_port": {
                        "type": "integer"
                      },
                      "internal_port_id": {
                        "type": "string"
                      },
                      "external_port": {
                        "type": "integer"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Floating IPs port forwarding"
        ]
      },
      "delete": {
        "operationId": "deleteAFloatingIPPortForwarding",
        "summary": "Delete a floating IP port forwarding",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-a-floating-ip-port-forwarding"
        },
        "parameters": [
          {
            "name": "floatingip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the floating IP address."
            }
          },
          {
            "name": "port_forwarding_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the floating IP port forwarding."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Floating IPs port forwarding"
        ]
      }
    },
    "/v2.0/floatingips/{floatingip_id}/port_forwardings": {
      "get": {
        "operationId": "listFloatingIPPortForwardings",
        "summary": "List floating IP port forwardings",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-floating-ip-port-forwardings"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "internal_port_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the internal Neutron port."
            }
          },
          {
            "name": "external_port",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the TCP/UDP/other protocol port number of the\nfloating IP."
            }
          },
          {
            "name": "external_port_range",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the TCP/UDP/other protocol port range of the\nfloating IP."
            }
          },
          {
            "name": "protocol",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the used protocol."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a floating IP port forwarding attribute. You can specify multiple\npairs of sort key and sort direction query parameters. The sort keys are\nlimited to:"
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "floatingip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the floating IP address."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Floating IPs port forwarding"
        ]
      },
      "post": {
        "operationId": "createPortForwarding",
        "summary": "Create port forwarding",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-port-forwarding"
        },
        "parameters": [
          {
            "name": "floatingip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the floating IP address."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "port_forwarding": {
                    "type": "object",
                    "properties": {
                      "protocol": {
                        "type": "string"
                      },
                      "internal_ip_address": {
                        "type": "string"
                      },
                      "internal_port": {
                        "type": "integer"
                      },
                      "internal_port_id": {
                        "type": "string"
                      },
                      "external_port": {
                        "type": "integer"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Floating IPs port forwarding"
        ]
      }
    },
    "/v2.0/routers": {
      "get": {
        "operationId": "listRouters",
        "summary": "List routers",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-routers"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "admin_state_up",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the list result by the administrative state of the resource,\nwhich is up (true) or down (false)."
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a router attribute. You can specify multiple pairs of sort key\nand sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers (routers)"
        ]
      },
      "post": {
        "operationId": "createRouter",
        "summary": "Create router",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-router"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "router": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "external_gateway_info": {
                        "type": "object",
                        "properties": {
                          "network_id": {
                            "type": "string"
                          },
                          "enable_snat": {
                            "type": "boolean"
                          },
                          "external_fixed_ips": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "ip_address": {
                                  "type": "string"
                                },
                                "subnet_id": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      },
                      "admin_state_up": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers (routers)"
        ]
      }
    },
    "/v2.0/routers/{router_id}": {
      "get": {
        "operationId": "showRouterDetails",
        "summary": "Show router details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-router-details"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers (routers)"
        ]
      },
      "put": {
        "operationId": "updateRouter",
        "summary": "Update router",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-router"
        },
        "parameters": [
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "router": {
                    "type": "object",
                    "properties": {
                      "distributed": {
                        "type": "boolean"
                      },
                      "external_gateway_info": {
                        "type": "object",
                        "properties": {
                          "network_id": {
                            "type": "string"
                          },
                          "enable_snat": {
                            "type": "boolean"
                          },
                          "external_fixed_ips": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "ip_address": {
                                  "type": "string"
                                },
                                "subnet_id": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "routes": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "destination": {
                                  "type": "string"
                                },
                                "nexthop": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers (routers)"
        ]
      },
      "delete": {
        "operationId": "deleteRouter",
        "summary": "Delete router",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-router"
        },
        "parameters": [
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers (routers)"
        ]
      }
    },
    "/v2.0/routers/{router_id}/add_router_interface": {
      "put": {
        "operationId": "addInterfaceToRouter",
        "summary": "Add interface to router",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#add-interface-to-router"
        },
        "parameters": [
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "subnet_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers (routers)"
        ]
      }
    },
    "/v2.0/routers/{router_id}/remove_router_interface": {
      "put": {
        "operationId": "removeInterfaceFromRouter",
        "summary": "Remove interface from router",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-interface-from-router"
        },
        "parameters": [
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "subnet_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers (routers)"
        ]
      }
    },
    "/v2.0/routers/{router_id}/add_extraroutes": {
      "put": {
        "operationId": "addExtraRoutesToRouter",
        "summary": "Add extra routes to router",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#add-extra-routes-to-router"
        },
        "parameters": [
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "router": {
                    "type": "object",
                    "properties": {
                      "routes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "destination": {
                              "type": "string"
                            },
                            "nexthop": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers (routers)"
        ]
      }
    },
    "/v2.0/routers/{router_id}/remove_extraroutes": {
      "put": {
        "operationId": "removeExtraRoutesFromRouter",
        "summary": "Remove extra routes from router",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-extra-routes-from-router"
        },
        "parameters": [
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "router": {
                    "type": "object",
                    "properties": {
                      "routes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "destination": {
                              "type": "string"
                            },
                            "nexthop": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Routers (routers)"
        ]
      }
    },
    "/v2.0/ndp_proxies": {
      "get": {
        "operationId": "listNdpProxies",
        "summary": "List ndp proxies",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-ndp-proxies"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "router_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The ID of the router for the ndp proxy."
            }
          },
          {
            "name": "port_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The ID of the port for the ndp proxy."
            }
          },
          {
            "name": "ip_address",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The IPv6 address which the ndp proxy annunciate to external network."
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a ndp proxy attribute. You can specify multiple pairs of sort key\nand sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Router NDP proxy (ndp_proxies)"
        ]
      },
      "post": {
        "operationId": "createNdpProxy",
        "summary": "Create ndp proxy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-ndp-proxy"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ndp_proxy": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "router_id": {
                        "type": "string"
                      },
                      "port_id": {
                        "type": "string"
                      },
                      "ip_address": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Router NDP proxy (ndp_proxies)"
        ]
      }
    },
    "/v2.0/ndp_proxies/{ndp_proxy_id}": {
      "get": {
        "operationId": "showNdpProxyDetails",
        "summary": "Show ndp proxy details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-ndp-proxy-details"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "ndp_proxy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the ndp proxy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Router NDP proxy (ndp_proxies)"
        ]
      },
      "put": {
        "operationId": "updateANdpProxy",
        "summary": "Update a ndp proxy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-a-ndp-proxy"
        },
        "parameters": [
          {
            "name": "ndp_proxy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the ndp proxy."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ndp_proxy": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Router NDP proxy (ndp_proxies)"
        ]
      },
      "delete": {
        "operationId": "deleteANdpProxy",
        "summary": "Delete a ndp proxy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-a-ndp-proxy"
        },
        "parameters": [
          {
            "name": "ndp_proxy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the ndp proxy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Router NDP proxy (ndp_proxies)"
        ]
      }
    },
    "/v2.0/subnetpools/{subnetpool_id}": {
      "get": {
        "operationId": "showSubnetPool",
        "summary": "Show subnet pool",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-subnet-pool"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "subnetpool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the subnet pool."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Subnet pools extension (subnetpools)"
        ]
      },
      "put": {
        "operationId": "updateSubnetPool",
        "summary": "Update subnet pool",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-subnet-pool"
        },
        "parameters": [
          {
            "name": "subnetpool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the subnet pool."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "subnetpool": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "prefixes": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "min_prefixlen": {
                        "type": "integer"
                      },
                      "default_prefixlen": {
                        "type": "integer"
                      },
                      "max_prefixlen": {
                        "type": "integer"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Subnet pools extension (subnetpools)"
        ]
      },
      "delete": {
        "operationId": "deleteSubnetPool",
        "summary": "Delete subnet pool",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-subnet-pool"
        },
        "parameters": [
          {
            "name": "subnetpool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the subnet pool."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Subnet pools extension (subnetpools)"
        ]
      }
    },
    "/v2.0/subnetpools": {
      "get": {
        "operationId": "listSubnetPools",
        "summary": "List subnet pools",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-subnet-pools"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "default_quota",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the subnet pool list result by the quota on the prefix space\nthat can be allocated from the subnet pool for project subnets."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "min_prefixlen",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the subnet pool list result by the smallest prefix that can be\nallocated from a subnet pool."
            }
          },
          {
            "name": "address_scope_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the subnet pool list result by the address scope that is assigned\nto the subnet pool."
            }
          },
          {
            "name": "ip_version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the IP protocol version.\nValid value is 4 or 6."
            }
          },
          {
            "name": "shared",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Admin-only. Filter the list result based on whether the resource is\nshared across all projects."
            }
          },
          {
            "name": "default_prefixlen",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the subnet pool list result by the size of the prefix to allocate\nwhen the cidr or prefixlen attributes are omitted when you create\nthe subnet. Default is min_prefixlen."
            }
          },
          {
            "name": "max_prefixlen",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the subnet pool list result by the maximum prefix size that can be\nallocated from the subnet pool."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "is_default",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the subnet pool list result based on if it is a default pool or not."
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a subnetpool attribute. You can specify multiple pairs of sort key\nand sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Subnet pools extension (subnetpools)"
        ]
      },
      "post": {
        "operationId": "createSubnetPool",
        "summary": "Create subnet pool",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-subnet-pool"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "subnetpool": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "prefixes": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "default_prefixlen": {
                        "type": "integer"
                      },
                      "min_prefixlen": {
                        "type": "integer"
                      },
                      "max_prefixlen": {
                        "type": "integer"
                      },
                      "shared": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Subnet pools extension (subnetpools)"
        ]
      }
    },
    "/v2.0/subnetpools/{subnetpool_id}/add_prefixes": {
      "put": {
        "operationId": "addPrefixes",
        "summary": "Add prefixes",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#add-prefixes"
        },
        "parameters": [
          {
            "name": "subnetpool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the subnet pool."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "prefixes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Subnet pool prefix operations (subnetpool-prefix-ops)"
        ]
      }
    },
    "/v2.0/subnetpools/{subnetpool_id}/remove_prefixes": {
      "put": {
        "operationId": "removePrefixes",
        "summary": "Remove prefixes",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-prefixes"
        },
        "parameters": [
          {
            "name": "subnetpool_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the subnet pool."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "prefixes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Subnet pool prefix operations (subnetpool-prefix-ops)"
        ]
      }
    },
    "/v2.0/subnets": {
      "get": {
        "operationId": "listSubnets",
        "summary": "List subnets",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-subnets"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "enable_dhcp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the subnet list result based on if DHCP is enabled or disabled\nfor the subnet."
            }
          },
          {
            "name": "network_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the subnet list result by the ID of the network to which\nthe subnet belongs."
            }
          },
          {
            "name": "ip_version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the subnet list result by the IP protocol version.\nValue is 4 or 6."
            }
          },
          {
            "name": "gateway_ip",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the subnet list result by the gateway IP of this subnet."
            }
          },
          {
            "name": "cidr",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the subnet list result by the CIDR of the subnet."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "ipv6_address_mode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the subnet list result by the IPv6 address modes specifies\nmechanisms for assigning IP addresses.\nValue is slaac, dhcpv6-stateful, dhcpv6-stateless or null."
            }
          },
          {
            "name": "ipv6_ra_mode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the subnet list result by the IPv6 router advertisement specifies\nwhether the networking service should transmit ICMPv6 packets for a subnet.\nValue is slaac, dhcpv6-stateful, dhcpv6-stateless or null."
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "segment_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the subnet list result by the ID of a network segment the subnet\nis associated with.\nIt is available when segment extension is enabled."
            }
          },
          {
            "name": "shared",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Admin-only. Filter the list result based on whether the resource is\nshared across all projects."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a subnet attribute. You can specify multiple pairs of sort key\nand sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "subnetpool_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the subnet list result by the ID of the subnet pool associated\nwith the subnet."
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "dns_publish_fixed_ip",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the subnet list result based on if dns_publish_fixed_ip is\nenabled or disabled for the subnet."
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Subnets"
        ]
      },
      "post": {
        "operationId": "createSubnet",
        "summary": "Create subnet",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-subnet"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "subnet": {
                    "type": "object",
                    "properties": {
                      "network_id": {
                        "type": "string"
                      },
                      "ip_version": {
                        "type": "integer"
                      },
                      "cidr": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Subnets"
        ]
      }
    },
    "/v2.0/subnets/{subnet_id}": {
      "get": {
        "operationId": "showSubnetDetails",
        "summary": "Show subnet details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-subnet-details"
        },
        "parameters": [
          {
            "name": "subnet_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the subnet."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Subnets"
        ]
      },
      "put": {
        "operationId": "updateSubnet",
        "summary": "Update subnet",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-subnet"
        },
        "parameters": [
          {
            "name": "subnet_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the subnet."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "subnet": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Subnets"
        ]
      },
      "delete": {
        "operationId": "deleteSubnet",
        "summary": "Delete subnet",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-subnet"
        },
        "parameters": [
          {
            "name": "subnet_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the subnet."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Subnets"
        ]
      }
    },
    "/v2.0/local_ips": {
      "get": {
        "operationId": "listLocalIPs",
        "summary": "List Local IPs",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-local-ips"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the Local IP list result by ID of Local IP"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "local_port_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the Local IP list result by ID of underlying Neutron port"
            }
          },
          {
            "name": "network_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the attached network."
            }
          },
          {
            "name": "local_ip_address",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the Local IP list result by IP address"
            }
          },
          {
            "name": "ip_mode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the Local IP list result by IP mode.\nPossible values are translate (DNAT) and passthrough (no DNAT)"
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a Local IP attribute. You can specify multiple pairs of sort\nkey and sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Local IPs (local_ips)"
        ]
      },
      "post": {
        "operationId": "createLocalIP",
        "summary": "Create Local IP",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-local-ip"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "local_ip": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "network_id": {
                        "type": "string"
                      },
                      "local_ip_address": {
                        "type": "string"
                      },
                      "ip_mode": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Local IPs (local_ips)"
        ]
      }
    },
    "/v2.0/local_ips/{local_ip_id}": {
      "get": {
        "operationId": "showLocalIPDetails",
        "summary": "Show Local IP details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-local-ip-details"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "local_ip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the Local IP"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Local IPs (local_ips)"
        ]
      },
      "put": {
        "operationId": "updateLocalIP",
        "summary": "Update Local IP",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-local-ip"
        },
        "parameters": [
          {
            "name": "local_ip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the Local IP"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "local_ip": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Local IPs (local_ips)"
        ]
      },
      "delete": {
        "operationId": "deleteLocalIP",
        "summary": "Delete Local IP",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-local-ip"
        },
        "parameters": [
          {
            "name": "local_ip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the Local IP"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Local IPs (local_ips)"
        ]
      }
    },
    "/v2.0/local_ips/{local_ip_id}/port_associations": {
      "get": {
        "operationId": "listLocalIPAssociations",
        "summary": "List Local IP Associations",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-local-ip-associations"
        },
        "parameters": [
          {
            "name": "fixed_port_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the Local IP Association list result by ID of associated ports"
            }
          },
          {
            "name": "fixed_ip",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the Local IP Association list result by IP of associated ports"
            }
          },
          {
            "name": "host",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the Local IP Association list result by host of associated ports"
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a Local IP Association attribute. You can specify multiple pairs\nof sort key and sort direction query parameters.\nThe sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "local_ip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the Local IP"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Local IP Associations (port_associations)"
        ]
      },
      "post": {
        "operationId": "createLocalIPAssociation",
        "summary": "Create Local IP Association",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-local-ip-association"
        },
        "parameters": [
          {
            "name": "local_ip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the Local IP"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "port_association": {
                    "type": "object",
                    "properties": {
                      "fixed_port_id": {
                        "type": "string"
                      },
                      "fixed_ip": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Local IP Associations (port_associations)"
        ]
      }
    },
    "/v2.0/local_ips/{local_ip_id}/port_associations/{fixed_port_id}": {
      "delete": {
        "operationId": "deleteLocalIPAssociation",
        "summary": "Delete Local IP Association",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-local-ip-association"
        },
        "parameters": [
          {
            "name": "local_ip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the Local IP"
            }
          },
          {
            "name": "fixed_port_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the port associated with the Local IP."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Local IP Associations (port_associations)"
        ]
      }
    },
    "/v2.0/address-groups/{address_group_id}": {
      "get": {
        "operationId": "showAddressGroup",
        "summary": "Show address group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-address-group"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "address_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the address group."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Address groups"
        ]
      },
      "post": {
        "operationId": "createAddressGroup",
        "summary": "Create address group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-address-group"
        },
        "parameters": [
          {
            "name": "address_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the address group."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address_group": {
                    "type": "object",
                    "properties": {
                      "addresses": {
                        "type": "array",
                        "items": {
                          "items": {}
                        }
                      },
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Address groups"
        ]
      },
      "put": {
        "operationId": "updateAnAddressGroup",
        "summary": "Update an address group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-an-address-group"
        },
        "parameters": [
          {
            "name": "address_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the address group."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address_group": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Address groups"
        ]
      },
      "delete": {
        "operationId": "deleteAnAddressGroup",
        "summary": "Delete an address group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-an-address-group"
        },
        "parameters": [
          {
            "name": "address_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the address group."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Address groups"
        ]
      }
    },
    "/v2.0/address-groups": {
      "get": {
        "operationId": "listAddressGroups",
        "summary": "List address groups",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-address-groups"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by an address group attribute. You can specify multiple pairs of sort\nkey and sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Address groups"
        ]
      }
    },
    "/v2.0/address-group/{address_group_id}/add_addresses": {
      "put": {
        "operationId": "addIPAddressesToAddressGroup",
        "summary": "Add IP addresses to address group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#add-ip-addresses-to-address-group"
        },
        "parameters": [
          {
            "name": "address_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the address group."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address_group": {
                    "type": "object",
                    "properties": {
                      "addresses": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Address groups"
        ]
      }
    },
    "/v2.0/address-group/{address_group_id}/remove_addresses": {
      "put": {
        "operationId": "removeIPAddressesToAddressGroup",
        "summary": "Remove IP addresses to address group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-ip-addresses-to-address-group"
        },
        "parameters": [
          {
            "name": "address_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the address group."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address_group": {
                    "type": "object",
                    "properties": {
                      "addresses": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Address groups"
        ]
      }
    },
    "/v2.0/fwaas/firewall_groups": {
      "get": {
        "operationId": "listFirewallGroups",
        "summary": "List firewall groups",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-firewall-groups"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      },
      "post": {
        "operationId": "createFirewallGroup",
        "summary": "Create firewall group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-firewall-group"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firewall_group": {
                    "type": "object",
                    "properties": {
                      "admin_state_up": {
                        "type": "boolean"
                      },
                      "egress_firewall_policy_id": {
                        "type": "string"
                      },
                      "ingress_firewall_policy_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      }
    },
    "/v2.0/fwaas/firewall_groups/{firewall_group_id}": {
      "get": {
        "operationId": "showFirewallGroupDetails",
        "summary": "Show firewall group details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-firewall-group-details"
        },
        "parameters": [
          {
            "name": "firewall_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the firewall group."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      },
      "put": {
        "operationId": "updateFirewallGroup",
        "summary": "Update firewall group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-firewall-group"
        },
        "parameters": [
          {
            "name": "firewall_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the firewall group."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firewall_group": {
                    "type": "object",
                    "properties": {
                      "admin_state_up": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      },
      "delete": {
        "operationId": "deleteFirewallGroup",
        "summary": "Delete firewall group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-firewall-group"
        },
        "parameters": [
          {
            "name": "firewall_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the firewall group."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      }
    },
    "/v2.0/fwaas/firewall_policies": {
      "get": {
        "operationId": "listFirewallPolicies",
        "summary": "List firewall policies",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-firewall-policies"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      },
      "post": {
        "operationId": "createFirewallPolicy",
        "summary": "Create firewall policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-firewall-policy"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firewall_policy": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "firewall_rules": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      }
    },
    "/v2.0/fwaas/firewall_policies/{firewall_policy_id}": {
      "get": {
        "operationId": "showFirewallPolicyDetails",
        "summary": "Show firewall policy details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-firewall-policy-details"
        },
        "parameters": [
          {
            "name": "firewall_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the firewall policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      },
      "put": {
        "operationId": "updateFirewallPolicy",
        "summary": "Update firewall policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-firewall-policy"
        },
        "parameters": [
          {
            "name": "firewall_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the firewall policy."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firewall_policy": {
                    "type": "object",
                    "properties": {
                      "firewall_rules": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      },
      "delete": {
        "operationId": "deleteFirewallPolicy",
        "summary": "Delete firewall policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-firewall-policy"
        },
        "parameters": [
          {
            "name": "firewall_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the firewall policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      }
    },
    "/v2.0/fwaas/firewall_rules": {
      "get": {
        "operationId": "listFirewallRules",
        "summary": "List firewall rules",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-firewall-rules"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      },
      "post": {
        "operationId": "createFirewallRule",
        "summary": "Create firewall rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-firewall-rule"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firewall_rule": {
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "string"
                      },
                      "destination_port": {
                        "type": "string"
                      },
                      "enabled": {
                        "type": "boolean"
                      },
                      "name": {
                        "type": "string"
                      },
                      "protocol": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      }
    },
    "/v2.0/fwaas/firewall_rules/{firewall_rule_id}": {
      "get": {
        "operationId": "showFirewallRuleDetails",
        "summary": "Show firewall rule details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-firewall-rule-details"
        },
        "parameters": [
          {
            "name": "firewall_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID for the firewall rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      },
      "put": {
        "operationId": "updateFirewallRule",
        "summary": "Update firewall rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-firewall-rule"
        },
        "parameters": [
          {
            "name": "firewall_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID for the firewall rule."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firewall_rule": {
                    "type": "object",
                    "properties": {
                      "shared": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      },
      "delete": {
        "operationId": "deleteFirewallRule",
        "summary": "Delete firewall rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-firewall-rule"
        },
        "parameters": [
          {
            "name": "firewall_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID for the firewall rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      }
    },
    "/v2.0/fwaas/firewall_policies/{firewall_policy_id}/insert_rule": {
      "put": {
        "operationId": "insertRuleIntoAFirewallPolicy",
        "summary": "Insert rule into a firewall policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#insert-rule-into-a-firewall-policy"
        },
        "parameters": [
          {
            "name": "firewall_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the firewall policy."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firewall_rule_id": {
                    "type": "string"
                  },
                  "insert_after": {
                    "type": "string"
                  },
                  "insert_before": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      }
    },
    "/v2.0/fwaas/firewall_policies/{firewall_policy_id}/remove_rule": {
      "put": {
        "operationId": "removeRuleFromFirewallPolicy",
        "summary": "Remove rule from firewall policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-rule-from-firewall-policy"
        },
        "parameters": [
          {
            "name": "firewall_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the firewall policy."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firewall_rule_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "FWaaS v2.0 (CURRENT) (fwaas, firewall_groups, firewall_policies, firewall_rules)"
        ]
      }
    },
    "/v2.0/rbac-policies/{rbac_policy_id}": {
      "get": {
        "operationId": "showRBACPolicyDetails",
        "summary": "Show RBAC policy details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-rbac-policy-details"
        },
        "parameters": [
          {
            "name": "rbac_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the RBAC policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "RBAC Policies"
        ]
      },
      "put": {
        "operationId": "updateRBACPolicy",
        "summary": "Update RBAC policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-rbac-policy"
        },
        "parameters": [
          {
            "name": "rbac_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the RBAC policy."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "rbac_policy": {
                    "type": "object",
                    "properties": {
                      "target_tenant": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "RBAC Policies"
        ]
      },
      "delete": {
        "operationId": "deleteRBACPolicy",
        "summary": "Delete RBAC policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-rbac-policy"
        },
        "parameters": [
          {
            "name": "rbac_policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the RBAC policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "RBAC Policies"
        ]
      }
    },
    "/v2.0/rbac-policies": {
      "get": {
        "operationId": "listRBACPolicies",
        "summary": "List RBAC policies",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-rbac-policies"
        },
        "parameters": [
          {
            "name": "target_tenant",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the RBAC policy list result by the ID of the tenant to which the\nRBAC policy will be enforced."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "object_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the RBAC policy list result by the type of the object that the\nRBAC policy affects. Types include qos-policy, network,\nsecurity-group, address-scope, subnetpool, address-group or\nbgpvpn."
            }
          },
          {
            "name": "object_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the RBAC policy list result by the ID of the object_type\nresource. An object_type of network returns a network ID,\nan object_type of qos-policy returns a QoS policy ID,\nan object_type of security-group returns a security group ID,\nan object_type` of address-scope returns a address scope ID,\nan object_type of subnetpool returns a subnetpool ID,\nan object_type of address-group returns an address group ID and\nan object_type of bgpvpn returns a bgpvpn ID."
            }
          },
          {
            "name": "action",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the RBAC policy list result by the action for the RBAC policy\nwhich is access_as_external or access_as_shared."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a RBAC policy attribute. You can specify multiple pairs of sort\nkey and sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "RBAC Policies"
        ]
      },
      "post": {
        "operationId": "createRBACPolicy",
        "summary": "Create RBAC policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-rbac-policy"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "rbac_policy": {
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "string"
                      },
                      "object_type": {
                        "type": "string"
                      },
                      "target_tenant": {
                        "type": "string"
                      },
                      "object_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "RBAC Policies"
        ]
      }
    },
    "/v2.0/security-group-rules": {
      "get": {
        "operationId": "listSecurityGroupRules",
        "summary": "List security group rules",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-security-group-rules"
        },
        "parameters": [
          {
            "name": "remote_group_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the security group rule list result by the ID of the remote group\nthat associates with this security group rule."
            }
          },
          {
            "name": "direction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the security group rule list result by the direction in which\nthe security group rule is applied, which is ingress or egress."
            }
          },
          {
            "name": "protocol",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the security group rule list result by the IP protocol."
            }
          },
          {
            "name": "ethertype",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the security group rule list result by the ethertype of\nnetwork traffic. The value must be IPv4 or IPv6."
            }
          },
          {
            "name": "port_range_max",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the security group rule list result by the maximum port number\nin the range that is matched by the security group rule."
            }
          },
          {
            "name": "security_group_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the security group rule list result by the ID of the security group\nthat associates with this security group rule."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "port_range_min",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the security group rule list result by the minimum port number\nin the range that is matched by the security group rule."
            }
          },
          {
            "name": "remote_ip_prefix",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the remote IP prefix that is matched by\nthis security group rule."
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a security group rule attribute. You can specify multiple pairs of\nsort key and sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Security group rules (security-group-rules)"
        ]
      },
      "post": {
        "operationId": "createSecurityGroupRule",
        "summary": "Create security group rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-security-group-rule"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "security_group_rule": {
                    "type": "object",
                    "properties": {
                      "direction": {
                        "type": "string"
                      },
                      "port_range_min": {
                        "type": "string"
                      },
                      "ethertype": {
                        "type": "string"
                      },
                      "port_range_max": {
                        "type": "string"
                      },
                      "protocol": {
                        "type": "string"
                      },
                      "remote_group_id": {
                        "type": "string"
                      },
                      "security_group_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Security group rules (security-group-rules)"
        ]
      }
    },
    "/v2.0/security-group-rules/{security_group_rule_id}": {
      "get": {
        "operationId": "showSecurityGroupRule",
        "summary": "Show security group rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-security-group-rule"
        },
        "parameters": [
          {
            "name": "verbose",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Show detailed information."
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "security_group_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the security group rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Security group rules (security-group-rules)"
        ]
      },
      "delete": {
        "operationId": "deleteSecurityGroupRule",
        "summary": "Delete security group rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-security-group-rule"
        },
        "parameters": [
          {
            "name": "security_group_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the security group rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Security group rules (security-group-rules)"
        ]
      }
    },
    "/v2.0/security-groups": {
      "get": {
        "operationId": "listSecurityGroups",
        "summary": "List security groups",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-security-groups"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a security group attribute. You can specify multiple pairs of\nsort key and sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "shared",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the security group list result based on if the security group is\nshared to the requestor’s project."
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Security groups (security-groups)"
        ]
      },
      "post": {
        "operationId": "createSecurityGroup",
        "summary": "Create security group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-security-group"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "security_group": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "stateful": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Security groups (security-groups)"
        ]
      }
    },
    "/v2.0/security-groups/{security_group_id}": {
      "get": {
        "operationId": "showSecurityGroup",
        "summary": "Show security group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-security-group"
        },
        "parameters": [
          {
            "name": "verbose",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Show detailed information."
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "security_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the security group."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Security groups (security-groups)"
        ]
      },
      "put": {
        "operationId": "updateSecurityGroup",
        "summary": "Update security group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-security-group"
        },
        "parameters": [
          {
            "name": "security_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the security group."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "security_group": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "stateful": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Security groups (security-groups)"
        ]
      },
      "delete": {
        "operationId": "deleteSecurityGroup",
        "summary": "Delete security group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-security-group"
        },
        "parameters": [
          {
            "name": "security_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the security group."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Security groups (security-groups)"
        ]
      }
    },
    "/v2.0/vpn/ikepolicies": {
      "get": {
        "operationId": "listIKEPolicies",
        "summary": "List IKE policies",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-ike-policies"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "post": {
        "operationId": "createIKEPolicy",
        "summary": "Create IKE policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-ike-policy"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ikepolicy": {
                    "type": "object",
                    "properties": {
                      "phase1_negotiation_mode": {
                        "type": "string"
                      },
                      "auth_algorithm": {
                        "type": "string"
                      },
                      "encryption_algorithm": {
                        "type": "string"
                      },
                      "pfs": {
                        "type": "string"
                      },
                      "lifetime": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "string"
                          },
                          "value": {
                            "type": "integer"
                          }
                        }
                      },
                      "ike_version": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      }
    },
    "/v2.0/vpn/ikepolicies/{ikepolicy_id}": {
      "get": {
        "operationId": "showIKEPolicyDetails",
        "summary": "Show IKE policy details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-ike-policy-details"
        },
        "parameters": [
          {
            "name": "ikepolicy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the IKE policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "put": {
        "operationId": "updateIKEPolicy",
        "summary": "Update IKE policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-ike-policy"
        },
        "parameters": [
          {
            "name": "ikepolicy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the IKE policy."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ikepolicy": {
                    "type": "object",
                    "properties": {
                      "encryption_algorithm": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "delete": {
        "operationId": "removeIKEPolicy",
        "summary": "Remove IKE policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-ike-policy"
        },
        "parameters": [
          {
            "name": "ikepolicy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the IKE policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      }
    },
    "/v2.0/vpn/ipsecpolicies": {
      "get": {
        "operationId": "listIPsecPolicies",
        "summary": "List IPsec policies",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-ipsec-policies"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "post": {
        "operationId": "createIPsecPolicy",
        "summary": "Create IPsec policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-ipsec-policy"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ipsecpolicy": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "transform_protocol": {
                        "type": "string"
                      },
                      "auth_algorithm": {
                        "type": "string"
                      },
                      "encapsulation_mode": {
                        "type": "string"
                      },
                      "encryption_algorithm": {
                        "type": "string"
                      },
                      "pfs": {
                        "type": "string"
                      },
                      "lifetime": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "string"
                          },
                          "value": {
                            "type": "integer"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      }
    },
    "/v2.0/vpn/ipsecpolicies/{ipsecpolicy_id}": {
      "get": {
        "operationId": "showIPsecPolicy",
        "summary": "Show IPsec policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-ipsec-policy"
        },
        "parameters": [
          {
            "name": "ipsecpolicy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the IPsec policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "put": {
        "operationId": "updateIPsecPolicy",
        "summary": "Update IPsec policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-ipsec-policy"
        },
        "parameters": [
          {
            "name": "ipsecpolicy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the IPsec policy."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ipsecpolicy": {
                    "type": "object",
                    "properties": {
                      "pfs": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "delete": {
        "operationId": "removeIPsecPolicy",
        "summary": "Remove IPsec policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-ipsec-policy"
        },
        "parameters": [
          {
            "name": "ipsecpolicy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the IPsec policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      }
    },
    "/v2.0/vpn/ipsec-site-connections": {
      "get": {
        "operationId": "listIPsecConnections",
        "summary": "List IPsec connections",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-ipsec-connections"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "post": {
        "operationId": "createIPsecConnection",
        "summary": "Create IPsec connection",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-ipsec-connection"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ipsec_site_connection": {
                    "type": "object",
                    "properties": {
                      "psk": {
                        "type": "string"
                      },
                      "initiator": {
                        "type": "string"
                      },
                      "ipsecpolicy_id": {
                        "type": "string"
                      },
                      "admin_state_up": {
                        "type": "boolean"
                      },
                      "mtu": {
                        "type": "string"
                      },
                      "peer_ep_group_id": {
                        "type": "string"
                      },
                      "ikepolicy_id": {
                        "type": "string"
                      },
                      "vpnservice_id": {
                        "type": "string"
                      },
                      "local_ep_group_id": {
                        "type": "string"
                      },
                      "peer_address": {
                        "type": "string"
                      },
                      "peer_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      }
    },
    "/v2.0/vpn/ipsec-site-connections/{connection_id}": {
      "get": {
        "operationId": "showIPsecConnection",
        "summary": "Show IPsec connection",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-ipsec-connection"
        },
        "parameters": [
          {
            "name": "connection_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the IPsec site-to-site connection."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "put": {
        "operationId": "updateIPsecConnection",
        "summary": "Update IPsec connection",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-ipsec-connection"
        },
        "parameters": [
          {
            "name": "connection_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the IPsec site-to-site connection."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ipsec_site_connection": {
                    "type": "object",
                    "properties": {
                      "mtu": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "delete": {
        "operationId": "removeIPsecConnection",
        "summary": "Remove IPsec connection",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-ipsec-connection"
        },
        "parameters": [
          {
            "name": "connection_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the IPsec site-to-site connection."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      }
    },
    "/v2.0/vpn/endpoint-groups": {
      "get": {
        "operationId": "listVPNEndpointGroups",
        "summary": "List VPN endpoint groups",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-vpn-endpoint-groups"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "post": {
        "operationId": "createVPNEndpointGroup",
        "summary": "Create VPN endpoint group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-vpn-endpoint-group"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "endpoint_group": {
                    "type": "object",
                    "properties": {
                      "endpoints": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "type": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      }
    },
    "/v2.0/vpn/endpoint-groups/{endpoint_group_id}": {
      "get": {
        "operationId": "showVPNEndpointGroup",
        "summary": "Show VPN endpoint group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-vpn-endpoint-group"
        },
        "parameters": [
          {
            "name": "endpoint_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the VPN endpoint group."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "put": {
        "operationId": "updateVPNEndpointGroup",
        "summary": "Update VPN endpoint group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-vpn-endpoint-group"
        },
        "parameters": [
          {
            "name": "endpoint_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the VPN endpoint group."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "endpoint_group": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "delete": {
        "operationId": "removeVPNEndpointGroup",
        "summary": "Remove VPN endpoint group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-vpn-endpoint-group"
        },
        "parameters": [
          {
            "name": "endpoint_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the VPN endpoint group."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      }
    },
    "/v2.0/vpn/vpnservices": {
      "get": {
        "operationId": "listVPNServices",
        "summary": "List VPN services",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-vpn-services"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "post": {
        "operationId": "createVPNService",
        "summary": "Create VPN service",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-vpn-service"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vpnservice": {
                    "type": "object",
                    "properties": {
                      "subnet_id": {
                        "type": "string"
                      },
                      "router_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "admin_state_up": {
                        "type": "boolean"
                      },
                      "flavor_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      }
    },
    "/v2.0/vpn/vpnservices/{service_id}": {
      "get": {
        "operationId": "showVPNServiceDetails",
        "summary": "Show VPN service details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-vpn-service-details"
        },
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the VPN service."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "put": {
        "operationId": "updateVPNService",
        "summary": "Update VPN service",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-vpn-service"
        },
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the VPN service."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vpnservice": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      },
      "delete": {
        "operationId": "removeVPNService",
        "summary": "Remove VPN service",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-vpn-service"
        },
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the VPN service."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "VPNaaS 2.0 (vpn, vpnservices, ikepolicies, ipsecpolicies, endpoint-groups, ipsec-site-connections)"
        ]
      }
    },
    "/v2.0/flavors": {
      "get": {
        "operationId": "listFlavors",
        "summary": "List flavors",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-flavors"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "service_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the flavor list result by the type of the flavor."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the flavor list result based on whether the flavor is enabled or\nnot."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a flavor attribute. You can specify multiple pairs of sort key\nand sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networking Flavors Framework v2.0 (CURRENT) (flavor, service_profile)"
        ]
      },
      "post": {
        "operationId": "createFlavor",
        "summary": "Create flavor",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-flavor"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "flavor": {
                    "type": "object",
                    "properties": {
                      "service_type": {
                        "type": "string"
                      },
                      "enabled": {
                        "type": "boolean"
                      },
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networking Flavors Framework v2.0 (CURRENT) (flavor, service_profile)"
        ]
      }
    },
    "/v2.0/flavors/{flavor_id}": {
      "get": {
        "operationId": "showFlavorDetails",
        "summary": "Show flavor details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-flavor-details"
        },
        "parameters": [
          {
            "name": "flavor_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the flavor."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networking Flavors Framework v2.0 (CURRENT) (flavor, service_profile)"
        ]
      },
      "put": {
        "operationId": "updateFlavor",
        "summary": "Update flavor",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-flavor"
        },
        "parameters": [
          {
            "name": "flavor_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the flavor."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "flavor": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networking Flavors Framework v2.0 (CURRENT) (flavor, service_profile)"
        ]
      },
      "delete": {
        "operationId": "deleteFlavor",
        "summary": "Delete flavor",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-flavor"
        },
        "parameters": [
          {
            "name": "flavor_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the flavor."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networking Flavors Framework v2.0 (CURRENT) (flavor, service_profile)"
        ]
      }
    },
    "/v2.0/flavors/{flavor_id}/service_profiles": {
      "post": {
        "operationId": "associateFlavorWithAServiceProfile",
        "summary": "Associate flavor with a service profile",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#associate-flavor-with-a-service-profile"
        },
        "parameters": [
          {
            "name": "flavor_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the flavor."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "service_profile": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networking Flavors Framework v2.0 (CURRENT) (flavor, service_profile)"
        ]
      }
    },
    "/v2.0/flavors/{flavor_id}/service_profiles/{profile_id}": {
      "delete": {
        "operationId": "disassociateAFlavor.",
        "summary": "Disassociate a flavor.",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#disassociate-a-flavor"
        },
        "parameters": [
          {
            "name": "profile_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the service profile."
            }
          },
          {
            "name": "flavor_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the flavor."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networking Flavors Framework v2.0 (CURRENT) (flavor, service_profile)"
        ]
      }
    },
    "/v2.0/service_profiles": {
      "get": {
        "operationId": "listServiceProfiles",
        "summary": "List service profiles",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-service-profiles"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the service profile list result based on whether this service\nprofile is enabled or not."
            }
          },
          {
            "name": "driver",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the service profile list result by the driver that this profile\nuses."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a service profile attribute. You can specify multiple pairs of\nsort key and sort direction query parameters. The sort keys are limited to:"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networking Flavors Framework v2.0 (CURRENT) (flavor, service_profile)"
        ]
      },
      "post": {
        "operationId": "createServiceProfile",
        "summary": "Create service profile",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-service-profile"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "service_profile": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "string"
                      },
                      "driver": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "metainfo": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networking Flavors Framework v2.0 (CURRENT) (flavor, service_profile)"
        ]
      }
    },
    "/v2.0/service_profiles/{profile_id}": {
      "get": {
        "operationId": "showServiceProfileDetails",
        "summary": "Show service profile details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-service-profile-details"
        },
        "parameters": [
          {
            "name": "profile_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the service profile."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networking Flavors Framework v2.0 (CURRENT) (flavor, service_profile)"
        ]
      },
      "put": {
        "operationId": "updateServiceProfile",
        "summary": "Update service profile",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-service-profile"
        },
        "parameters": [
          {
            "name": "profile_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the service profile."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "service_profile": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "driver": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "metainfo": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networking Flavors Framework v2.0 (CURRENT) (flavor, service_profile)"
        ]
      },
      "delete": {
        "operationId": "deleteServiceProfile",
        "summary": "Delete service profile",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-service-profile"
        },
        "parameters": [
          {
            "name": "profile_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID of the service profile."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Networking Flavors Framework v2.0 (CURRENT) (flavor, service_profile)"
        ]
      }
    },
    "/v2.0/metering/metering-labels": {
      "get": {
        "operationId": "listMeteringLabels",
        "summary": "List metering labels",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-metering-labels"
        },
        "parameters": [
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "shared",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Admin-only. Filter the list result based on whether the resource is\nshared across all projects."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a metering label attribute. You can specify multiple pairs of\nsort key and sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Metering labels and rules (metering-labels, metering-label-rules)"
        ]
      },
      "post": {
        "operationId": "createMeteringLabel",
        "summary": "Create metering label",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-metering-label"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "metering_label": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Metering labels and rules (metering-labels, metering-label-rules)"
        ]
      }
    },
    "/v2.0/metering/metering-labels/{metering_label_id}": {
      "get": {
        "operationId": "showMeteringLabelDetails",
        "summary": "Show metering label details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-metering-label-details"
        },
        "parameters": [
          {
            "name": "metering_label_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the metering label."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Metering labels and rules (metering-labels, metering-label-rules)"
        ]
      },
      "delete": {
        "operationId": "deleteMeteringLabel",
        "summary": "Delete metering label",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-metering-label"
        },
        "parameters": [
          {
            "name": "metering_label_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the metering label."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Metering labels and rules (metering-labels, metering-label-rules)"
        ]
      }
    },
    "/v2.0/metering/metering-label-rules": {
      "get": {
        "operationId": "listMeteringLabelRules",
        "summary": "List metering label rules",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-metering-label-rules"
        },
        "parameters": [
          {
            "name": "direction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the metering rule list result by the direction in\nwhich the metering rule is applied, which is ingress or egress."
            }
          },
          {
            "name": "remote_ip_prefix",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "(deprecated) Filter the metering rule list result by the source IP prefix\nthat the metering rule associates with. By source IP prefix, one should\nread the internal/private IPs used in OpenStack."
            }
          },
          {
            "name": "source_ip_prefix",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The source IP prefix that the metering rule is associated with; in this\ncontext, source IP prefix represents the source IP of the network packet.\nTherefore, for an ingress rule, the source IP is the IP of the system\naccessing something inside OpenStack. On the other hand, for an egress\nrule, the source IP is the internal IP associated with some OpenStack VM.\nMoreover, instead of an IP, one can also use a CIDR as the source IP\nprefix."
            }
          },
          {
            "name": "destination_ip_prefix",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The destination IP prefix that the metering rule is associated with; in\nthis context, destination IP prefix represents the destination IP of the\nnetwork packet. Therefore, for an ingress rule, the destination IP is\nthe internal IP associated with some OpenStack VM. On the other hand,\nfor an egress rule, the destination IP prefix is the IP of some external\nsystem that an application running inside some OpenStack virtual machine\nis trying to access. Moreover, instead of an IP, one can also use a CIDR\nas the destination IP prefix."
            }
          },
          {
            "name": "excluded",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the metering rule list result based on whether the metering\nrule exclude the traffic of a specific IP address with the\nremote_ip_prefix value."
            }
          },
          {
            "name": "metering_label_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the metering rule list result by the ID of the metering label\nassociated with this metering rule."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a metering label attribute. You can specify multiple pairs of\nsort key and sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Metering labels and rules (metering-labels, metering-label-rules)"
        ]
      },
      "post": {
        "operationId": "createMeteringLabelRule",
        "summary": "Create metering label rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-metering-label-rule"
        },
        "parameters": [
          {
            "name": "source_ip_prefix",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The source IP prefix that the metering rule is associated with; in this\ncontext, source IP prefix represents the source IP of the network packet.\nTherefore, for an ingress rule, the source IP is the IP of the system\naccessing something inside OpenStack. On the other hand, for an egress\nrule, the source IP is the internal IP associated with some OpenStack VM.\nMoreover, instead of an IP, one can also use a CIDR as the source IP\nprefix."
            }
          },
          {
            "name": "destination_ip_prefix",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The destination IP prefix that the metering rule is associated with; in\nthis context, destination IP prefix represents the destination IP of the\nnetwork packet. Therefore, for an ingress rule, the destination IP is\nthe internal IP associated with some OpenStack VM. On the other hand,\nfor an egress rule, the destination IP prefix is the IP of some external\nsystem that an application running inside some OpenStack virtual machine\nis trying to access. Moreover, instead of an IP, one can also use a CIDR\nas the destination IP prefix."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "metering_label_rule": {
                    "type": "object",
                    "properties": {
                      "remote_ip_prefix": {
                        "type": "string"
                      },
                      "direction": {
                        "type": "string"
                      },
                      "metering_label_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Metering labels and rules (metering-labels, metering-label-rules)"
        ]
      }
    },
    "/v2.0/metering/metering-label-rules/{metering_label_rule_id}": {
      "get": {
        "operationId": "showMeteringLabelRuleDetails",
        "summary": "Show metering label rule details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-metering-label-rule-details"
        },
        "parameters": [
          {
            "name": "metering_label_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the metering label rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Metering labels and rules (metering-labels, metering-label-rules)"
        ]
      },
      "delete": {
        "operationId": "deleteMeteringLabelRule",
        "summary": "Delete metering label rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-metering-label-rule"
        },
        "parameters": [
          {
            "name": "metering_label_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the metering label rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Metering labels and rules (metering-labels, metering-label-rules)"
        ]
      }
    },
    "/v2.0/network-ip-availabilities/{network_id}": {
      "get": {
        "operationId": "showNetworkIPAvailability",
        "summary": "Show Network IP Availability",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-network-ip-availability"
        },
        "parameters": [
          {
            "name": "network_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the network."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Network IP availability and usage stats"
        ]
      }
    },
    "/v2.0/network-ip-availabilities": {
      "get": {
        "operationId": "listNetworkIPAvailability",
        "summary": "List Network IP Availability",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-network-ip-availability"
        },
        "parameters": [
          {
            "name": "network_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the network whose IP availability\ndetail is reported."
            }
          },
          {
            "name": "network_name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the network."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "ip_version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the IP protocol version.\nValid value is 4 or 6."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Network IP availability and usage stats"
        ]
      }
    },
    "/v2.0/quotas": {
      "get": {
        "operationId": "listQuotasForProjectsWithNon-defaultQuotaValues",
        "summary": "List quotas for projects with non-default quota values",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-quotas-for-projects-with-non-default-quota-values"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quotas extension (quotas)"
        ]
      }
    },
    "/v2.0/quotas/{project_id}": {
      "get": {
        "operationId": "listQuotasForAProject",
        "summary": "List quotas for a project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-quotas-for-a-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the project."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quotas extension (quotas)"
        ]
      },
      "put": {
        "operationId": "updateQuotaForAProject",
        "summary": "Update quota for a project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-quota-for-a-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the project."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "quota": {
                    "type": "object",
                    "properties": {
                      "floatingip": {
                        "type": "integer"
                      },
                      "network": {
                        "type": "integer"
                      },
                      "port": {
                        "type": "integer"
                      },
                      "rbac_policy": {
                        "type": "integer"
                      },
                      "router": {
                        "type": "integer"
                      },
                      "security_group": {
                        "type": "integer"
                      },
                      "security_group_rule": {
                        "type": "integer"
                      },
                      "subnet": {
                        "type": "integer"
                      },
                      "subnetpool": {
                        "type": "integer"
                      },
                      "check_limit": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quotas extension (quotas)"
        ]
      },
      "delete": {
        "operationId": "resetQuotaForAProject",
        "summary": "Reset quota for a project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#reset-quota-for-a-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the project."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quotas extension (quotas)"
        ]
      }
    },
    "/v2.0/quotas/{project_id}/default": {
      "get": {
        "operationId": "listDefaultQuotasForAProject",
        "summary": "List default quotas for a project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-default-quotas-for-a-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the project."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quotas extension (quotas)"
        ]
      }
    },
    "/v2.0/quotas/{project_id}/details.json": {
      "get": {
        "operationId": "showQuotaDetailsForATenant",
        "summary": "Show quota details for a tenant",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-quota-details-for-a-tenant"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the project."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quotas details extension (quota_details)"
        ]
      }
    },
    "/v2.0/service-providers": {
      "get": {
        "operationId": "listServiceProviders",
        "summary": "List service providers",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-service-providers"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Service providers"
        ]
      }
    },
    "/v2.0/{resource_type}/{resource_id}/tags": {
      "put": {
        "operationId": "replaceAllTags",
        "summary": "Replace all tags",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#replace-all-tags"
        },
        "parameters": [
          {
            "name": "resource_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The type of resource which the tag is set on."
            }
          },
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of resource which the tag is set on."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tag extension (tags)"
        ]
      },
      "delete": {
        "operationId": "removeAllTags",
        "summary": "Remove all tags",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-all-tags"
        },
        "parameters": [
          {
            "name": "resource_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The type of resource which the tag is set on."
            }
          },
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of resource which the tag is set on."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tag extension (tags)"
        ]
      },
      "get": {
        "operationId": "obtainTagList",
        "summary": "Obtain Tag List",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#obtain-tag-list"
        },
        "parameters": [
          {
            "name": "resource_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The type of resource which the tag is set on."
            }
          },
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of resource which the tag is set on."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tag extension (tags)"
        ]
      }
    },
    "/v2.0/{resource_type}/{resource_id}/tags/{tag}": {
      "get": {
        "operationId": "confirmATag",
        "summary": "Confirm a tag",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#confirm-a-tag"
        },
        "parameters": [
          {
            "name": "resource_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The type of resource which the tag is set on."
            }
          },
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of resource which the tag is set on."
            }
          },
          {
            "name": "tag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name for the tag."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tag extension (tags)"
        ]
      },
      "put": {
        "operationId": "addATag",
        "summary": "Add a tag",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#add-a-tag"
        },
        "parameters": [
          {
            "name": "resource_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The type of resource which the tag is set on."
            }
          },
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of resource which the tag is set on."
            }
          },
          {
            "name": "tag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name for the tag."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tag extension (tags)"
        ]
      },
      "delete": {
        "operationId": "removeATag",
        "summary": "Remove a tag",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-a-tag"
        },
        "parameters": [
          {
            "name": "resource_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The type of resource which the tag is set on."
            }
          },
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of resource which the tag is set on."
            }
          },
          {
            "name": "tag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name for the tag."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tag extension (tags)"
        ]
      }
    },
    "/v2.0/qos/rule-types": {
      "get": {
        "operationId": "listQoSRuleTypes",
        "summary": "List QoS rule types",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-qos-rule-types"
        },
        "parameters": [
          {
            "name": "all_supported",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean",
              "description": "Set to true to return all QoS rule types supported by any loaded driver."
            }
          },
          {
            "name": "all_rules",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean",
              "description": "Set to true to return all QoS rule types implemented in the Neutron server."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS rule types"
        ]
      }
    },
    "/v2.0/qos/rule-types/{rule_type}": {
      "get": {
        "operationId": "showQoSRuleTypeDetails",
        "summary": "Show QoS rule type details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-qos-rule-type-details"
        },
        "parameters": [
          {
            "name": "rule_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name of the QoS rule type. It should be one of the types\nreturned by the List QoS rule types API, for example\nbandwidth_limit or dscp_marking."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS rule types"
        ]
      }
    },
    "/v2.0/qos/policies": {
      "get": {
        "operationId": "listQoSPolicies",
        "summary": "List QoS policies",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-qos-policies"
        },
        "parameters": [
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "shared",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the QoS policy list result based on whether this policy is shared\nacross all projects."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "is_default",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the QoS policy list result based on whether this policy is the\ndefault policy."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be returned.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match all tags in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "not-tags-any",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A list of tags to filter the list result by.\nResources that match any tag in this list will be excluded.\nTags in query must be separated by comma."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a QOS policy attribute. You can specify multiple pairs of sort key\nand sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS policies (qos)"
        ]
      },
      "post": {
        "operationId": "createQoSPolicy",
        "summary": "Create QoS policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-qos-policy"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "policy": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "shared": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS policies (qos)"
        ]
      }
    },
    "/v2.0/qos/policies/{policy_id}": {
      "get": {
        "operationId": "showQoSPolicyDetails",
        "summary": "Show QoS policy details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-qos-policy-details"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS policies (qos)"
        ]
      },
      "put": {
        "operationId": "updateQoSPolicy",
        "summary": "Update QoS policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-qos-policy"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "policy": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "shared": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS policies (qos)"
        ]
      },
      "delete": {
        "operationId": "deleteQoSPolicy",
        "summary": "Delete QoS policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-qos-policy"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS policies (qos)"
        ]
      }
    },
    "/v2.0/qos/policies/{policy_id}/bandwidth_limit_rules": {
      "get": {
        "operationId": "listBandwidthLimitRulesForQoSPolicy",
        "summary": "List bandwidth limit rules for QoS policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-bandwidth-limit-rules-for-qos-policy"
        },
        "parameters": [
          {
            "name": "max_kbps",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the maximum KBPS (kilobits per second) value."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "max_burst_kbps",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the maximum burst size (in kilobits)."
            }
          },
          {
            "name": "direction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the direction of the traffic to which the QoS\nrule is applied. Valid values are egress and ingress."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a bandwidth limit rule attribute. You can specify multiple pairs\nof sort key and sort direction query parameters. The sort keys are limited\nto:"
            }
          },
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS bandwidth limit rules"
        ]
      },
      "post": {
        "operationId": "createBandwidthLimitRule",
        "summary": "Create bandwidth limit rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-bandwidth-limit-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bandwidth_limit_rule": {
                    "type": "object",
                    "properties": {
                      "max_kbps": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS bandwidth limit rules"
        ]
      }
    },
    "/v2.0/qos/policies/{policy_id}/bandwidth_limit_rules/{rule_id}": {
      "get": {
        "operationId": "showBandwidthLimitRuleDetails",
        "summary": "Show bandwidth limit rule details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-bandwidth-limit-rule-details"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS bandwidth limit rules"
        ]
      },
      "put": {
        "operationId": "updateBandwidthLimitRule",
        "summary": "Update bandwidth limit rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-bandwidth-limit-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bandwidth_limit_rule": {
                    "type": "object",
                    "properties": {
                      "max_kbps": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS bandwidth limit rules"
        ]
      },
      "delete": {
        "operationId": "deleteBandwidthLimitRule",
        "summary": "Delete bandwidth limit rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-bandwidth-limit-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS bandwidth limit rules"
        ]
      }
    },
    "/v2.0/qos/policies/{policy_id}/dscp_marking_rules": {
      "get": {
        "operationId": "listDSCPMarkingRulesForQoSPolicy",
        "summary": "List DSCP marking rules for QoS policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-dscp-marking-rules-for-qos-policy"
        },
        "parameters": [
          {
            "name": "dscp_mark",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the DSCP mark value."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a DSCP marking rule attribute. You can specify multiple pairs of\nsort key and sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS DSCP marking rules"
        ]
      },
      "post": {
        "operationId": "createDSCPMarkingRule",
        "summary": "Create DSCP marking rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-dscp-marking-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "dscp_marking_rule": {
                    "type": "object",
                    "properties": {
                      "dscp_mark": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS DSCP marking rules"
        ]
      }
    },
    "/v2.0/qos/policies/{policy_id}/dscp_marking_rules/{dscp_rule_id}": {
      "get": {
        "operationId": "showDSCPMarkingRuleDetails",
        "summary": "Show DSCP marking rule details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-dscp-marking-rule-details"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "dscp_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the DSCP rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS DSCP marking rules"
        ]
      },
      "put": {
        "operationId": "updateDSCPMarkingRule",
        "summary": "Update DSCP marking rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-dscp-marking-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "dscp_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the DSCP rule."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "dscp_marking_rule": {
                    "type": "object",
                    "properties": {
                      "dscp_mark": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS DSCP marking rules"
        ]
      },
      "delete": {
        "operationId": "deleteDSCPMarkingRule",
        "summary": "Delete DSCP marking rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-dscp-marking-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "dscp_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the DSCP rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS DSCP marking rules"
        ]
      }
    },
    "/v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules": {
      "get": {
        "operationId": "listMinimumBandwidthRulesForQoSPolicy",
        "summary": "List minimum bandwidth rules for QoS policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-minimum-bandwidth-rules-for-qos-policy"
        },
        "parameters": [
          {
            "name": "min_kbps",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the minimum KBPS (kilobits per second) value\nwhich should be available for port."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "direction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the direction of the traffic to which the QoS\nrule is applied. Valid values are egress and ingress."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a minimum bandwidth rule attribute. You can specify multiple pairs\nof sort key and sort direction query parameters. The sort keys are limited\nto:"
            }
          },
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS minimum bandwidth rules"
        ]
      },
      "post": {
        "operationId": "createMinimumBandwidthRule",
        "summary": "Create minimum bandwidth rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-minimum-bandwidth-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "minimum_bandwidth_rule": {
                    "type": "object",
                    "properties": {
                      "min_kbps": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS minimum bandwidth rules"
        ]
      }
    },
    "/v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules/{rule_id}": {
      "get": {
        "operationId": "showMinimumBandwidthRuleDetails",
        "summary": "Show minimum bandwidth rule details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-minimum-bandwidth-rule-details"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS minimum bandwidth rules"
        ]
      },
      "put": {
        "operationId": "updateMinimumBandwidthRule",
        "summary": "Update minimum bandwidth rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-minimum-bandwidth-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "minimum_bandwidth_rule": {
                    "type": "object",
                    "properties": {
                      "min_kbps": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS minimum bandwidth rules"
        ]
      },
      "delete": {
        "operationId": "deleteMinimumBandwidthRule",
        "summary": "Delete minimum bandwidth rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-minimum-bandwidth-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS minimum bandwidth rules"
        ]
      }
    },
    "/v2.0/qos/policies/{policy_id}/minimum_packet_rate_rules": {
      "get": {
        "operationId": "listMinimumPacketRateRulesForQoSPolicy",
        "summary": "List minimum packet rate rules for QoS policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-minimum-packet-rate-rules-for-qos-policy"
        },
        "parameters": [
          {
            "name": "min_kpps",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the min kpps (kilo packets per second) value."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "direction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the direction of the traffic to which the QoS\nminimum packet rule is applied. Valid values are any, egress and\ningress."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a minimum packet rate rule attribute. You can specify multiple\npairs of sort key and sort direction query parameters. The sort keys are\nlimited to:"
            }
          },
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS minimum packet rate rules"
        ]
      },
      "post": {
        "operationId": "createMinimumPacketRateRule",
        "summary": "Create minimum packet rate rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-minimum-packet-rate-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "minimum_packet_rate_rule": {
                    "type": "object",
                    "properties": {
                      "min_kpps": {
                        "type": "integer"
                      },
                      "direction": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS minimum packet rate rules"
        ]
      }
    },
    "/v2.0/qos/policies/{policy_id}/minimum_packet_rate_rules/{rule_id}": {
      "get": {
        "operationId": "showMinimumPacketRateRuleDetails",
        "summary": "Show minimum packet rate rule details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-minimum-packet-rate-rule-details"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS minimum packet rate rules"
        ]
      },
      "put": {
        "operationId": "updateMinimumPacketRateRule",
        "summary": "Update minimum packet rate rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-minimum-packet-rate-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "minimum_packet_rate_rule": {
                    "type": "object",
                    "properties": {
                      "min_kpps": {
                        "type": "integer"
                      },
                      "direction": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS minimum packet rate rules"
        ]
      },
      "delete": {
        "operationId": "deleteMinimumPacketRateRule",
        "summary": "Delete minimum packet rate rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-minimum-packet-rate-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS minimum packet rate rules"
        ]
      }
    },
    "/v2.0/qos/policies/{policy_id}/packet_rate_limit_rules": {
      "get": {
        "operationId": "listPacketRateLimitRulesForQoSPolicy",
        "summary": "List packet rate limit rules for QoS policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-packet-rate-limit-rules-for-qos-policy"
        },
        "parameters": [
          {
            "name": "max_kpps",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the max kpps (kilo packets per second) value."
            }
          },
          {
            "name": "max_burst_kpps",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the max burst kpps (kilo packets per second) value."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "direction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the direction of the traffic to which the QoS\nrule is applied. Valid values are egress and ingress."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a packet rate limit rule attribute. You can specify multiple pairs\nof sort key and sort direction query parameters. The sort keys are limited\nto:"
            }
          },
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS packet rate limit rules"
        ]
      },
      "post": {
        "operationId": "createPacketRateLimitRule",
        "summary": "Create packet rate limit rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-packet-rate-limit-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "packet_rate_limit_rule": {
                    "type": "object",
                    "properties": {
                      "max_kpps": {
                        "type": "string"
                      },
                      "max_burst_kpps": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS packet rate limit rules"
        ]
      }
    },
    "/v2.0/qos/policies/{policy_id}/packet_rate_limit_rules/{rule_id}": {
      "get": {
        "operationId": "showPacketRateLimitRuleDetails",
        "summary": "Show packet rate limit rule details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-packet-rate-limit-rule-details"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS packet rate limit rules"
        ]
      },
      "put": {
        "operationId": "updatePacketRateLimitRule",
        "summary": "Update packet rate limit rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-packet-rate-limit-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "packet_rate_limit_rule": {
                    "type": "object",
                    "properties": {
                      "max_kpps": {
                        "type": "string"
                      },
                      "max_burst_kpps": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS packet rate limit rules"
        ]
      },
      "delete": {
        "operationId": "deletePacketRateLimitRule",
        "summary": "Delete packet rate limit rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-packet-rate-limit-rule"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS policy."
            }
          },
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "QoS packet rate limit rules"
        ]
      }
    },
    "/v2.0/qos/alias_bandwidth_limit_rules/{rule_id}": {
      "get": {
        "operationId": "showBandwidthLimitRuleDetailsAlias",
        "summary": "Show bandwidth limit rule details alias",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-bandwidth-limit-rule-details-alias"
        },
        "parameters": [
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quality of Service rules alias API"
        ]
      },
      "put": {
        "operationId": "updateBandwidthLimitRuleAlias",
        "summary": "Update bandwidth limit rule alias",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-bandwidth-limit-rule-alias"
        },
        "parameters": [
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quality of Service rules alias API"
        ]
      },
      "delete": {
        "operationId": "deleteBandwidthLimitRuleAlias",
        "summary": "Delete bandwidth limit rule alias",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-bandwidth-limit-rule-alias"
        },
        "parameters": [
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quality of Service rules alias API"
        ]
      }
    },
    "/v2.0/qos/alias_dscp_marking_rules/{dscp_rule_id}": {
      "get": {
        "operationId": "showDSCPMarkingRuleDetailsAlias",
        "summary": "Show DSCP marking rule details alias",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-dscp-marking-rule-details-alias"
        },
        "parameters": [
          {
            "name": "dscp_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the DSCP rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quality of Service rules alias API"
        ]
      },
      "put": {
        "operationId": "updateDSCPMarkingRuleAlias",
        "summary": "Update DSCP marking rule alias",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-dscp-marking-rule-alias"
        },
        "parameters": [
          {
            "name": "dscp_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the DSCP rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quality of Service rules alias API"
        ]
      },
      "delete": {
        "operationId": "deleteDSCPMarkingRuleAlias",
        "summary": "Delete DSCP marking rule alias",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-dscp-marking-rule-alias"
        },
        "parameters": [
          {
            "name": "dscp_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the DSCP rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quality of Service rules alias API"
        ]
      }
    },
    "/v2.0/qos/alias_minimum_bandwidth_rules/{rule_id}": {
      "get": {
        "operationId": "showMinimumBandwidthRuleDetailsAlias",
        "summary": "Show minimum bandwidth rule details alias",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-minimum-bandwidth-rule-details-alias"
        },
        "parameters": [
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quality of Service rules alias API"
        ]
      },
      "put": {
        "operationId": "updateMinimumBandwidthRuleAlias",
        "summary": "Update minimum bandwidth rule alias",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-minimum-bandwidth-rule-alias"
        },
        "parameters": [
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quality of Service rules alias API"
        ]
      },
      "delete": {
        "operationId": "deleteMinimumBandwidthRuleAlias",
        "summary": "Delete minimum bandwidth rule alias",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-minimum-bandwidth-rule-alias"
        },
        "parameters": [
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quality of Service rules alias API"
        ]
      }
    },
    "/v2.0/qos/alias_minimum_packet_rate_rules/{rule_id}": {
      "get": {
        "operationId": "showMinimumPacketRateRuleDetailsAlias",
        "summary": "Show minimum packet rate rule details alias",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-minimum-packet-rate-rule-details-alias"
        },
        "parameters": [
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quality of Service minimum packet rate rule alias API"
        ]
      },
      "put": {
        "operationId": "updateMinimumPacketRateRuleAlias",
        "summary": "Update minimum packet rate rule alias",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-minimum-packet-rate-rule-alias"
        },
        "parameters": [
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quality of Service minimum packet rate rule alias API"
        ]
      },
      "delete": {
        "operationId": "deleteMinimumPacketRateRuleAlias",
        "summary": "Delete minimum packet rate rule alias",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-minimum-packet-rate-rule-alias"
        },
        "parameters": [
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the QoS rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Quality of Service minimum packet rate rule alias API"
        ]
      }
    },
    "/v2.0/logging/logging_resources": {
      "get": {
        "operationId": "listLoggingResources",
        "summary": "List Logging Resources",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-logging-resources"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Logging Resources"
        ]
      },
      "post": {
        "operationId": "createLoggingResource",
        "summary": "Create Logging Resource",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-logging-resource"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "logging_resource": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      },
                      "enabled": {
                        "type": "boolean"
                      },
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Logging Resources"
        ]
      }
    },
    "/v2.0/logging/logging_resources/{logging_resource_id}": {
      "get": {
        "operationId": "showLoggingResourceDetails",
        "summary": "Show Logging Resource Details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-logging-resource-details"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "logging_resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the logging resource."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Logging Resources"
        ]
      },
      "put": {
        "operationId": "updateLoggingResource",
        "summary": "Update Logging Resource",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-logging-resource"
        },
        "parameters": [
          {
            "name": "logging_resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the logging resource."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "logging_resource": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      },
                      "enabled": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Logging Resources"
        ]
      },
      "delete": {
        "operationId": "deleteLoggingResource",
        "summary": "Delete Logging Resource",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-logging-resource"
        },
        "parameters": [
          {
            "name": "logging_resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the logging resource."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Logging Resources"
        ]
      }
    },
    "/v2.0/logging/logging_resources/{logging_resource_id}/firewall_logs": {
      "get": {
        "operationId": "listFirewallLogs",
        "summary": "List Firewall Logs",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-firewall-logs"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "logging_resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the logging resource."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Firewall Logs"
        ]
      },
      "post": {
        "operationId": "createFirewallLog",
        "summary": "Create Firewall Log",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-firewall-log"
        },
        "parameters": [
          {
            "name": "logging_resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the logging resource."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firewall_log": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      },
                      "firewall_id": {
                        "type": "string"
                      },
                      "fw_event": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Firewall Logs"
        ]
      }
    },
    "/v2.0/logging/logging_resources/{logging_resource_id}/firewall_logs/{firewall_log_id}": {
      "get": {
        "operationId": "showFirewallLogDetails",
        "summary": "Show Firewall Log Details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-firewall-log-details"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "logging_resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the logging resource."
            }
          },
          {
            "name": "firewall_log_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the firewall log resource."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Firewall Logs"
        ]
      },
      "put": {
        "operationId": "updateFirewallLog",
        "summary": "Update Firewall Log",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-firewall-log"
        },
        "parameters": [
          {
            "name": "logging_resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the logging resource."
            }
          },
          {
            "name": "firewall_log_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the firewall log resource."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firewall_log": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      },
                      "fw_event": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Firewall Logs"
        ]
      },
      "delete": {
        "operationId": "deleteFirewallLog",
        "summary": "Delete Firewall Log",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-firewall-log"
        },
        "parameters": [
          {
            "name": "logging_resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the logging resource."
            }
          },
          {
            "name": "firewall_log_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the firewall log resource."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Firewall Logs"
        ]
      }
    },
    "/v2.0/bgpvpn/bgpvpns": {
      "get": {
        "operationId": "listBGPVPNs",
        "summary": "List BGP VPNs",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-bgp-vpns"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP VPNs"
        ]
      },
      "post": {
        "operationId": "createBGPVPNS",
        "summary": "Create BGP VPNS",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-bgp-vpns"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bgpvpn": {
                    "type": "object",
                    "properties": {
                      "tenant_id": {
                        "type": "string"
                      },
                      "route_targets": {
                        "type": "string"
                      },
                      "import_targets": {
                        "type": "string"
                      },
                      "export_targets": {
                        "type": "string"
                      },
                      "route_distinguishers": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "type": {
                        "type": "string"
                      },
                      "vni": {
                        "type": "integer"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP VPNs"
        ]
      }
    },
    "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}": {
      "get": {
        "operationId": "showBGPVPNDetails",
        "summary": "Show BGP VPN details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-bgp-vpn-details"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP VPNs"
        ]
      },
      "put": {
        "operationId": "updateABGPVPN",
        "summary": "Update a BGP VPN",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-a-bgp-vpn"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bgpvpn": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "route_targets": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "export_targets": {
                        "type": "array",
                        "items": {
                          "items": {}
                        }
                      },
                      "import_targets": {
                        "type": "array",
                        "items": {
                          "items": {}
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP VPNs"
        ]
      },
      "delete": {
        "operationId": "deleteBGPVPN",
        "summary": "Delete BGP VPN",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-bgp-vpn"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP VPNs"
        ]
      }
    },
    "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/network_associations": {
      "get": {
        "operationId": "listNetworkAssociations",
        "summary": "List Network Associations",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-network-associations"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Network Associations"
        ]
      },
      "post": {
        "operationId": "createNetworkAssociation",
        "summary": "Create Network Association",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-network-association"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "network_association": {
                    "type": "object",
                    "properties": {
                      "network_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Network Associations"
        ]
      }
    },
    "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/network_associations/{network_association_id}": {
      "get": {
        "operationId": "showNetworkAssociationDetails",
        "summary": "Show Network Association details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-network-association-details"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          },
          {
            "name": "network_association_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of an association between a network and a BGP VPN."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Network Associations"
        ]
      },
      "delete": {
        "operationId": "deleteNetworkAssociation",
        "summary": "Delete Network Association",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-network-association"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          },
          {
            "name": "network_association_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of an association between a network and a BGP VPN."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Network Associations"
        ]
      }
    },
    "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations": {
      "get": {
        "operationId": "listRouterAssociations",
        "summary": "List Router Associations",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-router-associations"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Router Associations"
        ]
      },
      "post": {
        "operationId": "createRouterAssociation",
        "summary": "Create Router Association",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-router-association"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "router_association": {
                    "type": "object",
                    "properties": {
                      "router_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Router Associations"
        ]
      }
    },
    "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations/{router_association_id}": {
      "get": {
        "operationId": "showRouterAssociationDetails",
        "summary": "Show Router Association details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-router-association-details"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          },
          {
            "name": "router_association_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of an association between a router and a BGP VPN."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Router Associations"
        ]
      },
      "put": {
        "operationId": "updateARouterAssociation(‘bgpvpn-routes-control’Extension)",
        "summary": "Update a Router Association (‘bgpvpn-routes-control’ extension)",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-a-router-association-bgpvpn-routes-control-extension"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          },
          {
            "name": "router_association_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of an association between a router and a BGP VPN."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "router_association": {
                    "type": "object",
                    "properties": {
                      "router_id": {
                        "type": "string"
                      },
                      "advertise_extra_routes": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Router Associations"
        ]
      },
      "delete": {
        "operationId": "deleteRouterAssociation",
        "summary": "Delete Router Association",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-router-association"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          },
          {
            "name": "router_association_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of an association between a router and a BGP VPN."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Router Associations"
        ]
      }
    },
    "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/port_associations": {
      "get": {
        "operationId": "listPortAssociations",
        "summary": "List Port Associations",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-port-associations"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Port Associations"
        ]
      },
      "post": {
        "operationId": "createPortAssociation",
        "summary": "Create Port Association",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-port-association"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "port_association": {
                    "type": "object",
                    "properties": {
                      "port_id": {
                        "type": "string"
                      },
                      "routes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "prefix": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Port Associations"
        ]
      }
    },
    "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/port_associations/{port_association_id}": {
      "get": {
        "operationId": "showPortAssociationDetails",
        "summary": "Show Port Association details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-port-association-details"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          },
          {
            "name": "port_association_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of an association between a port and a BGP VPN."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Port Associations"
        ]
      },
      "put": {
        "operationId": "updateAPortAssociation",
        "summary": "Update a Port Association",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-a-port-association"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          },
          {
            "name": "port_association_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of an association between a port and a BGP VPN."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "port_association": {
                    "type": "object",
                    "properties": {
                      "port_id": {
                        "type": "string"
                      },
                      "routes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "bgpvpn_id": {
                              "type": "string"
                            },
                            "local_pref": {
                              "type": "integer"
                            }
                          }
                        }
                      },
                      "advertise_fixed_ips": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Port Associations"
        ]
      },
      "delete": {
        "operationId": "deletePortAssociation",
        "summary": "Delete Port Association",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-port-association"
        },
        "parameters": [
          {
            "name": "bgpvpn_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP VPN."
            }
          },
          {
            "name": "port_association_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of an association between a port and a BGP VPN."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Port Associations"
        ]
      }
    },
    "/v2.0/bgp-speakers": {
      "get": {
        "operationId": "listBGPSpeakers",
        "summary": "List BGP Speakers",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-bgp-speakers"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Speaker"
        ]
      },
      "post": {
        "operationId": "createBGPSpeaker",
        "summary": "Create BGP Speaker",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-bgp-speaker"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bgp_speaker": {
                    "type": "object",
                    "properties": {
                      "ip_version": {
                        "type": "integer"
                      },
                      "local_as": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Speaker"
        ]
      }
    },
    "/v2.0/bgp-speakers/{bgp-speaker-id}": {
      "get": {
        "operationId": "showBGPSpeakerDetails",
        "summary": "Show BGP Speaker details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-bgp-speaker-details"
        },
        "parameters": [
          {
            "name": "bgp-speaker-id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP Speaker."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Speaker"
        ]
      },
      "put": {
        "operationId": "updateABGPSpeaker",
        "summary": "Update a BGP Speaker",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-a-bgp-speaker"
        },
        "parameters": [
          {
            "name": "bgp-speaker-id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP Speaker."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bgp_speaker": {
                    "type": "object",
                    "properties": {
                      "advertise_floating_ip_host_routes": {
                        "type": "string"
                      },
                      "advertise_tenant_networks": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Speaker"
        ]
      },
      "delete": {
        "operationId": "deleteABGPSpeaker",
        "summary": "Delete a BGP Speaker",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-a-bgp-speaker"
        },
        "parameters": [
          {
            "name": "bgp-speaker-id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP Speaker."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Speaker"
        ]
      }
    },
    "/v2.0/bgp-speakers/{bgp-speaker-id}/add-bgp-peer": {
      "put": {
        "operationId": "addBGPPeerToABGPSpeaker",
        "summary": "Add BGP Peer to a BGP Speaker",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#add-bgp-peer-to-a-bgp-speaker"
        },
        "parameters": [
          {
            "name": "bgp-speaker-id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP Speaker."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bgp_peer_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Speaker"
        ]
      }
    },
    "/v2.0/bgp-speakers/{bgp-speaker-id}/remove-bgp-peer": {
      "put": {
        "operationId": "removeBGPPeerFromABGPSpeaker",
        "summary": "Remove BGP Peer from a BGP Speaker",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-bgp-peer-from-a-bgp-speaker"
        },
        "parameters": [
          {
            "name": "bgp-speaker-id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP Speaker."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bgp_peer_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Speaker"
        ]
      }
    },
    "/v2.0/bgp-speakers/{bgp-speaker-id}/add_gateway_network": {
      "put": {
        "operationId": "addNetworkToABGPSpeaker",
        "summary": "Add Network to a BGP Speaker",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#add-network-to-a-bgp-speaker"
        },
        "parameters": [
          {
            "name": "bgp-speaker-id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP Speaker."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "network_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Speaker"
        ]
      }
    },
    "/v2.0/bgp-speakers//remove_gateway_network": {
      "put": {
        "operationId": "deleteNetworkFromABGPSpeaker",
        "summary": "Delete Network from a BGP Speaker",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-network-from-a-bgp-speaker"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Speaker"
        ]
      }
    },
    "/v2.0/bgp-speakers//get_advertised_routes": {
      "get": {
        "operationId": "listRoutesAdvertisedByABGPSpeaker",
        "summary": "List routes advertised by a BGP Speaker",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-routes-advertised-by-a-bgp-speaker"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Speaker"
        ]
      }
    },
    "/v2.0/bgp-speakers//bgp-dragents": {
      "get": {
        "operationId": "listDynamicRoutingAgentsHostingASpecificBGPSpeaker",
        "summary": "List Dynamic Routing Agents hosting a specific BGP Speaker",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-dynamic-routing-agents-hosting-a-specific-bgp-speaker"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Speaker"
        ]
      }
    },
    "/v2.0/bgp-peers": {
      "get": {
        "operationId": "listBGPPeers",
        "summary": "List BGP Peers",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-bgp-peers"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Peer"
        ]
      },
      "post": {
        "operationId": "createABGPPeer",
        "summary": "Create a BGP Peer",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-a-bgp-peer"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bgp_peer": {
                    "type": "object",
                    "properties": {
                      "auth_type": {
                        "type": "string"
                      },
                      "remote_as": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "peer_ip": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Peer"
        ]
      }
    },
    "/v2.0/bgp-peers/{bgp-peer-id}": {
      "get": {
        "operationId": "showBGPPeerDetails",
        "summary": "Show BGP Peer details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-bgp-peer-details"
        },
        "parameters": [
          {
            "name": "bgp-peer-id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP Speaker."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Peer"
        ]
      },
      "put": {
        "operationId": "updateABGPPeer",
        "summary": "Update a BGP Peer",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-a-bgp-peer"
        },
        "parameters": [
          {
            "name": "bgp-peer-id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP Speaker."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Peer"
        ]
      },
      "delete": {
        "operationId": "deleteABGPPeer",
        "summary": "Delete a BGP Peer",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-a-bgp-peer"
        },
        "parameters": [
          {
            "name": "bgp-peer-id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the BGP Speaker."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "BGP Peer"
        ]
      }
    },
    "/v2.0/log/logs": {
      "get": {
        "operationId": "listLogs",
        "summary": "List logs",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-logs"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "event",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the log list result by the type of security events,\nwhich is ACCEPT, DROP, or ALL."
            }
          },
          {
            "name": "revision_number",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "Filter the list result by the revision number of the resource."
            }
          },
          {
            "name": "resource_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the log list result by the resource type such as security_group."
            }
          },
          {
            "name": "resource_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the log list result by the ID of resource (e.g security group ID)."
            }
          },
          {
            "name": "target_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the log list result by the ID of resource that is the\nlogging target."
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the log list result based on this log object is enabled (true)\nor disabled (false)."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by a log attribute. You can specify multiple pairs of sort key\nand sort direction query parameters. The sort keys are limited to:"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Log resource"
        ]
      },
      "post": {
        "operationId": "createLog",
        "summary": "Create log",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-log"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "log": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "resource_type": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Log resource"
        ]
      }
    },
    "/v2.0/log/logs/{log_id}": {
      "get": {
        "operationId": "showLog",
        "summary": "Show log",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-log"
        },
        "parameters": [
          {
            "name": "log_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the log resource."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Log resource"
        ]
      },
      "put": {
        "operationId": "updateLog",
        "summary": "Update log",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-log"
        },
        "parameters": [
          {
            "name": "log_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the log resource."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "log": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Log resource"
        ]
      },
      "delete": {
        "operationId": "deleteLog",
        "summary": "Delete log",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-log"
        },
        "parameters": [
          {
            "name": "log_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the log resource."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Log resource"
        ]
      }
    },
    "/v2.0/log/loggable-resources": {
      "get": {
        "operationId": "listLoggableResources",
        "summary": "List loggable resources",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-loggable-resources"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Loggable resource"
        ]
      }
    },
    "/v2.0/agents": {
      "get": {
        "operationId": "listAllAgents",
        "summary": "List all agents",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-all-agents"
        },
        "parameters": [
          {
            "name": "admin_state_up",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the list result by the administrative state of the resource,\nwhich is up (true) or down (false)."
            }
          },
          {
            "name": "agent_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the type of agent such as Open vSwitch agent\nor DHCP agent."
            }
          },
          {
            "name": "alive",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter the list result based on whether the agent is alive and running."
            }
          },
          {
            "name": "availability_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the availability zone of the agent."
            }
          },
          {
            "name": "binary",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the executable command used to start the agent\nsuch as neutron-openvswitch-agent or neutron-dhcp-agent."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          },
          {
            "name": "host",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the hostname of the system the agent is running\non."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the resource."
            }
          },
          {
            "name": "topic",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the name of AMQP topic the agent is listening on\nsuch as dhcp_agent."
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sort direction. A valid value is asc (ascending) or desc\n(descending). You can specify multiple pairs of sort key and\nsort direction query parameters."
            }
          },
          {
            "name": "sort_key",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Sorts by agent attributes. You can specify multiple pairs of sort key\nand sort direction query parameters. The sort keys are limited to:"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Agents"
        ]
      }
    },
    "/v2.0/agents/{agent_id}": {
      "get": {
        "operationId": "showAgentDetails",
        "summary": "Show agent details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-agent-details"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the agent."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Agents"
        ]
      },
      "put": {
        "operationId": "updateAgent",
        "summary": "Update agent",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-agent"
        },
        "parameters": [
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the agent."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "agent": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Agents"
        ]
      },
      "delete": {
        "operationId": "deleteAgent",
        "summary": "Delete agent",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-agent"
        },
        "parameters": [
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the agent."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Agents"
        ]
      }
    },
    "/v2.0/availability_zones": {
      "get": {
        "operationId": "listAllAvailabilityZones",
        "summary": "List all availability zones",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-all-availability-zones"
        },
        "parameters": [
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the state of the availability zone, which is\neither available or unavailable."
            }
          },
          {
            "name": "resource",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the resource type of the availability zone.\nThe supported resource types are network and router."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable name of the resource."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Availability Zones"
        ]
      }
    },
    "/v2.0/agents/{agent_id}/l3-routers": {
      "get": {
        "operationId": "listRoutersHostedByAnL3Agent",
        "summary": "List routers hosted by an L3 agent",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-routers-hosted-by-an-l3-agent"
        },
        "parameters": [
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the agent."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "L3 agent scheduler"
        ]
      },
      "post": {
        "operationId": "scheduleRouterToAnL3Agent",
        "summary": "Schedule router to an l3 agent",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#schedule-router-to-an-l3-agent"
        },
        "parameters": [
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the agent."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "router_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "L3 agent scheduler"
        ]
      }
    },
    "/v2.0/agents/{agent_id}/l3-routers/{router_id}": {
      "delete": {
        "operationId": "removeL3RouterFromAnL3Agent",
        "summary": "Remove l3 router from an l3 agent",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-l3-router-from-an-l3-agent"
        },
        "parameters": [
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the agent."
            }
          },
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "L3 agent scheduler"
        ]
      }
    },
    "/v2.0/routers/{router_id}/l3-agents": {
      "get": {
        "operationId": "listL3AgentsHostingARouter",
        "summary": "List L3 agents hosting a router",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-l3-agents-hosting-a-router"
        },
        "parameters": [
          {
            "name": "router_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the router."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "L3 agent scheduler"
        ]
      }
    },
    "/v2.0/agents/{agent_id}/dhcp-networks": {
      "get": {
        "operationId": "listNetworksHostedByADHCPAgent",
        "summary": "List networks hosted by a DHCP agent",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-networks-hosted-by-a-dhcp-agent"
        },
        "parameters": [
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the agent."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "DHCP agent scheduler"
        ]
      },
      "post": {
        "operationId": "scheduleANetworkToADHCPAgent",
        "summary": "Schedule a network to a DHCP agent",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#schedule-a-network-to-a-dhcp-agent"
        },
        "parameters": [
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the agent."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "network_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "DHCP agent scheduler"
        ]
      }
    },
    "/v2.0/agents/{agent_id}/dhcp-networks/{network_id}": {
      "delete": {
        "operationId": "removeNetworkFromADHCPAgent",
        "summary": "Remove network from a DHCP agent",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#remove-network-from-a-dhcp-agent"
        },
        "parameters": [
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the agent."
            }
          },
          {
            "name": "network_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the attached network."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "DHCP agent scheduler"
        ]
      }
    },
    "/v2.0/networks/{network_id}/dhcp-agents": {
      "get": {
        "operationId": "listDHCPAgentsHostingANetwork",
        "summary": "List DHCP agents hosting a network",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-dhcp-agents-hosting-a-network"
        },
        "parameters": [
          {
            "name": "network_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the attached network."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "DHCP agent scheduler"
        ]
      }
    },
    "/v2.0/auto-allocated-topology/{project_id}": {
      "get": {
        "operationId": "showAutoAllocatedTopologyDetails",
        "summary": "Show auto allocated topology details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-auto-allocated-topology-details"
        },
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The fields that you want the server to return.\nIf no fields query parameter is specified,\nthe networking API returns all attributes allowed by the policy settings.\nBy using fields parameter, the API returns only the requested set of\nattributes. fields parameter can be specified multiple times.\nFor example, if you specify fields=id&fields=name in the request URL,\nonly id and name attributes will be returned."
            }
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the project."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Auto Allocated Topologies"
        ]
      },
      "delete": {
        "operationId": "deleteTheAutoAllocatedTopology",
        "summary": "Delete the auto allocated topology",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-the-auto-allocated-topology"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the project."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Auto Allocated Topologies"
        ]
      }
    },
    "/v2.0/taas/tap_services": {
      "get": {
        "operationId": "listTapServices",
        "summary": "List Tap Services",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-tap-services"
        },
        "parameters": [
          {
            "name": "project",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project-domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Domain the project belongs to (name or ID).\nThis can be used in case collisions between project names exist."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tap As A Service"
        ]
      },
      "post": {
        "operationId": "createTapService",
        "summary": "Create Tap Service",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-tap-service"
        },
        "parameters": [
          {
            "name": "project",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project-domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Domain the project belongs to (name or ID).\nThis can be used in case collisions between project names exist."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name of the Tap Service."
            }
          },
          {
            "name": "port",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Port to which the Tap service is connected."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tap As A Service"
        ]
      }
    },
    "/v2.0/taas/tap_services/{name}": {
      "put": {
        "operationId": "updateTapService",
        "summary": "Update Tap Service",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-tap-service"
        },
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name of the Tap Service."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tap As A Service"
        ]
      },
      "delete": {
        "operationId": "deleteTapService",
        "summary": "Delete Tap Service",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-tap-service"
        },
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name of the Tap Service."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The ID of the Tap Service."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tap As A Service"
        ]
      },
      "get": {
        "operationId": "showTapService",
        "summary": "Show Tap Service",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-tap-service"
        },
        "parameters": [
          {
            "name": "project",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project-domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Domain the project belongs to (name or ID).\nThis can be used in case collisions between project names exist."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name of the Tap Service."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tap As A Service"
        ]
      }
    },
    "/v2.0/taas/tap_flows": {
      "get": {
        "operationId": "listTapFlow",
        "summary": "List Tap Flow",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#list-tap-flow"
        },
        "parameters": [
          {
            "name": "project",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project-domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Domain the project belongs to (name or ID).\nThis can be used in case collisions between project names exist."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tap As A Service"
        ]
      },
      "post": {
        "operationId": "createTapFlow",
        "summary": "Create Tap Flow",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#create-tap-flow"
        },
        "parameters": [
          {
            "name": "project",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project-domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Domain the project belongs to (name or ID).\nThis can be used in case collisions between project names exist."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name of the Tap flow."
            }
          },
          {
            "name": "port",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Source port to which the Tap Flow is connected."
            }
          },
          {
            "name": "tap_service",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Tap Service to which the Tap Flow belongs."
            }
          },
          {
            "name": "vlan_filter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "VLAN Ids to be mirrored in the form of range string."
            }
          },
          {
            "name": "direction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Direction of the Tap flow. Possible options are: IN, OUT, BOTH"
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tap As A Service"
        ]
      }
    },
    "/v2.0/taas/tap_flows/{name}": {
      "put": {
        "operationId": "updateTapFlow",
        "summary": "Update Tap Flow",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#update-tap-flow"
        },
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name of the Tap flow."
            }
          },
          {
            "name": "description",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the human-readable description of the resource."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tap As A Service"
        ]
      },
      "delete": {
        "operationId": "deleteTapFlow",
        "summary": "Delete Tap Flow",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#delete-tap-flow"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The ID of the Tap flow."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name of the Tap flow."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tap As A Service"
        ]
      },
      "get": {
        "operationId": "showTapFlow",
        "summary": "Show Tap Flow",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#show-tap-flow"
        },
        "parameters": [
          {
            "name": "project",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "project-domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Domain the project belongs to (name or ID).\nThis can be used in case collisions between project names exist."
            }
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter the list result by the ID of the project that owns the resource."
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The ID of the Tap flow."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The name of the Tap flow."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Tap As A Service"
        ]
      }
    }
  },
  "components": {
    "schemas": {},
    "responses": {},
    "parameters": {},
    "examples": {},
    "requestBodies": {},
    "headers": {},
    "securitySchemes": {
      "token": {
        "type": "apiKey",
        "description": "Token authentication",
        "name": "X-Auth-Token",
        "in": "header"
      }
    },
    "links": {},
    "callbacks": {}
  },
  "security": [
    {
      "token": []
    }
  ],
  "tags": [],
  "externalDocs": {
    "description": "Networking Service APIs",
    "url": "https://docs.openstack.org/api-ref/network/v2/index.html?expanded=#"
  }
}