 # variables in header

# variables in path
bgpvpn-id-path:
  description: |
      The ID of the BGP VPN.
  in: path
  required: true
  type: string
bgpvpn-network_association_id-path:
  description: |
      The ID of an association between a network and a BGP VPN.
  in: path
  required: true
  type: string
bgpvpn-router_association_id-path:
  description: |
      The ID of an association between a router and a BGP VPN.
  in: path
  required: true
  type: string
connection_id-path:
  description: |
    The ID of the IPSec site-to-site connection.
  in: path
  required: false
  type: string
dscp_rule_id:
  description: |
    The ID of the DSCP rule.
  in: path
  required: true
  type: string
endpoint_group_id-path:
  description: |
    The ID of the VPN endpoint group.
  in: path
  required: false
  type: string
extensions-alias-path:
  description: |
    The alias of an extension.
  in: path
  required: true
  type: string
firewall_group_id-path-required:
  description: |
    The ID of the firewall group.
  in: path
  required: true
  type: string
firewall_id:
  description: |
    The ID of the firewall.
  in: path
  required: true
  type: string
firewall_log_id:
  description: |
    The ID of the firewall log resource.
  in: path
  required: true
  type: string
firewall_policy_id-path:
  description: |
    The ID of the firewall policy.
  in: path
  required: true
  type: string
firewall_policy_id-path-required:
  description: |
    The ID of the firewall policy.
  in: path
  required: true
  type: string
firewall_rule_id:
  description: |
    The ID for the firewall rule.
  in: path
  required: true
  type: string
firewall_rule_id-path-required:
  description: |
    The ID for the firewall rule.
  in: path
  required: true
  type: string
flavor_id:
  description: |
    The UUID of the flavor.
  in: path
  required: true
  type: string
floatingip-id-path:
  description: |
    The ID of the floating IP address.
  in: path
  required: true
  type: string
health_monitor_id-path:
  description: |
    The ID for the health monitor.
  in: path
  required: true
  type: string
ikepolicy_id-path:
  description: |
    The ID of the IKE policy.
  in: path
  required: true
  type: string
ipsecpolicy_id-path:
  description: |
    The ID of the IPSec policy.
  in: path
  required: false
  type: string
listener-id-path:
  description: |
    The ID of the listener.
  in: path
  required: true
  type: string
loadbalancer-id-path:
  description: |
    The ID of the load balancer.
  in: path
  required: true
  type: string
logging_resource_id:
  description: |
    The ID of the logging resource.
  in: path
  required: true
  type: string
member_id-path:
  description: |
    The ID for the member.
  in: path
  required: true
  type: string
metering_label-id-path:
  description: |
    The ID of the metering label.
  in: path
  required: true
  type: string
metering_label_rule-id-path:
  description: |
    The ID of the metering label rule.
  in: path
  required: true
  type: string
network_id-path:
  description: |
    The ID of the network.
  in: path
  required: true
  type: string
pool_id-path:
  description: |
    The ID for the pool.
  in: path
  required: true
  type: string
pool_id-request:
  description: |
    The ID for the pool.
  in: path
  required: truee
  type: string
port_id-path:
  description: |
    The ID of the port.
  in: path
  required: true
  type: string
profile_id:
  description: |
    The UUID of the service profile.
  in: path
  required: true
  type: string
project_id-path:
  description: |
    The ID of the project.
  in: path
  required: true
  type: string
qos-policy-id-path:
  description: |
    The ID of the QoS policy.
  in: path
  required: true
  type: string
qos-rule_id:
  description: |
    The ID of the QoS rule.
  in: path
  required: true
  type: string
resource_id:
  description: |
    The ID of resource which the tag is set on.
  in: path
  required: true
  type: string
resource_type:
  description: |
    The type of resource which the tag is set on.
  in: path
  required: true
  type: string
router_id:
  description: |
    The ID of the router.
  in: path
  required: true
  type: string
security_group-id-path:
  description: |
    The ID of the security group.
  in: path
  required: true
  type: string
security_group_rule-id-path:
  description: |
    The ID of the security group rule.
  in: path
  required: true
  type: string
segment_id-path:
  description: |
    The UUID of the segment.
  in: path
  required: true
  type: string
subnet_id-path:
  description: |
    The ID of the subnet.
  in: path
  required: true
  type: string
subnetpool_id:
  description: |
    The UUID of the subnet pool.
  in: path
  required: true
  type: string
tag:
  description: |
    The name for the tag.
  in: path
  required: true
  type: string
trunk_id:
  description: |
    The ID of the trunk.
  in: path
  required: true
  type: string
vip_id-path:
  description: |
    The ID for the VIP.
  in: path
  required: true
  type: string
vpnservice_id-path:
  description: |
    The ID of the VPN service.
  in: path
  required: false
  type: string
# variables in query
fields:
  description: |
    The fields that you want the server to return.
    If no ``fields`` query parameter is specified,
    the networking API returns all attributes allowed by the policy settings.
    By using ``fields`` parameter, the API returns only the requested set of
    attributes. ``fields`` parameter can be specified multiple times.
    For example, if you specify ``fields=id&fields=name`` in the request URL,
    only ``id`` and ``name`` attributes will be returned.
  in: query
  required: false
  type: string
verbose:
  description: |
    Show detailed information.
  in: query
  required: false
  type: boolean

# variables in body
action:
  description: |
    The action that the API performs on traffic that
    matches the firewall rule.  Valid value is ``allow`` or ``deny``.
    Default is ``deny``.
  in: body
  required: false
  type: string
action-response:
  description: |
    The action that the API performs on traffic that
    matches the firewall rule.  Valid value is ``allow``, ``deny`` or ``reject``.
    Default is ``deny``.
  in: body
  required: true
  type: string
action_2:
  description: |
    The action that the API performs on traffic that
    matches the firewall rule. Value is ``allow`` or ``deny``.
  in: body
  required: true
  type: string
address:
  description: |
    The IP address of the member.
  format: ipv4
  in: body
  required: true
  type: string
address_scope_id:
  description: |
    An address scope to assign to the subnet pool.
  in: body
  required: false
  type: string
address_scope_id_1:
  description: |
    The address scope.
  in: body
  required: true
  type: string
admin_state_up:
  description: |
    The administrative state of the resource, which is
    up (``true``) or down (``false``).
  in: body
  required: true
  type: boolean
admin_state_up-request:
  description: |
    The administrative state of the resource, which is
    up (``true``) or down (``false``).
    Default is ``true``.
  in: body
  required: false
  type: boolean
admin_state_up_1:
  description: |
    The administrative status of the port, which is
    up (``true``) or down (``false``).
  in: body
  required: false
  type: boolean
admin_state_up_10:
  description: |
    The administrative state of the VIP. A valid
    value is up (``true``) or down (``false``).
  in: body
  required: false
  type: boolean
admin_state_up_11:
  description: |
    The administrative state of the VPN service,
    which is up (``true``) or down (``false``). If down, connections
    on service are not active.
  in: body
  required: false
  type: boolean
admin_state_up_12:
  description: |
    The administrative state of the firewall, which
    is up (``true``) or down (``false``).
  in: body
  required: true
  type: boolean
admin_state_up_13:
  description: |
    The administrative state of the health monitor,
    which is up (``true``) or down (``false``).
  in: body
  required: false
  type: boolean
admin_state_up_14:
  description: |
    The administrative state of the IPSec connection,
    which is up (``true``) or down (``false``). If down, the
    connection does not forward packets.
  in: body
  required: true
  type: boolean
admin_state_up_15:
  description: |
    The administrative state of the listener, which
    is up (``true``) or down (``false``).
  in: body
  required: true
  type: boolean
admin_state_up_16:
  description: |
    The administrative state of the load balancer,
    which is up (``true``) or down (``false``).
  in: body
  required: true
  type: boolean
admin_state_up_17:
  description: |
    The administrative state of the member. A valid
    value is up (``true``) or down (``false``).
  in: body
  required: true
  type: boolean
admin_state_up_19:
  description: |
    The administrative state of the pool, which is up
    (``true``) or down (``false``).
  in: body
  required: true
  type: boolean
admin_state_up_20:
  description: |
    The administrative state of the router, which is
    up (``true``) or down (``false``).
  in: body
  required: true
  type: boolean
admin_state_up_21:
  description: |
    The administrative state of the VIP. A valid
    value is up (``true``) or down (``false``).
  in: body
  required: true
  type: boolean
admin_state_up_22:
  description: |
    The administrative state of the VPN service,
    which is up (``true``) or down (``false``). If down, the port does
    not forward packets.
  in: body
  required: true
  type: boolean
admin_state_up_23:
  description: |
    The administrative state of the firewall, which
    is up (``true``) or down (``false``).
  in: body
  required: false
  type: boolean
admin_state_up_24:
  description: |
    The administrative state of the health monitor. A
    valid value is up (``true``) or down (``false``).
  in: body
  required: false
  type: boolean
admin_state_up_25:
  description: |
    The administrative state of the load balancer,
    which is up (``true``) or down (``false``).  Set this attribute to
    ``false`` to create the listener in an administratively down
    state.
  in: body
  required: false
  type: boolean
admin_state_up_26:
  description: |
    The administrative state of the IPSec connection,
    which is up (``true``) or down (``false``). If down, the
    connection does not forward packets.
  in: body
  required: false
  type: boolean
admin_state_up_3:
  description: |
    The administrative state of the port, which is up
    (``true``) or down (``false``).
  in: body
  required: true
  type: boolean
admin_state_up_4:
  description: |
    The administrative state of the load balancer,
    which is up (``true``) or down (``false``).
  in: body
  required: false
  type: boolean
admin_state_up_5:
  description: |
    The administrative state of the member, which is
    up (``true``) or down (``false``).
  in: body
  required: true
  type: boolean
admin_state_up_6:
  description: |
    The administrative state of the member. A valid
    value is up (``true``) or down (``false``).
  in: body
  required: false
  type: boolean
admin_state_up_7:
  description: |
    The administrative state of the network, which is
    up (``true``) or down (``false``).
  in: body
  required: false
  type: boolean
admin_state_up_8:
  description: |
    The administrative state of the pool. A valid
    value is up (``true``) or down (``false``).
  in: body
  required: false
  type: boolean
admin_state_up_9:
  description: |
    The administrative state of the router, which is
    up (``true``) or down (``false``).
  in: body
  required: false
  type: boolean
admin_state_up_trunk:
  description: |
    The administrative state of the trunk, which
    is up (``true``) or down (``false``).
  in: body
  required: false
  type: boolean
alias:
  description: |
    The alias for the extension. For example,
    "FOXNSOX", "os- availability-zone", "os-extended-quotas", "os-
    share-unmanage" or "os-used-limits."
  in: body
  required: true
  type: string
allowed_address_pairs:
  description: |
    A set of zero or more allowed address pairs.
    An address pair consists of an IP address range and MAC address
    with the format of
    ``{"ip_address": "<IP address or CIDR>", "mac_address": "<MAC address>"}``.
    A server connected to the port can send a packet with source address
    which matches one of the specified allowed address pairs.
  in: body
  required: true
  type: array
allowed_address_pairs-request:
  description: |
    A set of zero or more allowed address pairs.
    An address pair consists of an IP address range and MAC address
    with the format of
    ``{"ip_address": "<IP address or CIDR>", "mac_address": "<MAC address>"}``.
    A server connected to the port can send a packet with source address
    which matches one of the specified allowed address pairs.
    The default is an empty list.
    For each address pair, ``ip_address`` is required and IP address or
    CIDR can be specified. ``mac_address`` is optional and if unspecified
    the MAC address of the port is used as default.
  in: body
  required: false
  type: array
audited:
  description: |
    Each time that the firewall policy or its
    associated rules are changed, the API sets this attribute to
    ``false``. To audit the policy, explicitly set this attribute to
    ``true``.
  in: body
  required: true
  type: boolean
audited_1:
  description: |
    Indicates whether the policy has been audited.
    Each time that the firewall policy or its associated rules are
    changed, the API sets this attribute to ``false``. To audit the
    policy, the policy owner must explicitly update the policy to set
    this attribute to ``true``.
  in: body
  required: true
  type: boolean
auth_algorithm:
  description: |
    The authentication hash algorithm. Valid values
    are ``sha1``, ``sha256``, ``sha384``, ``sha512``.
    The default is ``sha1``.
  in: body
  required: false
  type: string
auth_mode:
  description: |
    The authentication mode. A valid value is
    ``psk``, which is the default.
  in: body
  required: false
  type: string
availability_zone_hints:
  description: |
    The availability zone candidate for the network.
  in: body
  required: true
  type: array
availability_zones:
  description: |
    The availability zone for the network.
  in: body
  required: true
  type: array
bandwidth_limit_rule:
  description: |
    A ``bandwidth_limit_rule`` object.
  in: body
  required: true
  type: object
bandwidth_limit_rules:
  description: |
    A list of bandwidth limit rules associated with
    the QoS policy.
  in: body
  required: true
  type: array
bgpvpn:
  description: |
    A ``bgpvpn`` object represents an MPLS network with which Neutron routers
    and/or networks may be associated
  in: body
  required: true
  type: object
bgpvpn-export_targets:
  description: |
      Additional Route Targets that will be used for export.
  in: body
  required: false
  type: array
bgpvpn-export_targets-required:
  description: |
      Additional Route Targets that will be used for export.
  in: body
  required: true
  type: array
bgpvpn-id-body:
  description: |
      The ID of the BGP VPN.
  in: body
  required: true
  type: string
bgpvpn-import_targets:
  description: |
      Additional Route Targets that will be imported.
  in: body
  required: false
  type: array
bgpvpn-import_targets-required:
  description: |
      Additional Route Targets that will be imported.
  in: body
  required: true
  type: array
bgpvpn-name:
  description: |
      The user meaningful name of the BGP VPN.
  in: body
  required: false
  type: string
bgpvpn-name-required:
  description: |
      The user meaningful name of the BGP VPN.
  in: body
  required: true
  type: string
bgpvpn-network_association:
  description: |
    A ``network_association`` object represents the binding of an MPLS network
    to a Neutron network.
  in: body
  required: true
  type: object
bgpvpn-network_association_id:
  description: |
      The ID of an association between a network and a BGP VPN.
  in: body
  required: true
  type: string
bgpvpn-network_associations:
  description: |
    A list of ``network_association`` objects which represent bindings
    of MPLS networks to Neutron networks.
  in: body
  required: true
  type: object
bgpvpn-network_id:
  description: |
        The ID of a Neutron network with which to associate the BGP VPN.
  in: body
  required: true
  type: string
bgpvpn-networks:
  description: |
       This read-only list of network IDs reflects the associations defined by Network association API resources.
  in: body
  required: false
  type: array
bgpvpn-networks-required:
  description: |
       This read-only list of network IDs reflects the associations defined by Network association API resources.
  in: body
  required: true
  type: array
bgpvpn-route_distinguishers:
  description: |
      List of route distinguisher strings. If this parameter is specified, one of these RDs will be used to advertise VPN routes.
  in: body
  required: false
  type: array
bgpvpn-route_distinguishers-required:
  description: |
      List of route distinguisher strings. If this parameter is specified, one of these RDs will be used to advertise VPN routes.
  in: body
  required: true
  type: array
bgpvpn-route_targets:
  description: |
      Route Targets that will be both imported and used for export.
  in: body
  required: false
  type: array
bgpvpn-route_targets-required:
  description: |
      Route Targets that will be both imported and used for export.
  in: body
  required: true
  type: array
bgpvpn-router_association:
  description: |
    A ``router_association`` object represents the binding of an MPLS network
    to a Neutron router.
  in: body
  required: true
  type: object
bgpvpn-router_association_id:
  description: |
      The ID of an association between a router and a BGP VPN.
  in: body
  required: true
  type: string
bgpvpn-router_associations:
  description: |
    A list of ``router_association`` objects which represent bindings
    of MPLS networks to Neutron routers.
  in: body
  required: true
  type: object
bgpvpn-router_id:
  description: |
      The ID of a Neutron router with which to associate the BGP VPN.
  in: body
  required: true
  type: string
bgpvpn-routers:
  description: |
      This read-only list of router IDs reflects the associations defined by Router association API resources.
  in: body
  required: false
  type: array
bgpvpn-routers-required:
  description: |
      This read-only list of router IDs reflects the associations defined by Router association API resources.
  in: body
  required: true
  type: array
bgpvpn-type:
  description: |
      Selection of the type of VPN and the technology behind it. Allowed
      values are ``l2`` or ``l3``. The default is l3. ``l2`` indicates a Layer
      2 (i.e. bridged) attachment and ``l3`` indicates a Layer 3 (i.e.
      routed) attachment.
  in: body
  required: false
  type: string
bgpvpn-type-required:
  description: |
      Selection of the type of VPN and the technology behind it. Allowed
      values are ``l2`` or ``l3``. The default is l3. ``l2`` indicates a Layer
      2 (i.e. bridged) attachment and ``l3`` indicates a Layer 3 (i.e.
      routed) attachment.
  in: body
  required: true
  type: string
bgpvpns:
  description: |
    A list of ``bgpvpn`` objects. Each ``bgpvpn`` object represents an
    MPLS network with which Neutron routers and/or networks may be associated
  in: body
  required: true
  type: array
binding:host_id:
  description: |
    The ID of the host where the port resides.
  in: body
  required: true
  type: string
binding:host_id-request:
  description: |
    The ID of the host where the port resides.
    The default is an empty string.
  in: body
  required: false
  type: string
binding:profile:
  description: |
    A dictionary that enables the application running on the specific host to
    pass and receive vif port information specific to the networking back-end.
    The networking API does not define a specific format of this field.
  in: body
  required: true
  type: string
binding:profile-request:
  description: |
    A dictionary that enables the application running on the specific host to
    pass and receive vif port information specific to the networking back-end.
    The networking API does not define a specific format of this field.
    The default is an empty dictionary.
  in: body
  required: false
  type: string
binding:vif_details:
  description: |
    A dictionary which contains additional information on the port.
    Currently the following fields are defined: ``port_filter`` and
    ``ovs_hybrid_plug``.
    ``port_filter`` is a boolean indicating the networking service
    provides port filtering features such as security group and/or
    anti MAC/IP spoofing.
    ``ovs_hybrid_plug`` is a boolean used to inform an API consumer
    like nova that the hybrid plugging strategy for OVS should be used.
  in: body
  required: true
  type: object
binding:vif_type:
  description: |
    The type of which mechanism is used for the port.
    An API consumer like nova can use this to determine an appropriate way to
    attach a device (for example an interface of a virtual server) to the port.
    Available values currently defined includes
    ``ovs``, ``bridge``, ``macvtap``, ``hw_veb``, ``hostdev_physical``,
    ``vhostuser``, ``distributed`` and ``other``.
    There are also special values: ``unbound`` and ``binding_failed``.
    ``unbound`` means the port is
    not bound to a networking back-end. ``binding_failed`` means an error
    that the port failed to be bound to a networking back-end.
  in: body
  required: true
  type: string
binding:vnic_type:
  description: |
    The type of vNIC which this port should be attached to. This is used to
    determine which mechanism driver(s) to be used to bind the port.
    The valid values are ``normal``, ``macvtap``, ``direct``, ``baremetal``,
    and ``direct-physical``.
    What type of vNIC is actually available depends on deployments.
  in: body
  required: true
  type: string
binding:vnic_type-request:
  description: |
    The type of vNIC which this port should be attached to. This is used to
    determine which mechanism driver(s) to be used to bind the port.
    The valid values are ``normal``, ``macvtap``, ``direct``, ``baremetal``,
    and ``direct-physical``.
    What type of vNIC is actually available depends on deployments.
    The default is ``normal``.
  in: body
  required: false
  type: string
cidr:
  description: |
    The CIDR of the subnet.
  in: body
  required: true
  type: string
connection_id-body-response:
  description: |
    The ID of the IPSec site-to-site connection.
  in: body
  required: false
  type: string
connection_limit:
  description: |
    The maximum number of connections permitted for
    this load balancer. Default is infinite.
  in: body
  required: false
  type: integer
connection_limit-response:
  description: |
    The maximum number of connections allowed for the
    VIP. Value is ``-1`` if the limit is not set. Default
    is infinite.
  in: body
  required: true
  type: integer
connection_limit_2:
  description: |
    The maximum number of connections permitted for
    this load balancer. Default is infinite.
  in: body
  required: true
  type: integer
connection_limit_3:
  description: |
    The maximum number of connections allowed for the
    VIP. Default is ``-1``, meaning no limit.
  in: body
  required: true
  type: integer
created_at:
  description: |
    Time at which port has been created.
  in: body
  required: true
  type: string
created_at_1:
  description: |
    Time at which subnetpool has been created.
  in: body
  required: true
  type: string
created_at_resource:
  description: |
    Time at which the resource has been created (in UTC ISO8601 format).
  in: body
  required: true
  type: string
data_plane_status:
  description: |
    Status of the underlying data plane of a port.
  in: body
  required: true
  type: string
data_plane_status-request:
  description: |
    Status of the underlying data plane of a port.
  in: body
  required: false
  type: string
default:
  description: |
    Defines whether the provider is the default for
    the service type. If this value is ``true``, the provider is the
    default. If this value is ``false``, the provider is not the
    default.
  in: body
  required: true
  type: boolean
default_pool_id:
  description: |
    The ID of default pool. Must have compatible
    protocol with listener.
  in: body
  required: false
  type: string
default_pool_id-response:
  description: |
    The ID of default pool. Must have compatible
    protocol with listener.
  in: body
  required: true
  type: string
default_prefixlen:
  description: |
    The size of the prefix to allocate when the
    ``cidr`` or ``prefixlen`` attributes are omitted when you create
    the subnet. Default is ``min_prefixlen``.
  in: body
  required: false
  type: integer
default_prefixlen_1:
  description: |
    The size of the prefix to allocate when the
    ``cidr`` or ``prefixlen`` attributes are omitted when you create
    the subnet.
  in: body
  required: true
  type: integer
default_quota:
  description: |
    A per-project quota on the prefix space that can
    be allocated from the subnet pool for project subnets. Default is
    no quota is enforced on allocations from the subnet pool. For IPv4
    subnet pools, ``default_quota`` is measured in units of /32. For
    IPv6 subnet pools, ``default_quota`` is measured units of /64. All
    projects that use the subnet pool have the same prefix quota
    applied.
  in: body
  required: false
  type: integer
default_quota_1:
  description: |
    A per-project quota on the prefix space that can
    be allocated from the subnet pool for project subnets. For IPv4
    subnet pools, ``default_quota`` is measured in units of /32. For
    IPv6 subnet pools, ``default_quota`` is measured units of /64. All
    projects that use the subnet pool have the same prefix quota
    applied.
  in: body
  required: true
  type: integer
default_quota_2:
  description: |
    A per-project quota on the prefix space that can
    be allocated from the subnet pool for project subnets. Default is
    no quota is enforced on allocations from the subnet pool. For IPv4
    subnet pools, ``default_quota`` is measured in units of /32. For
    IPv6 subnet pools, ``default_quota`` is measured units of /64. All
    projects that use the subnet pool have the same prefix quota
    applied.  Updating this parameter has no effect on existing subnet
    allocations. The existing subnet allocations for each project are
    counted against the updated prefix space quota.
  in: body
  required: false
  type: integer
default_tls_container_ref:
  description: |
    A reference to a container of TLS secrets.
  in: body
  required: false
  type: string
default_tls_container_ref-response:
  description: |
    A reference to a container of TLS secrets.
  in: body
  required: true
  type: string
delay:
  description: |
    The time, in seconds, between sending probes to
    members.
  in: body
  required: true
  type: integer
delay_1:
  description: |
    The amount of time, in seconds, between sending
    probes to members.
  in: body
  required: true
  type: integer
delay_2:
  description: |
    The amount of time, in seconds, between sending
    probes to members.
  in: body
  required: false
  type: integer
description:
  description: |
    A human-readable description for the resource.
  in: body
  required: true
  type: string
description-request:
  description: |
    A human-readable description for the resource.
    Default is an empty string.
  in: body
  required: false
  type: string
description-request-put:
  description: |
    A human-readable description for the resource.
  in: body
  required: false
  type: string
description_1:
  description: |
    A human-readable description for the firewall rule.
    The maximum length is 1024 characters. No default.
  in: body
  required: false
  type: string
description_10:
  description: |
    The QoS policy description.
  in: body
  required: false
  type: string
description_11:
  description: |
    A human-readable description for the pool.
  in: body
  required: false
  type: string
description_12:
  description: |
    The security group description.
  in: body
  required: false
  type: string
description_13:
  description: |
    A human-readable description for the service
    profile.
  in: body
  required: false
  type: string
description_14:
  description: |
    A human-readable description for the VIP.
  in: body
  required: false
  type: string
description_15:
  description: |
    A human-readable description for the VPN endpoint
    group.
  in: body
  required: false
  type: string
description_16:
  description: |
    A human-readable description for the VPN service.
  in: body
  required: false
  type: string
description_17:
  description: |
    A human-readable description for the firewall
    policy.
  in: body
  required: true
  type: string
description_18:
  description: |
    The extension description.
  in: body
  required: true
  type: string
description_19:
  description: |
    A human-readable description for the firewall rule.
  in: body
  required: true
  type: string
description_2:
  description: |
    A human-readable description for the firewall
    service.
  in: body
  required: false
  type: string
description_20:
  description: |
    A human-readable description for the firewall
    service.
  in: body
  required: true
  type: string
description_21:
  description: |
    A human-readable description for the flavor.
  in: body
  required: true
  type: string
description_22:
  description: |
    A human-readable description for the IKE policy.
  in: body
  required: true
  type: string
description_23:
  description: |
    A human-readable description for the IPSec
    connection.
  in: body
  required: true
  type: string
description_24:
  description: |
    Detailed description of the listener.
  in: body
  required: true
  type: string
description_25:
  description: |
    The load balancer description.
  in: body
  required: true
  type: string
description_26:
  description: |
    Description for the metering label.
  in: body
  required: true
  type: string
description_27:
  description: |
    The description of the QoS policy.
  in: body
  required: true
  type: string
description_28:
  description: |
    The description for the pool.
  in: body
  required: true
  type: string
description_29:
  description: |
    The security group description.
  in: body
  required: true
  type: string
description_3:
  description: |
    A human-readable description for the flavor.
  in: body
  required: false
  type: string
description_30:
  description: |
    A human-readable description for the service
    profile.
  in: body
  required: true
  type: string
description_31:
  description: |
    A human-readable description for the VIP.
  in: body
  required: true
  type: string
description_32:
  description: |
    A human-readable description for the VPN endpoint
    group.
  in: body
  required: true
  type: string
description_33:
  description: |
    A human-readable description for the VPN service.
  in: body
  required: true
  type: string
description_34:
  description: |
    New human-readable description for the flavor.
  in: body
  required: false
  type: string
description_35:
  description: |
    Security group description.
  in: body
  required: false
  type: string
description_4:
  description: |
    A human-readable description for the IKE policy.
  in: body
  required: false
  type: string
description_5:
  description: |
    A human-readable description for the IPSec policy.
  in: body
  required: true
  type: string
description_6:
  description: |
    A human-readable description for the IPSec
    connection.
  in: body
  required: false
  type: string
description_7:
  description: |
    Detailed description of the listener.
  in: body
  required: false
  type: string
description_8:
  description: |
    The load balancer description.
  in: body
  required: false
  type: string
description_9:
  description: |
    The description for the metering label.
  in: body
  required: false
  type: string
description_resource:
  description: |
    The description for the resource.
  in: body
  required: true
  type: string
destination_ip_address:
  description: |
    The destination IPv4 or IPv6 address or CIDR. No
    default.
  in: body
  required: false
  type: string
destination_ip_address-response:
  description: |
    The destination IPv4 or IPv6 address or CIDR. No
    default.
  in: body
  required: true
  type: string
destination_ip_address_1:
  description: |
    The destination IPv4 or IPv6 address or CIDR.
  in: body
  required: true
  type: string
destination_port:
  description: |
    The destination port or port range.  A valid
    value is a port number, as an integer, or a port range, in the
    format of a ``:`` separated range. For a port range, include both
    ends of the range. For example, ``80:90``.
  in: body
  required: false
  type: string
destination_port-response:
  description: |
    The destination port or port range.  A valid
    value is a port number, as an integer, or a port range, in the
    format of a ``:`` separated range. For a port range, include both
    ends of the range. For example, ``80:90``.
  in: body
  required: true
  type: string
destination_port_1:
  description: |
    The destination port or port range.
  in: body
  required: true
  type: string
device_id:
  description: |
    The ID of the device that uses this port.
    For example, a server instance or a logical router.
  in: body
  required: true
  type: string
device_id-request:
  description: |
    The ID of the device that uses this port.
    For example, a server instance or a logical router.
  in: body
  required: false
  type: string
device_owner:
  description: |
    The entity type that uses this port.
    For example, ``compute:nova`` (server instance), ``network:dhcp``
    (DHCP agent) or ``network:router_interface`` (router interface).
  in: body
  required: true
  type: string
device_owner-request:
  description: |
    The entity type that uses this port.
    For example, ``compute:nova`` (server instance), ``network:dhcp``
    (DHCP agent) or ``network:router_interface`` (router interface).
  in: body
  required: false
  type: string
direction:
  description: |
    Ingress or egress, which is the direction in
    which the metering rule is applied.
  in: body
  required: true
  type: string
direction_1:
  description: |
    Ingress or egress: The direction in which the
    security group rule is applied. For a compute instance, an ingress
    security group rule is applied to incoming (ingress) traffic for
    that instance. An egress rule is applied to traffic leaving the
    instance.
  in: body
  required: true
  type: string
direction_2:
  description: |
    Ingress or egress: the direction in which the
    security group rule is applied. For a compute instance, an ingress
    security group rule is applied to incoming (ingress) traffic for
    that instance. An egress rule is applied to traffic leaving the
    instance.
  in: body
  required: true
  type: string
dpd:
  description: |
    A dictionary with dead peer detection (DPD)
    protocol controls.
  in: body
  required: false
  type: object
driver:
  description: |
    Provider driver to use for this profile. Example:
    ``neutron_lbaas.drivers.octavia.driver.OctaviaDriver``
  in: body
  required: false
  type: string
driver_1:
  description: |
    Driver to associate with profile.
  in: body
  required: true
  type: string
driver_2:
  description: |
    Provider driver to use for this profile. Ex:
    neutron_lbaas.drivers.octavia.driver.OctaviaDriver.
  in: body
  required: false
  type: string
dscp_mark:
  description: |
    The DSCP mark value.
  in: body
  required: false
  type: integer
dscp_mark-response:
  description: |
    The DSCP mark value.
  in: body
  required: true
  type: integer
dscp_marking_rule:
  description: |
    A ``dscp_marking_rule`` object.
  in: body
  required: true
  type: object
dscp_marking_rules:
  description: |
    A list of ``dscp_marking_rule`` objects.
  in: body
  required: true
  type: array
egress_firewall_policy_id-body-optional:
  description: |
    The ID of the egress firewall policy for the firewall group.
  in: body
  required: false
  type: string
egress_firewall_policy_id-body-required:
  description: |
    The ID of the egress firewall policy for the firewall group.
  in: body
  required: true
  type: string
enabled:
  description: |
    Set to ``false`` to disable this rule in the
    firewall policy. Facilitates selectively turning off rules without
    having to disassociate the rule from the firewall policy. Valid
    value is ``true`` or ``false``. Default is ``true``.
  in: body
  required: false
  type: boolean
enabled-body-required:
  description: |
    Indicates whether this resource is enabled or
    disabled.
  in: body
  required: true
  type: boolean
enabled-response:
  description: |
    Set to ``false`` to disable this rule in the
    firewall policy. Facilitates selectively turning off rules without
    having to disassociate the rule from the firewall policy. Valid
    value is ``true`` or ``false``. Default is ``true``.
  in: body
  required: true
  type: boolean
enabled_1:
  description: |
    Indicates whether this flavor is enabled or
    disabled. Default ``true``.
  in: body
  required: false
  type: boolean
enabled_2:
  description: |
    Indicates whether this service profile is enabled
    or disabled. Default ``true``.
  in: body
  required: false
  type: boolean
enabled_3:
  description: |
    Indicates whether this rule is enabled or
    disabled in the firewall policy.
  in: body
  required: true
  type: boolean
enabled_4:
  description: |
    Indicates whether this flavor is enabled or
    disabled.
  in: body
  required: true
  type: boolean
enabled_5:
  description: |
    Indicates whether this service profile is enabled
    or disabled.
  in: body
  required: true
  type: boolean
enabled_6:
  description: |
    Indicates whether this flavor is enabled or
    disabled.
  in: body
  required: false
  type: boolean
enabled_7:
  description: |
    Indicates whether this service profile is enabled
    or disabled. Default true.
  in: body
  required: false
  type: boolean
encapsulation_mode:
  description: |
    The encapsulation mode. A valid value is
    ``tunnel`` or ``transport``. Default is ``tunnel``.
  in: body
  required: false
  type: string
encryption_algorithm:
  description: |
    The encryption algorithm. A valid value is
    ``3des``, ``aes-128``, ``aes-192``, ``aes-256``, and so on.
    Default is ``aes-128``.
  in: body
  required: false
  type: string
endpoint_group_id-body-response:
  description: |
    The ID of the VPN endpoint group.
  in: body
  required: true
  type: string
endpoints:
  description: |
    List of endpoints of the same type, for the
    endpoint group. The values will depend on type.
  in: body
  required: true
  type: array
ethertype:
  description: |
    Must be IPv4 or IPv6, and addresses represented
    in CIDR must match the ingress or egress rules.
  in: body
  required: false
  type: string
ethertype_1:
  description: |
    Must be IPv4 or IPv6, and addresses represented
    in CIDR must match the ingress or egress rules.
  in: body
  required: true
  type: string
excluded:
  description: |
    Indicates whether to count the traffic of a
    specific IP address with the ``remote_ip_prefix`` value. Default
    is ``false``.
  in: body
  required: false
  type: boolean
'excluded ':
  description: |
    Indicates whether to count the traffic of a
    specific IP address with the ``remote_ip_prefix`` value. Default
    is ``false``.
  in: body
  required: true
  type: boolean
expected_codes:
  description: |
    The list of HTTP status codes expected in
    response from the member to declare it healthy. Specify one of the
    following values:

    - A single value, such as ``200``
    - A list, such as ``200, 202``
    - A range, such as ``200-204``

    The default is 200.
  in: body
  required: false
  type: string
expected_codes-response:
  description: |
    The list of HTTP status codes expected in
    response from the member to declare it healthy. Specify one of the
    following values:

    - A single value, such as ``200``
    - A list, such as ``200, 202``
    - A range, such as ``200-204``

    The default is 200.
  in: body
  required: true
  type: string
extension:
  description: |
    An ``extension`` object.
  in: body
  required: true
  type: object
extension-alias-body:
  description: |
    The alias for the extension. For example "quotas" or
    "security-group".
  in: body
  required: true
  type: string
extension-description:
  description: |
    The human-readable description for the resource.
  in: body
  required: true
  type: string
extension-links:
  description: |
     List of links related to the extension.
  in: body
  required: true
  type: array
extension-name:
  description: |
    Human-readable name of the resource.
  in: body
  required: true
  type: string
extension-updated:
  description: |
    The date and timestamp when the extension was
    last updated.
  in: body
  required: true
  type: string
extensions:
  description: |
    A list of ``extension`` objects.
  in: body
  required: true
  type: array
external_v4_ip:
  description: |
    Read-only external (public) IPv4 address that is
    used for the VPN service. The VPN plugin sets this address if an
    IPv4 interface is available.
  in: body
  required: true
  type: string
external_v6_ip:
  description: |
    Read-only external (public) IPv6 address that is
    used for the VPN service. The VPN plugin sets this address if an
    IPv6 interface is available.
  in: body
  required: true
  type: string
extra_dhcp_opts:
  description: |
    A set of zero or more extra DHCP option pairs. An
    option pair consists of an option value and name.
  in: body
  required: true
  type: array
extra_dhcp_opts-request:
  description: |
    A set of zero or more extra DHCP option pairs. An
    option pair consists of an option value and name.
  in: body
  required: false
  type: array
firewall:
  description: |
    A ``firewall`` object.
  in: body
  required: true
  type: object
firewall-status:
  description: |
    The status of the firewall service. Values are
    ``ACTIVE``, ``INACTIVE``, ``ERROR``, ``DOWN``,
    ``PENDING_CREATE``, ``PENDING_UPDATE``, or ``PENDING_DELETE``.
  in: body
  required: true
  type: string
firewall_audited-body-required:
  description: |
    Each time that the firewall policy or its
    associated rules are changed, the API sets this attribute to
    ``false``. To audit the policy, explicitly set this attribute to
    ``true``.
  in: body
  required: true
  type: boolean
firewall_group_admin_state_up-body-optional:
  description: |
    The administrative state of the firewall group, which
    is up (``true``) or down (``false``). Default is ``true``.
  in: body
  required: false
  type: boolean
firewall_group_admin_state_up-body-required:
  description: |
    The administrative state of the firewall group, which
    is up (``true``) or down (``false``). Default is ``true``.
  in: body
  required: true
  type: boolean
firewall_group_description-body-optional:
  description: |
    A human-readable description of the firewall group.
  in: body
  required: false
  type: object
firewall_group_description-body-required:
  description: |
    A human-readable description of the firewall group.
  in: body
  required: true
  type: object
firewall_group_id-body-required:
  description: |
    The ID of the firewall group.
  in: body
  required: true
  type: string
firewall_group_list-body-required:
  description: |
    A list of the IDs of firewall groups associated with
    the firewall policy.
  in: body
  required: true
  type: array
firewall_group_name-body-optional:
  description: |
    A human-readable name for the firewall group.
  in: body
  required: false
  type: string
firewall_group_name-body-required:
  description: |
    A human-readable name for the firewall group.
  in: body
  required: true
  type: string
firewall_group_object:
  description: |
    A ``firewall_group`` object.
  in: body
  required: true
  type: object
firewall_group_ports-body-optional:
  description: |
    A list of the IDs of the ports associated with the firewall group.
  in: body
  required: false
  type: array
firewall_group_ports-body-required:
  description: |
    A list of the IDs of the ports associated with the firewall group.
  in: body
  required: true
  type: array
firewall_group_shared-body-optional:
  description: |
    Indicates whether this firewall group is shared across all projects.
  in: body
  required: false
  type: boolean
firewall_group_shared-body-required:
  description: |
    Indicates whether this firewall group is shared across all projects.
  in: body
  required: true
  type: boolean
firewall_group_status-body-optional:
  description: |
    The status of the firewall group. Valid values are ``ACTIVE``,
    ``INACTIVE``, ``ERROR``, ``PENDING_UPDATE``, or
    ``PENDING_DELETE``.
  in: body
  required: false
  type: string
firewall_group_status-body-required:
  description: |
    The status of the firewall group. Valid values are ``ACTIVE``,
    ``INACTIVE``, ``ERROR``, ``PENDING_UPDATE``, or
    ``PENDING_DELETE``.
  in: body
  required: true
  type: string
firewall_groups_object:
  description: |
    A list of ``firewall_group`` objects.
  in: body
  required: true
  type: array
firewall_id-body:
  description: |
    The ID of the FWaaS v1 firewall.
  in: body
  required: true
  type: string
firewall_list:
  description: |
    A list of the IDs of firewalls associated with
    the firewall policy.
  in: body
  required: true
  type: array
firewall_log:
  description: |
    A ``firewall_log`` object.
  in: body
  required: true
  type: object
firewall_log_id-body:
  description: |
    The ID of the firewall log resource.
  in: body
  required: true
  type: string
firewall_logs:
  description: |
    A list of ``firewall_log`` objects.
  in: body
  required: true
  type: array
firewall_policies:
  description: |
    A list of ``firewall_policy`` objects.
  in: body
  required: true
  type: array
firewall_policies_object:
  description: |
    A list of ``firewall_policy`` objects.
  in: body
  required: true
  type: array
firewall_policy:
  description: |
    A ``firewall_policy`` object.
  in: body
  required: true
  type: object
firewall_policy_audited-body-optional:
  description: |
    Each time that the firewall policy or its associated rules are
    changed, the API sets this attribute to ``false``. To audit the
    policy, explicitly set this attribute to ``true``.
  in: body
  required: false
  type: boolean
firewall_policy_audited-body-required:
  description: |
    Each time that the firewall policy or its associated rules are
    changed, the API sets this attribute to ``false``. To audit the
    policy, explicitly set this attribute to ``true``.
  in: body
  required: true
  type: boolean
firewall_policy_description-body-optional:
  description: |
    A human-readable name of the firewall policy.
  in: body
  required: false
  type: string
firewall_policy_description-body-required:
  description: |
    A human-readable name of the firewall policy.
  in: body
  required: true
  type: string
firewall_policy_id:
  description: |
    Read-only attribute that the API populates with
    the ID of the firewall policy when you associate this firewall
    rule with a policy.  You can associate a firewall rule with one
    policy at a time. You can update this association can to a
    different firewall policy.  If you do not associate the rule with
    any policy, this attribute is ``null``.
  in: body
  required: false
  type: string
firewall_policy_id-body:
  description: |
    The ID of the policy that is associated with
    the firewall.
  in: body
  required: true
  type: string
firewall_policy_id-body-required:
  description: |
    The ID of the firewall policy.
  in: body
  required: true
  type: string
firewall_policy_id_3:
  description: |
    The ID of the policy that is associated with
    the firewall.
  in: body
  required: false
  type: string
firewall_policy_id_description-body-optional:
  description: |
    A human-readable description of the firewall policy.
  in: body
  required: false
  type: string
firewall_policy_id_description-body-required:
  description: |
    A human-readable description of the firewall policy.
  in: body
  required: true
  type: string
firewall_policy_name-body-optional:
  description: |
    A human-readable name of the firewall policy.
  in: body
  required: false
  type: string
firewall_policy_name-body-required:
  description: |
    A human-readable name of the firewall policy.
  in: body
  required: true
  type: string
firewall_policy_object:
  description: |
    A ``firewall_policy`` object.
  in: body
  required: true
  type: object
firewall_policy_shared-body-optional:
  description: |
    Set to ``true`` to make this firewall policy
    visible to other projects. Default is ``false``.
  in: body
  required: false
  type: boolean
firewall_policy_shared-body-required:
  description: |
    Set to ``true`` to make this firewall policy
    visible to other projects. Default is ``false``.
  in: body
  required: true
  type: boolean
firewall_rule:
  description: |
    A ``firewall_rule`` object.
  in: body
  required: true
  type: object
firewall_rule_action-body-optional:
  description: |
    The action that the API performs on traffic that
    matches the firewall rule.  Valid values are ``allow`` or ``deny``.
    Default is ``deny``.
  in: body
  required: false
  type: string
firewall_rule_action-body-required:
  description: |
    The action that the API performs on traffic that
    matches the firewall rule.  Valid values are ``allow`` or ``deny``.
    Default is ``deny``.
  in: body
  required: true
  type: string
firewall_rule_description-body-optional:
  description: |
    A human-readable description of the firewall rule.
  in: body
  required: false
  type: string
firewall_rule_description-body-required:
  description: |
    A human-readable description of the firewall rule.
  in: body
  required: true
  type: string
firewall_rule_destination_ip_address-body-optional:
  description: |
    The destination IPv4 or IPv6 address or CIDR for the firewall rule. No
    default.
  in: body
  required: false
  type: string
firewall_rule_destination_ip_address-body-required:
  description: |
    The destination IPv4 or IPv6 address or CIDR for the firewall rule. No
    default.
  in: body
  required: true
  type: string
firewall_rule_destination_port-body-optional:
  description: |
    The destination port or port range for the firewall rule. A valid
    value is a port number, as an integer, or a port range, in the
    format of a ``:`` separated range. For a port range, include both
    ends of the range. For example, ``80:90``.
  in: body
  required: false
  type: string
firewall_rule_destination_port-body-required:
  description: |
    The destination port or port range for the firewall rule. A valid
    value is a port number, as an integer, or a port range, in the
    format of a ``:`` separated range. For a port range, include both
    ends of the range. For example, ``80:90``.
  in: body
  required: true
  type: string
firewall_rule_enabled-body-optional:
  description: |
    Set to ``false`` to disable this rule in the firewall policy.
    Facilitates selectively turning off rules without having to
    disassociate the rule from the firewall policy. Valid values are
    ``true`` or ``false``. Default is ``true``.
  in: body
  required: false
  type: boolean
firewall_rule_enabled-body-required:
  description: |
    Set to ``false`` to disable this rule in the firewall policy.
    Facilitates selectively turning off rules without having to
    disassociate the rule from the firewall policy. Valid values are
    ``true`` or ``false``. Default is ``true``.
  in: body
  required: true
  type: boolean
firewall_rule_id-body:
  description: |
    The ID of the firewall rule.
  in: body
  required: true
  type: string
firewall_rule_id-body-required:
  description: |
    The ID of the firewall rule.
  in: body
  required: true
  type: string
firewall_rule_insert_after-body-required:
  description: |
    The ID of the firewall_rule to insert the new rule after. The new
    rule will be inserted immediately after the specified firewall_rule.
    If both ``before`` and ``after`` values are supplied, the ``after`` value
    will be ignored. To insert a rule into a policy with no rules yet,
    the both the ``before`` and the ``after`` values must be "".
  in: body
  required: true
  type: string
firewall_rule_insert_before-body-required:
  description: |
    The ID of the firewall_rule to insert the new rule before. The new
    rule will be inserted immediately before the specified firewall_rule.
    If both ``before`` and ``after`` values are supplied, the ``after`` value
    will be ignored. To insert a rule into a policy with no rules yet,
    the both the ``before`` and the ``after`` values must be "".
  in: body
  required: true
  type: string
firewall_rule_ip_version-body-optional:
  description: |
    The IP protocol version for the firewall rule. Valid values are
    ``4`` or ``6``. Default is ``4``.
  in: body
  required: false
  type: integer
firewall_rule_ip_version-body-required:
  description: |
    The IP protocol version for the firewall rule. Valid values
    are ``4`` or ``6``. Default is ``4``.
  in: body
  required: true
  type: integer
firewall_rule_name-body-optional:
  description: |
     A human-readable name of the firewall rule.
  in: body
  required: false
  type: string
firewall_rule_name-body-required:
  description: |
     A human-readable name of the firewall rule.
  in: body
  required: true
  type: string
firewall_rule_object:
  description: |
    A ``firewall_rule`` object.
  in: body
  required: true
  type: object
firewall_rule_position-body-optional:
  description: |
    Read-only attribute that the API assigns to this
    rule when it associates it with a firewall policy. This value
    indicates the position of this rule in that firewall policy. This
    position number starts at 1. If the firewall rule is not
    associated with any policy, the position is ``null``.
  in: body
  required: false
  type: integer
firewall_rule_position-body-required:
  description: |
    Read-only attribute that the API assigns to this
    rule when it associates it with a firewall policy. This value
    indicates the position of this rule in that firewall policy. This
    position number starts at 1. If the firewall rule is not
    associated with any policy, the position is ``null``.
  in: body
  required: true
  type: integer
firewall_rule_protocol-body-optional:
  description: |
    The IP protocol for the firewall rule. Possible values are ``icmp``, ``tcp``,
    ``udp``, or ``null``.
  in: body
  required: false
  type: string
firewall_rule_protocol-body-required:
  description: |
    The IP protocol for the firewall rule. Possible values are ``icmp``, ``tcp``,
    ``udp``, or ``null``.
  in: body
  required: true
  type: string
firewall_rule_shared-body-optional:
  description: |
    Indicates whether this firewall rule is shared across all projects.
  in: body
  required: false
  type: boolean
firewall_rule_shared-body-required:
  description: |
    Indicates whether this firewall rule is shared across all projects.
  in: body
  required: true
  type: boolean
firewall_rule_source_ip_address-body-optional:
  description: |
    The source IPv4 or IPv6 address or CIDR for the firewall rule. No
    default.
  in: body
  required: false
  type: string
firewall_rule_source_ip_address-body-required:
  description: |
    The source IPv4 or IPv6 address or CIDR for the firewall rule. No
    default.
  in: body
  required: true
  type: string
firewall_rule_source_port-body-optional:
  description: |
    The source port or port range for the firewall rule. A valid
    value is a port number, as an integer, or a port range, in the
    format of a ``:`` separated range. For a port range, include both
    ends of the range. For example, ``80:90``.
  in: body
  required: false
  type: string
firewall_rule_source_port-body-required:
  description: |
    The source port or port range for the firewall rule. A valid
    value is a port number, as an integer, or a port range, in the
    format of a ``:`` separated range. For a port range, include both
    ends of the range. For example, ``80:90``.
  in: body
  required: true
  type: string
firewall_rules:
  description: |
    A list of the IDs for firewall rule associated
    with the firewall policy.
  in: body
  required: true
  type: array
firewall_rules-body-optional:
  description: |
    A list of the IDs of the firewall rules associated
    with the firewall policy.
  in: body
  required: false
  type: array
firewall_rules-body-required:
  description: |
    A list of the IDs of the firewall rules associated
    with the firewall policy.
  in: body
  required: true
  type: array
firewall_rules_id:
  description: |
    A list of rules to associate with the firewall
    policy.
  in: body
  required: false
  type: array
firewall_rules_object:
  description: |
    A list of ``firewall_rule`` objects.
  in: body
  required: true
  type: object
firewalls:
  description: |
    A list of ``firewall_rule`` objects.
  in: body
  required: true
  type: array
firewalls_1:
  description: |
    A list of ``firewall`` objects.
  in: body
  required: true
  type: array
fixed_ips:
  description: |
    The IP addresses for the port. If the port has multiple IP addresses,
    this field has multiple entries. Each entry consists of IP address
    (``ip_address``) and the subnet ID from which the IP address
    is assigned (``subnet_id``).
  in: body
  required: true
  type: array
fixed_ips-request:
  description: |
    The IP addresses for the port.
    If you would like to assign multiple IP addresses for the port,
    specify multiple entries in this field.
    Each entry consists of IP address (``ip_address``) and the subnet ID
    from which the IP address is assigned (``subnet_id``).

    * If you specify both a subnet ID and an IP address, OpenStack Networking
      tries to allocate the IP address on that subnet to the port.
    * If you specify only a subnet ID, OpenStack Networking allocates
      an available IP from that subnet to the port.
    * If you specify only an IP address, OpenStack Networking
      tries to allocate the IP address if the address is a valid IP
      for any of the subnets on the specified network.
  in: body
  required: false
  type: array
flavor:
  description: |
    A ``flavor`` object.
  in: body
  required: true
  type: object
flavor-description:
  description: |
    The human-readable description for the flavor.
  in: body
  required: true
  type: string
flavor-description-request:
  description: |
    The human-readable description for the flavor.
  in: body
  required: false
  type: string
flavor-enabled:
  description: |
    Indicates whether the flavor is enabled or not. Default is true.
  in: body
  required: true
  type: boolean
flavor-enabled-request:
  description: |
    Indicates whether the flavor is enabled or not. Default is true.
  in: body
  required: false
  type: boolean
flavor-id:
  description: |
    The ID of the flavor.
  in: body
  required: true
  type: string
flavor-id-request:
  description: |
    The ID of the flavor.
  in: body
  required: false
  type: string
flavor-id-response:
  description: |
    The ID of the flavor.
  in: body
  required: true
  type: string
flavor-name:
  description: |
    Name of the flavor.
  in: body
  required: true
  type: string
flavor-name-request:
  description: |
    Name of the flavor.
  in: body
  required: false
  type: string
flavor-service_profiles:
  description: |
    Service profile UUIDs associated with this flavor.
  in: body
  required: true
  type: array
flavor-service_profiles-request:
  description: |
    Service profile UUIDs associated with this flavor.
  in: body
  required: false
  type: array
flavor-service_type:
  description: |
    Service type for the flavor. Example: LOADBALANCERV2.
  in: body
  required: true
  type: string
flavor_1:
  description: |
    The UUID of a flavor.
  in: body
  required: false
  type: string
flavor_2:
  description: |
    The UUID of a flavor if set.
  in: body
  required: false
  type: string
flavors:
  description: |
    A list of ``flavor`` objects.
  in: body
  required: true
  type: array
floating_ip_address:
  description: |
    The floating IP address.
  in: body
  required: true
  type: string
floating_ip_address-request:
  description: |
    The floating IP address.
  in: body
  required: false
  type: string
floating_network_id:
  description: |
    The ID of the network associated with the
    floating IP.
  in: body
  required: true
  type: string
floatingip:
  description: |
    A ``floatingip`` object. When you associate a
    floating IP address with a VM, the instance has the same public IP
    address each time that it boots, basically to maintain a
    consistent IP address for maintaining DNS assignment.
  in: body
  required: true
  type: object
floatingip-fixed_ip_address:
  description: |
    The fixed IP address that is associated with the
    floating IP address.
  in: body
  required: true
  type: string
floatingip-fixed_ip_address-request:
  description: |
    The fixed IP address that is associated with the floating IP.
    If an internal port has multiple associated IP addresses,
    the service chooses the first IP address unless you explicitly
    define a fixed IP address in the ``fixed_ip_address`` parameter.
  in: body
  required: false
  type: string
floatingip-id:
  description: |
    The ID of the floating IP address.
  in: body
  required: true
  type: string
floatingip-port_id:
  description: |
    The ID of a port associated with the floating IP.
  in: body
  required: true
  type: string
floatingip-port_id-post-request:
  description: |
    The ID of a port associated with the floating IP.
    To associate the floating IP with a fixed IP at creation time,
    you must specify the identifier of the internal port.
  in: body
  required: false
  type: string
floatingip-port_id-put-request:
  description: |
    The ID of a port associated with the floating IP.
    To associate the floating IP with a fixed IP,
    you must specify the ID of the internal port.
    To disassociate the floating IP, ``null`` should be specified.
  in: body
  required: true
  type: string
floatingip-router_id:
  description: |
    The ID of the router for the floating IP.
  in: body
  required: true
  type: string
floatingip-status:
  description: |
    The status of the floating IP. Values are
    ``ACTIVE``, ``DOWN`` and ``ERROR``.
  in: body
  required: true
  type: string
floatingip-subnet_id:
  description: |
    The subnet ID on which you want to create the floating IP.
  in: body
  required: false
  type: string
floatingips:
  description: |
    A list of ``floatingip`` objects.
  in: body
  required: true
  type: array
fw_event:
  description: |
    Type of firewall events to log.
    ``ACCEPT``, ``DROP``, or ``ALL``.
  in: body
  required: true
  type: string
fw_event-request:
  description: |
    Type of firewall events to log.
    ``ACCEPT``, ``DROP``, or ``ALL``.
    Default is ``ALL``.
  in: body
  required: false
  type: string
fw_event-request-put:
  description: |
    Type of firewall events to log.
    ``ACCEPT``, ``DROP``, or ``ALL``.
  in: body
  required: false
  type: string
health_monitor:
  description: |
    A ``health_monitor`` object.
  in: body
  required: true
  type: object
health_monitor-id:
  description: |
    The ID of the associated health monitor.
  in: body
  required: true
  type: string
health_monitors-obj:
  description: |
    A list of ``health_monitor`` objects.
  in: body
  required: true
  type: array
health_monitors-request:
  description: |
    List of health monitors to be associated with the pool.
    The default is an empty list.
  in: body
  required: false
  type: array
health_monitors-response:
  description: |
    List of health monitors that are associated with the pool.
  in: body
  required: true
  type: array
health_monitors_status:
  description: |
    The statuses of the health monitors that are
    associated with the pool.
  in: body
  required: true
  type: string
healthmonitor:
  description: |
    The associated healthmonitor, if any.
  in: body
  required: true
  type: object
healthmonitor_id:
  description: |
    The UUID of the health monitor.
  in: body
  required: false
  type: string
http_method:
  description: |
    The HTTP method that the monitor uses for requests.
  in: body
  required: true
  type: string
http_method-request:
  description: |
    The HTTP method that the monitor uses for requests.
    The default is ``GET``.
  in: body
  required: false
  type: string
id:
  description: |
    The ID of the resource.
  in: body
  required: true
  type: string
id_1:
  description: |
    The UUID of the port.
  in: body
  required: true
  type: string
id_12:
  description: |
    The UUID of the listener.
  in: body
  required: true
  type: string
id_14:
  description: |
    The UUID for the member.
  in: body
  required: true
  type: string
id_15:
  description: |
    The UUID for the metering label rule.
  in: body
  required: true
  type: string
id_16:
  description: |
    The UUID of the metering label.
  in: body
  required: true
  type: string
id_17:
  description: |
    The UUID of the network.
  in: body
  required: true
  type: string
id_19:
  description: |
    The UUID for the pool.
  in: body
  required: true
  type: string
id_2:
  description: |
    The UUID for the health monitor.
  in: body
  required: true
  type: string
id_20:
  description: |
    The UUID of the security group rule.
  in: body
  required: true
  type: string
id_21:
  description: |
    The UUID of the subnet pool.
  in: body
  required: true
  type: string
id_22:
  description: |
    The UUID for the VIP.
  in: body
  required: true
  type: string
id_25:
  description: |
    The UUID of network.
  in: body
  required: true
  type: string
id_26:
  description: |
    The UUID of the security group.
  in: body
  required: true
  type: string
id_3:
  description: |
    The UUID of the QoS policy rule.
  in: body
  required: true
  type: string
id_4:
  description: |
    The UUID for the firewall policy.
  in: body
  required: true
  type: string
id_5:
  description: |
    The generated UUID for the firewall rule object.
  in: body
  required: true
  type: string
id_6:
  description: |
    The UUID for the firewall service.
  in: body
  required: true
  type: string
id_7:
  description: |
    The UUID of the flavor.
  in: body
  required: true
  type: string
id_9:
  description: |
    The UUID for the IKE policy.
  in: body
  required: true
  type: string
id_resource:
  description: |
    The ID for the resource.
  in: body
  required: true
  type: string
ike_version:
  description: |
    The IKE version. A valid value is ``v1`` or
    ``v2``. Default is ``v1``.
  in: body
  required: false
  type: string
ikepolicies:
  description: |
    A list of ``ikepolicy`` objects.
  in: body
  required: true
  type: array
ikepolicy:
  description: |
    An ``ikepolicy`` object.
  in: body
  required: true
  type: object
ikepolicy_id-body-request:
  description: |
    The ID of the IKE policy.
  in: body
  required: false
  type: string
ikepolicy_id-body-response:
  description: |
    The ID of the IKE policy.
  in: body
  required: true
  type: string
ingress_firewall_policy_id-body-optional:
  description: |
    The ID of the ingress firewall policy for the firewall group.
  in: body
  required: false
  type: string
ingress_firewall_policy_id-body-required:
  description: |
    The ID of the ingress firewall policy for the firewall group.
  in: body
  required: true
  type: string
initiator:
  description: |
    Indicates whether this VPN can only respond to
    connections or both respond to and initiate connections. A valid
    value is ``response- only`` or ``bi-directional``. Default is
    ``bi-directional``.
  in: body
  required: false
  type: string
insert_after:
  description: |
    The ID of the firewall_rule. A new
    firewall_rule will be inserted after this firewall_rule.
  in: body
  required: false
  type: string
insert_before:
  description: |
    The ID of the firewall_rule. A new
    firewall_rule will be inserted before this firewall_rule.
  in: body
  required: false
  type: string
interval:
  description: |
    The dead peer detection (DPD) interval, in
    seconds. A valid value is a positive integer. Default is 30.
  in: body
  required: false
  type: integer
interval_1:
  description: |
    The dead peer detection (DPD) interval, in
    seconds. A valid value is a positive integer. Default is 30.
  in: body
  required: true
  type: integer
ip_address:
  description: |
    The IP address of an allowed address pair.
  in: body
  required: false
  type: string
ip_address_1:
  description: |
    The fixed IP address of the port.
  in: body
  required: true
  type: string
ip_version:
  description: |
    The IP protocol version. Valid value is ``4`` or
    ``6``. Default is ``4``.
  in: body
  required: false
  type: integer
ip_version-response:
  description: |
    The IP protocol version. Valid value is ``4`` or
    ``6``. Default is ``4``.
  in: body
  required: true
  type: integer
ip_version_1:
  description: |
    The IP address family of the list of prefixes
    passed to the ``prefixes`` attribute.
  in: body
  required: true
  type: integer
ip_version_3:
  description: |
    The IP version (4 or 6) of the subnet.
  in: body
  required: true
  type: integer
ipsec_site_connection:
  description: |
    An ``ipsec_site_connection`` object.
  in: body
  required: true
  type: object
ipsec_site_connection-action:
  description: |
    The dead peer detection (DPD) action. A valid
    value is ``clear``, ``hold``, ``restart``, ``disabled``, or
    ``restart-by-peer``. Default value is ``hold``.
  in: body
  required: true
  type: string
ipsec_site_connection-status:
  description: |
    Indicates whether the IPSec connection is
    currently operational. Values are ``ACTIVE``, ``DOWN``, ``BUILD``,
    ``ERROR``, ``PENDING_CREATE``, ``PENDING_UPDATE``, or
    ``PENDING_DELETE``.
  in: body
  required: true
  type: string
ipsec_site_connection-timeout:
  description: |
    The dead peer detection (DPD) timeout in seconds.
    A valid value is a positive integer that is greater than the DPD
    ``interval`` value. Default is 120.
  in: body
  required: true
  type: integer
ipsecpolicies:
  description: |
    A list of ``ipsecpolicy`` objects.
  in: body
  required: true
  type: array
ipsecpolicy:
  description: |
    An ``ipsecpolicy`` object.
  in: body
  required: true
  type: object
ipsecpolicy_id-body-request:
  description: |
    The ID of the IPSec policy.
  in: body
  required: false
  type: string
ipsecpolicy_id-body-response:
  description: |
    The ID of the IPSec policy.
  in: body
  required: true
  type: string
lb_algorithm:
  description: |
    The load-balancer algorithm, which is round-robin
    (``ROUND_ROBIN``), least-connections (``LEAST_CONNECTIONS``),
    source IP (``SOURCE_IP``), and so on, that is used to distribute
    traffic to the pool members. This value, which must be supported,
    is dependent on the load-balancer provider. The round-robin
    algorithm must be supported.
  in: body
  required: true
  type: string
lb_method:
  description: |
    The load-balancer algorithm, which is round-robin
    (``ROUND_ROBIN``), least-connections (``LEAST_CONNECTIONS``),
    source IP (``SOURCE_IP``), and so on, that is used to distribute
    traffic to the pool members. This value, which must be supported,
    is dependent on the load-balancer provider. The round-robin
    algorithm must be supported.
  in: body
  required: true
  type: string
lb_method-request-put:
  description: |
    The load-balancer algorithm, which is round-robin
    (``ROUND_ROBIN``), least-connections (``LEAST_CONNECTIONS``),
    source IP (``SOURCE_IP``), and so on, that is used to distribute
    traffic to the pool members. This value, which must be supported,
    is dependent on the load-balancer provider. The round-robin
    algorithm must be supported.
  in: body
  required: false
  type: string
lifetime:
  description: |
    The lifetime of the security association. The
    lifetime consists of a unit and integer value. You can omit either
    the unit or value portion of the lifetime. Default unit is seconds
    and default value is 3600.
  in: body
  required: false
  type: object
links:
  description: |
    The share links.
  in: body
  required: true
  type: array
listener:
  description: |
    A ``listener`` object.
  in: body
  required: true
  type: object
listener-id-response:
  description: |
    The ID of the listener.
  in: body
  required: true
  type: string
listener_id:
  description: |
    The ID of the listener.
  in: body
  required: false
  type: string
listeners:
  description: |
    The associated listeners, if any.
  in: body
  required: true
  type: array
listeners-response:
  description: |
    A list of ``listeners`` objects.
  in: body
  required: true
  type: array
loadbalancer:
  description: |
    A ``loadbalancer`` object.
  in: body
  required: true
  type: object
loadbalancer-id:
  description: |
    The ID of the load balancer.
  in: body
  required: true
  type: string
loadbalancer-provider:
  description: |
    Provider name of the load balancer service.
  in: body
  required: true
  type: string
loadbalancer-provider-request:
  description: |
    Provider name of the load balancer service.
  in: body
  required: false
  type: string
loadbalancer-statuses:
  description: |
    The status tree of a load balancer object contains all
    provisioning and operating statuses for its children.
  in: body
  required: true
  type: object
loadbalancers:
  description: |
    A list of load balancer objects.
  in: body
  required: true
  type: array
local_ep_group_id:
  description: |
    The ID for the endpoint group that contains
    private subnets for the local side of the connection. Yo must
    specify this parameter with the ``peer_ep_group_id`` parameter
    unless in backward- compatible mode where ``peer_cidrs`` is
    provided with a ``subnet_id`` for the VPN service.
  in: body
  required: false
  type: string
local_id:
  description: |
    An ID to be used instead of the external IP address for a virtual
    router used in traffic between instances on different networks in
    east-west traffic. Most often, local ID would be domain name, email
    address, etc. If this is not configured then the external IP address
    will be used as the ID.
  in: body
  required: false
  type: string
location:
  description: |
    Full URL to a service or server.
  format: uri
  in: body
  required: true
  type: string
logging_resource:
  description: |
    A ``logging_resource`` object.
  in: body
  required: true
  type: object
logging_resource_enabled:
  description: |
    Indicates whether this logging resource is enabled or disabled.
  in: body
  required: true
  type: boolean
logging_resource_enabled-request:
  description: |
    Indicates whether this logging resource is enabled or disabled.
    Default is false.
  in: body
  required: false
  type: boolean
logging_resource_enabled-request-put:
  description: |
    Indicates whether this logging resource is enabled or disabled.
  in: body
  required: false
  type: boolean
logging_resource_id-body:
  description: |
    The ID of the logging resource.
  in: body
  required: true
  type: string
logging_resources:
  description: |
    A list of ``logging_resource`` objects.
  in: body
  required: true
  type: array
mac_address:
  description: |
    The MAC address of the port.
  in: body
  required: true
  type: string
mac_address-request:
  description: |
    The MAC address of the port.
    If unspecified, a MAC address is automatically generated.
  in: body
  required: false
  type: string
mac_address-request-put:
  description: |
    The MAC address of the port.
    By default, only administrative users can change this value.
  in: body
  required: false
  type: string
max_burst_kbps:
  description: |
    The maximum burst size (in kilobits). Default is ``0``.
  in: body
  required: false
  type: integer
max_burst_kbps-response:
  description: |
    The maximum burst size (in kilobits).
  in: body
  required: true
  type: integer
max_kbps:
  description: |
    The maximum KBPS (kilobits per second) value. If you specify this
    value, must be greater than 0 otherwise max_kbps will have no value.
  in: body
  required: false
  type: integer
max_kbps-response:
  description: |
    The maximum KBPS (kilobits per second) value. If you specify this
    value, must be greater than 0 otherwise max_kbps will have no value.
  in: body
  required: true
  type: integer
max_prefixlen:
  description: |
    The maximum prefix size that can be allocated
    from the subnet pool. For IPv4 subnet pools, default is ``32``.
    For IPv6 subnet pools, default is ``128``.
  in: body
  required: false
  type: integer
max_prefixlen_1:
  description: |
    The maximum prefix size that can be allocated
    from the subnet pool.
  in: body
  required: true
  type: integer
max_retries:
  description: |
    The number of allowed connection failures before
    changing the status of the member to ``INACTIVE``. A valid value
    is from 1 to 10.
  in: body
  required: true
  type: integer
member:
  description: |
    A ``member`` object.
  in: body
  required: true
  type: object
member-id-response:
  description: |
    The ID of the member.
  in: body
  required: true
  type: string
member-pool_id:
  description: |
    The ID of the pool which the member belongs to.
  in: body
  required: true
  type: string
member-pool_id-request:
  description: |
    The ID of the pool which the member belongs to.
  in: body
  required: false
  type: string
member-status:
  description: |
    The status of the member. Indicates whether the
    member is operational.
  in: body
  required: true
  type: string
member-weight:
  description: |
    The weight of a member determines the portion of
    requests or connections it services compared to the other members
    of the pool. For example, a member with a weight of 10 receives five
    times as much traffic as a member with a weight of 2.
    A value of 0 means the member does not participate in
    load- balancing but still accepts persistent connections. A valid
    value is from 0 to 256.
  in: body
  required: true
  type: integer
member-weight-request:
  description: |
    The weight of a member determines the portion of
    requests or connections it services compared to the other members
    of the pool. For example, a member with a weight of 10 receives five
    times as much traffic as a member with a weight of 2.
    A value of 0 means the member does not participate in
    load- balancing but still accepts persistent connections. A valid
    value is from 0 to 256. The default is 1.
  in: body
  required: false
  type: integer
members:
  description: |
    The list of members that belong to the pool.
  in: body
  required: true
  type: array
members-obj:
  description: |
    A list of ``member`` objects.
  in: body
  required: true
  type: array
members_2:
  description: |
    The associated members, if any.
  in: body
  required: true
  type: array
metainfo:
  description: |
    JSON-formatted meta information.
  in: body
  required: false
  type: string
metainfo_1:
  description: |
    JSON metainfo to associate with profile.
  in: body
  required: true
  type: string
metering_label:
  description: |
    A ``metering_label`` object.
  in: body
  required: true
  type: object
metering_label-id:
  description: |
    The ID of the metering label.
  in: body
  required: true
  type: string
metering_label-id-response-body:
  description: |
    The metering label ID to associate with this
    metering rule.
  in: body
  required: true
  type: string
metering_label-shared:
  description: |
    Indicates whether this metering label is shared
    across all projects.
  in: body
  required: true
  type: boolean
metering_label-shared-request:
  description: |
    Indicates whether this metering label is shared
    across all projects.
  in: body
  required: true
  type: boolean
metering_label_rule:
  description: |
    A ``metering_label_rule`` object.
  in: body
  required: true
  type: object
metering_label_rule-id:
  description: |
    The ID of the metering label rule.
  in: body
  required: true
  type: string
metering_label_rules:
  description: |
    A list of ``metering_label_rule`` objects.
  in: body
  required: true
  type: array
metering_labels:
  description: |
    A list of ``metering_label`` objects.
  in: body
  required: true
  type: array
min_prefixlen:
  description: |
    The smallest prefix that can be allocated from a
    subnet pool. For IPv4 subnet pools, default is ``8``. For IPv6
    subnet pools, default is ``64``.
  in: body
  required: false
  type: integer
min_prefixlen_1:
  description: |
    The smallest prefix that can be allocated from a
    subnet pool.
  in: body
  required: true
  type: integer
mtu:
  description: |
    The maximum transmission unit (MTU) value to
    address fragmentation. Minimum value is 68 for IPv4, and 1280 for
    IPv6.
  in: body
  required: true
  type: integer
mtu-request:
  description: |
    The maximum transmission unit (MTU) value to
    address fragmentation. Minimum value is 68 for IPv4, and 1280 for
    IPv6.
  in: body
  required: false
  type: integer
name:
  description: |
    Human-readable name of the resource.
  in: body
  required: true
  type: string
name-request:
  description: |
    Human-readable name of the resource.
    Default is an empty string.
  in: body
  required: false
  type: string
name-request-put:
  description: |
    Human-readable name of the resource.
  in: body
  required: false
  type: string
name-segment:
  description: |
    Human-readable name of the segment.
  in: body
  required: false
  type: string
name_1:
  description: |
    A symbolic name for the port.
  in: body
  required: false
  type: string
name_11:
  description: |
    The QoS policy name.
  in: body
  required: false
  type: string
name_12:
  description: |
    The pool name. Does not have to be unique.
  in: body
  required: false
  type: string
name_14:
  description: |
    A symbolic name for the security group. Does not
    have to be unique.
  in: body
  required: true
  type: string
name_15:
  description: |
    A name for the subnet pool.
  in: body
  required: true
  type: string
name_16:
  description: |
    Human-readable name for the VIP. Does not have to
    be unique.
  in: body
  required: false
  type: string
name_17:
  description: |
    Human-readable name for the VPN endpoint group.
    Does not have to be unique.
  in: body
  required: false
  type: string
name_18:
  description: |
    Human-readable name for the VPN service. Does not
    have to be unique.
  in: body
  required: false
  type: string
name_19:
  description: |
    Human-readable name for the firewall policy. Does
    not have to be unique.
  in: body
  required: true
  type: string
name_2:
  description: |
    The network name.
  in: body
  required: true
  type: string
name_20:
  description: |
    The name of the extension. For example, "Fox In
    Socks."
  in: body
  required: true
  type: string
name_21:
  description: |
    A human-readable name for the firewall rule.
  in: body
  required: true
  type: string
name_22:
  description: |
    Human-readable name for the firewall service.
    Does not have to be unique.
  in: body
  required: true
  type: string
name_23:
  description: |
    Human-readable name for the flavor. Can be "" and
    non-unique.
  in: body
  required: true
  type: string
name_24:
  description: |
    Human-readable name for the IKE policy. Does not
    have to be unique.
  in: body
  required: true
  type: string
name_25:
  description: |
    Human-readable name for the IPSec connection.
    Does not have to be unique.
  in: body
  required: true
  type: string
name_26:
  description: |
    The load balancer name.
  in: body
  required: true
  type: string
name_27:
  description: |
    The network name.
  in: body
  required: true
  type: string
name_28:
  description: |
    The name of the subnet.
  in: body
  required: true
  type: string
name_29:
  description: |
    The name of the QoS policy.
  in: body
  required: true
  type: string
name_3:
  description: |
    The port name.
  in: body
  required: true
  type: string
name_30:
  description: |
    The pool name. Does not have to be unique.
  in: body
  required: true
  type: string
name_31:
  description: |
    The router name.
  in: body
  required: true
  type: string
name_32:
  description: |
    The security group name.
  in: body
  required: true
  type: string
name_33:
  description: |
    The subnet pool name.
  in: body
  required: true
  type: string
name_34:
  description: |
    Human-readable name for the VIP. Does not have to
    be unique.
  in: body
  required: true
  type: string
name_35:
  description: |
    Human-readable name for the VPN endpoint group.
    Does not have to be unique.
  in: body
  required: true
  type: string
name_36:
  description: |
    Human-readable name for the VPN service. Does not
    have to be unique.
  in: body
  required: true
  type: string
name_37:
  description: |
    New human-readable name for the flavor. Can be ""
    and non-unique.
  in: body
  required: false
  type: string
name_38:
  description: |
    Human-readable name for the pool. Does not have
    to be unique.
  in: body
  required: false
  type: string
name_39:
  description: |
    Human-readable name for the firewall policy. Does
    not have to be unique.
  in: body
  required: false
  type: string
name_4:
  description: |
    User-facing provider name.
  in: body
  required: true
  type: string
name_40:
  description: |
    A human-readable name for the firewall rule.
    Maximum length is 255 characters. Does not have to be unique. No
    default.
  in: body
  required: false
  type: string
name_41:
  description: |
    A human-readable name for the flavor. Can be "" and
    non-unique.
  in: body
  required: false
  type: string
name_42:
  description: |
    A human-readable name for the firewall service.
    Does not have to be unique.
  in: body
  required: false
  type: string
name_43:
  description: |
    Human-readable name for the IKE policy. Does not
    have to be unique.
  in: body
  required: false
  type: string
name_5:
  description: |
    A human-readable name for the IPSec policy. Does
    not have to be unique.
  in: body
  required: true
  type: string
name_6:
  description: |
    Human-readable name for the IPSec connection.
    Does not have to be unique.
  in: body
  required: false
  type: string
name_7:
  description: |
    The listener name.
  in: body
  required: true
  type: string
name_8:
  description: |
    The load balancer name. Does not have to be
    unique.
  in: body
  required: false
  type: string
name_9:
  description: |
    The name of the metering label.
  in: body
  required: true
  type: string
name_resource:
  description: |
    The name of the resource.
  in: body
  required: false
  type: string
network:
  description: |
    A ``network`` object.
  in: body
  required: true
  type: object
network-admin_state_up:
  description: |
    The administrative state of the network, which is
    up (``true``) or down (``false``).
  in: body
  required: true
  type: boolean
network-admin_state_up-request:
  description: |
    The administrative state of the network, which is
    up (``true``) or down (``false``).
  in: body
  required: false
  type: boolean
network-count:
  description: |
    The number of networks allowed for each tenant.
  in: body
  required: true
  type: integer
network-count-request:
  description: |
    The number of networks allowed for each tenant.
  in: body
  required: false
  type: integer
network-id:
  description: |
    The ID of the network.
  in: body
  required: true
  type: string
network-name:
  description: |
    Human-readable name of the network.
  in: body
  required: true
  type: string
network-name-request:
  description: |
    Human-readable name of the network.
  in: body
  required: False
  type: string
network-port_security_enabled:
  description: |
    The port security status of the network. Valid values are
    enabled (``true``) and disabled (``false``).
    This value is used as the default value of ``port_security_enabled``
    field of a newly created port.
  in: body
  required: true
  type: boolean
network-port_security_enabled-request:
  description: |
    The port security status of the network. Valid values are
    enabled (``true``) and disabled (``false``).
    This value is used as the default value of ``port_security_enabled``
    field of a newly created port.
  in: body
  required: false
  type: boolean
network-shared:
  description: |
    Indicates whether this network is shared across all tenants. By default,
    only administrative users can change this value.
  in: body
  required: true
  type: boolean
network-shared-request:
  description: |
    Indicates whether this network is shared across all tenants. By default,
    only administrative users can change this value.
  in: body
  required: false
  type: boolean
network-status:
  description: |
    The network status. Values are ``ACTIVE``, ``DOWN``, ``BUILD`` or ``ERROR``.
  in: body
  required: true
  type: string
network-subnets:
  description: |
    The associated subnets.
  in: body
  required: true
  type: array
network_id:
  description: |
    The ID of the attached network.
  in: body
  required: true
  type: string
network_ip_availabilities:
  description: |
    The ``network_ip_availabilities`` object.
  in: body
  required: true
  type: array
network_ip_availability:
  description: |
    A ``network_ip_availability`` object.
  in: body
  required: true
  type: object
network_ip_availability-network_id:
  description: |
    The ID of the network whose IP availability detail is reported.
  in: body
  required: true
  type: string
network_ip_availability-subnet_id:
  description: |
    The ID of the subnet whose IP availability detail is reported.
  in: body
  required: true
  type: string
network_type:
  description: |
    The type of physical network that maps to this
    network resource. For example, ``flat``, ``vlan``, ``vxlan``, or
    ``gre``.
  in: body
  required: true
  type: string
networks:
  description: |
    A list of ``network`` objects.
  in: body
  required: true
  type: array
operating_status:
  description: |
    The operating status of the load balancer.  This
    value is ``ONLINE`` or ``OFFLINE``.
  in: body
  required: true
  type: string
peer_address:
  description: |
    The peer gateway public IPv4 or IPv6 address or
    FQDN.
  in: body
  required: true
  type: string
peer_cidrs:
  description: |
    (Deprecated) Unique list of valid peer private
    CIDRs in the form < net_address > / < prefix > .
  in: body
  required: false
  type: array
peer_ep_group_id:
  description: |
    The ID for the endpoint group that contains
    private CIDRs in the form < net_address > / < prefix > for the
    peer side of the connection. You must specify this parameter with
    the ``local_ep_group_id`` parameter unless in backward-compatible
    mode where ``peer_cidrs`` is provided with a ``subnet_id`` for the
    VPN service.
  in: body
  required: false
  type: string
peer_id:
  description: |
    The peer router identity for authentication. A
    valid value is an IPv4 address, IPv6 address, e-mail address, key
    ID, or FQDN. Typically, this value matches the ``peer_address``
    value.
  in: body
  required: true
  type: string
pfs:
  description: |
    Perfect forward secrecy (PFS). A valid value is
    ``Group2``, ``Group5``, ``Group14``, and so on. Default is
    ``Group5``.
  in: body
  required: false
  type: string
phase1_negotiation_mode:
  description: |
    The IKE mode. A valid value is ``main``, which is
    the default.
  in: body
  required: false
  type: string
policies:
  description: |
    A list of QoS ``policy`` objects.
  in: body
  required: true
  type: array
policy:
  description: |
    A QoS ``policy`` object.
  in: body
  required: true
  type: object
pool:
  description: |
    A ``pool`` object.
  in: body
  required: true
  type: object
pool-id-response:
  description: |
    The ID of the pool.
  in: body
  required: true
  type: string
pool-protocol:
  description: |
    The protocol of the pool, which is ``TCP``,
    ``HTTP``, or ``HTTPS``.
  in: body
  required: true
  type: string
pool-provider:
  description: |
    The provider name of the load balancer pool.
  in: body
  required: true
  type: string
pool-provider-request:
  description: |
    The provider name of the load balancer pool.
  in: body
  required: false
  type: string
pool-status:
  description: |
    The status of the pool. Indicates whether the
    pool is operational.
  in: body
  required: true
  type: string
pool-subnet_id:
  description: |
    The subnet on which the members of the pool will be located.
  in: body
  required: true
  type: string
pool-subnet_id-request:
  description: |
    If you omit this parameter, LBaaS uses the
    ``vip_subnet_id`` parameter value for the subnet UUID.
  in: body
  required: false
  type: string
pools:
  description: |
    List of pools that are associated with the health
    monitor.
  in: body
  required: true
  type: array
pools-obj:
  description: |
    A list of ``pool`` objects.
  in: body
  required: true
  type: array
pools_2:
  description: |
    The associated pools, if any.
  in: body
  required: true
  type: array
port:
  description: |
    A ``port`` object.
  in: body
  required: true
  type: object
port-security_groups:
  description: |
    The IDs of security groups applied to the port.
  in: body
  required: true
  type: array
port-security_groups-request:
  description: |
    The IDs of security groups applied to the port.
  in: body
  required: false
  type: array
port-status:
  description: |
    The port status. Values are ``ACTIVE``, ``DOWN``,
    ``BUILD`` and ``ERROR``.
  in: body
  required: true
  type: string
port_id:
  description: |
    The ID of the port.
  in: body
  required: true
  type: string
port_id-request:
  description: |
    The ID of the port.
  in: body
  required: false
  type: string
port_id_4:
  description: |
    The UUID of the port.
  in: body
  required: true
  type: string
port_id_subport:
  description: |
    The ID of the subport.
  in: body
  required: true
  type: string
port_range_max:
  description: |
    The maximum port number in the range that is
    matched by the security group rule. The ``port_range_min``
    attribute constrains the ``port_range_max`` attribute. If the
    protocol is ICMP, this value must be an ICMP type.
  in: body
  required: false
  type: integer
port_range_max_1:
  description: |
    The maximum port number in the range that is
    matched by the security group rule. The ``port_range_min``
    attribute constrains the ``port_range_max`` attribute. If the
    protocol is ICMP, this value must be an ICMP type.
  in: body
  required: true
  type: integer
port_range_min:
  description: |
    The minimum port number in the range that is
    matched by the security group rule. If the protocol is TCP or UDP,
    this value must be less than or equal to the ``port_range_max``
    attribute value. If the protocol is ICMP, this value must be an
    ICMP type.
  in: body
  required: false
  type: integer
port_range_min_1:
  description: |
    The minimum port number in the range that is
    matched by the security group rule. If the protocol is TCP or UDP,
    this value must be less than or equal to the ``port_range_max``
    attribute value. If the protocol is ICMP, this value must be an
    ICMP type.
  in: body
  required: true
  type: integer
port_security_enabled:
  description: |
    The port security status. A valid value is
    enabled (``true``) or disabled (``false``).
    If port security is enabled for the port,
    security group rules and anti-spoofing rules are applied to
    the traffic on the port. If disabled, no such rules are applied.
  in: body
  required: true
  type: boolean
port_security_enabled-request:
  description: |
    The port security status. A valid value is
    enabled (``true``) or disabled (``false``).
    If port security is enabled for the port,
    security group rules and anti-spoofing rules are applied to
    the traffic on the port. If disabled, no such rules are applied.
  in: body
  required: false
  type: boolean
ports:
  description: |
    A list of ``port`` objects.
  in: body
  required: true
  type: array
position:
  description: |
    Read-only attribute that the API assigns to this
    rule when it associates it with a firewall policy. This value
    indicates the position of this rule in that firewall policy. This
    position number starts at 1. If the firewall rule is not
    associated with any policy, the position is ``null``.
  in: body
  required: true
  type: integer
prefixes:
  description: |
    A list of subnet prefixes to assign to the subnet
    pool. The API merges adjacent prefixes and treats them as a single
    prefix.  Each subnet prefix must be unique among all subnet
    prefixes in all subnet pools that are associated with the address
    scope.
  in: body
  required: true
  type: array
prefixes_1:
  description: |
    A list of subnet prefixes that are assigned to
    the subnet pool. The API merges adjacent prefixes and treats them
    as a single prefix.
  in: body
  required: true
  type: array
prefixes_2:
  description: |
    A list of subnet prefixes to assign to the subnet
    pool. The API merges adjacent prefixes and treats them as a single
    prefix.  To update the subnet prefixes, pass a list that contains
    the existing set of prefixes and the new set of prefixes. You
    cannot shrink the prefix list of a subnet pool. You can only add
    prefixes to it to expand it.  Ensure that each subnet prefix is
    unique among all subnet prefixes in all subnet pools that are
    associated with the address scope.
  in: body
  required: true
  type: array
project_id:
  description: |
    The ID of the project.
  in: body
  required: true
  type: string
project_id-body-optional:
  description: |
    The ID of the project that owns the resource.
  in: body
  required: false
  type: string
project_id-body-required:
  description: |
    The ID of the project that owns the resource.
  in: body
  required: true
  type: string
project_id-request:
  description: |
    The ID of the project that owns the resource.
    Only administrative users can specify a project ID other than their own.
    You cannot change this value through authorization policies.
  in: body
  required: false
  type: string
protocol:
  description: |
    The IP protocol. Valid value is ``icmp``,
    ``tcp``, ``udp``, or ``null``. No default.
  in: body
  required: false
  type: string
protocol-response:
  description: |
    The IP protocol. Valid value is ``icmp``,
    ``tcp``, ``udp``, or ``null``. No default.
  in: body
  required: true
  type: string
protocol_1:
  description: |
    The protocol to load balance. A valid value is
    ``HTTP``, ``HTTPS``, ``TCP``, or ``TERMINATED_HTTPS``.
  in: body
  required: true
  type: string
protocol_3:
  description: |
    The protocol that is matched by the security
    group rule. Valid values are null, tcp, udp, and icmp.
  in: body
  required: false
  type: string
protocol_4:
  description: |
    The protocol that is matched by the security
    group rule. Value is ``null``, ``icmp``, ``icmpv6``, ``tcp``, or
    ``udp``.
  in: body
  required: true
  type: string
protocol_6:
  description: |
    The IP protocol. Value is ``icmp``, ``tcp``,
    ``udp``, or ``null``.
  in: body
  required: true
  type: string
protocol_port:
  description: |
    The TCP or UDP port on which to listen.
  in: body
  required: true
  type: integer
protocol_port-request:
  description: |
    The TCP or UDP port on which to listen.
  in: body
  required: false
  type: integer
provider:network_type:
  description: |
    The type of physical network that this network is mapped to.
    For example, ``flat``, ``vlan``, ``vxlan``, or ``gre``.
    Valid values depend on a networking back-end.
  in: body
  required: true
  type: string
provider:network_type-request:
  description: |
    The type of physical network that this network should be mapped to.
    For example, ``flat``, ``vlan``, ``vxlan``, or ``gre``.
    Valid values depend on a networking back-end.
  in: body
  required: false
  type: string
provider:physical_network:
  description: |
    The physical network where this network is implemented.
  in: body
  required: true
  type: string
provider:physical_network-request:
  description: |
    The physical network where this network should be implemented.
    The Networking API v2.0 does not provide a way to list available
    physical networks. For example, the Open vSwitch plug-in configuration
    file defines a symbolic name that maps to specific bridges on each
    compute host.
  in: body
  required: false
  type: string
provider:segmentation_id:
  description: |
    The ID of the isolated segment on the physical network.
    The ``network_type`` attribute defines the segmentation model.
    For example, if the ``network_type`` value is vlan, this ID is a vlan
    identifier. If the ``network_type`` value is gre, this ID is a gre key.
  in: body
  required: true
  type: integer
provider:segmentation_id-request:
  description: |
    The ID of the isolated segment on the physical network.
    The ``network_type`` attribute defines the segmentation model.
    For example, if the ``network_type`` value is vlan, this ID is a vlan
    identifier. If the ``network_type`` value is gre, this ID is a gre key.
  in: body
  required: false
  type: integer
provider_1:
  description: |
    The load-balancer provider.
  in: body
  required: true
  type: string
provider_2:
  description: |
    The name of the provider.
  in: body
  required: true
  type: string
provisioning_status:
  description: |
    The provisioning status of the load balancer.
    This value is ``ACTIVE``, ``PENDING_CREATE`` or ``ERROR``.
  in: body
  required: true
  type: string
psk:
  description: |
    The pre-shared key. A valid value is any string.
  in: body
  required: true
  type: string
qos-rule-type:
  description: |
    The type of QoS rule.
  in: body
  required: true
  type: string
qos-rule-types:
  description: |
    A list of QoS ``rule_type`` objects.
  in: body
  required: true
  type: array
qos-rules:
  description: |
    A set of zero or more policy rules.
  in: body
  required: true
  type: array
qos-shared:
  description: |
    Indicates whether this policy is shared across
    all projects.
  in: body
  required: true
  type: boolean
qos-shared-request:
  description: |
    Set to ``true`` to share this policy with other
    projects. Default is ``false``.
  in: body
  required: false
  type: boolean
qos_bandwidth_limit_rule-id:
  description: |
    The ID of the QoS Bandwidth limit rule.
  in: body
  required: true
  type: string
qos_dscp_marking_rule-id:
  description: |
    The ID of the QoS DSCP marking rule.
  in: body
  required: true
  type: string
qos_policy-name:
  description: |
      Human-readable name of the resource.
  in: body
  required: false
  type: string
qos_policy_id:
  description: |
    The ID of the QoS policy.
  in: body
  required: true
  type: string
qos_policy_id-body:
  description: |
    The ID of the QoS policy.
  in: body
  required: true
  type: string
qos_policy_id-request:
  description: |
    The ID of the QoS policy.
  in: body
  required: false
  type: string
quota:
  description: |
    A ``quota`` object.
  in: body
  required: true
  type: object
quota-floatingip:
  description: |
    The number of floating IP addresses allowed for
    each project.  A value of ``-1`` means no limit.
  in: body
  required: true
  type: integer
quota-floatingip-request:
  description: |
    The number of floating IP addresses allowed for
    each project.  A value of ``-1`` means no limit.
  in: body
  required: false
  type: integer
quota-network:
  description: |
    The number of networks allowed for each project.
    A value of ``-1`` means no limit.
  in: body
  required: true
  type: integer
quota-network-request:
  description: |
    The number of networks allowed for each project.
    A value of ``-1`` means no limit.
  in: body
  required: false
  type: integer
quota-port:
  description: |
    The number of ports allowed for each project.
    A value of ``-1`` means no limit.
  in: body
  required: true
  type: integer
quota-port-request:
  description: |
    The number of ports allowed for each project.
    A value of ``-1`` means no limit.
  in: body
  required: false
  type: integer
quota-rbac_policy:
  description: |
    The number of role-based access control (RBAC)
    policies for each project. A value of ``-1`` means
    no limit.
  in: body
  required: true
  type: integer
quota-rbac_policy-request:
  description: |
    The number of role-based access control (RBAC)
    policies for each project. A value of ``-1`` means
    no limit.
  in: body
  required: false
  type: integer
quota-router:
  description: |
    The number of routers allowed for each project.
    A value of ``-1`` means no limit.
  in: body
  required: true
  type: integer
quota-router-request:
  description: |
    The number of routers allowed for each project.
    A value of ``-1`` means no limit.
  in: body
  required: false
  type: integer
quota-security_group:
  description: |
    The number of security groups allowed for each
    project. A value of ``-1`` means no limit.
  in: body
  required: true
  type: integer
quota-security_group-request:
  description: |
    The number of security groups allowed for each
    project. A value of ``-1`` means no limit.
  in: body
  required: false
  type: integer
quota-security_group_rule:
  description: |
    The number of security group rules allowed for
    each project. A value of ``-1`` means no limit.
  in: body
  required: true
  type: integer
quota-security_group_rule-request:
  description: |
    The number of security group rules allowed for
    each project. A value of ``-1`` means no limit.
  in: body
  required: false
  type: integer
quota-subnet:
  description: |
    The number of subnets allowed for each project.
    A value of ``-1`` means no limit.
  in: body
  required: true
  type: integer
quota-subnet-request:
  description: |
    The number of subnets allowed for each project.
    A value of ``-1`` means no limit.
  in: body
  required: false
  type: integer
quota-subnetpool:
  description: |
    The number of subnet pools allowed for each
    project. A value of ``-1`` means no limit.
  in: body
  required: true
  type: integer
quota-subnetpool-request:
  description: |
    The number of subnet pools allowed for each
    project. A value of ``-1`` means no limit.
  in: body
  required: false
  type: integer
quotas:
  description: |
    A list of quota objects.
  in: body
  required: true
  type: array
remote_group_id:
  description: |
    The remote group UUID to associate with this
    security group rule. You can specify either the
    ``remote_group_id`` or ``remote_ip_prefix`` attribute in the
    request body.
  in: body
  required: false
  type: string
remote_group_id_1:
  description: |
    The remote group UUID to associate with this
    security group rule. You can specify either the
    ``remote_group_id`` or ``remote_ip_prefix`` attribute in the
    request body.
  in: body
  required: true
  type: string
remote_ip_prefix:
  description: |
    The remote IP prefix to associate with this
    metering rule packet.
  in: body
  required: true
  type: string
remote_ip_prefix_1:
  description: |
    The remote IP prefix to associate with this
    security group rule. You can specify either the
    ``remote_group_id`` or ``remote_ip_prefix`` attribute in the
    request body. This attribute matches the IP prefix as the source
    IP address of the IP packet.
  in: body
  required: false
  type: string
remote_ip_prefix_2:
  description: |
    The remote IP prefix to associate with this
    security group rule. You can specify either the
    ``remote_group_id`` or ``remote_ip_prefix`` attribute in the
    request body. This attribute value matches the IP prefix as the
    source IP address of the IP packet.
  in: body
  required: true
  type: string
resource-collection:
  description: |
    Collection name of the resource.
  in: body
  required: true
  type: string
resource-href:
  description: |
    Link to the resource.
  in: body
  required: true
  type: string
resource-links:
  description: |
    List of links related to the resource. Each link is a dict with 'href' and 'rel'.
  in: body
  required: true
  type: array
resource-name:
  description: |
    Name of the resource.
  in: body
  required: true
  type: string
resource-rel:
  description: |
    Relationship between link and the resource.
  in: body
  required: true
  type: string
resources:
  description: |
    List of resource objects.
  in: body
  required: true
  type: array
revision_number:
  description: |
    The revision number of the resource.
  in: body
  required: true
  type: integer
route_mode:
  description: |
    The route mode. A valid value is ``static``,
    which is the default.
  in: body
  required: false
  type: string
route_mode_1:
  description: |
    The route mode. A valid value is ``static``,
    which is the default.
  in: body
  required: true
  type: string
router:
  description: |
    A ``router`` object.
  in: body
  required: true
  type: object
router-availability_zone_hints:
  description: |
    The availability zone candidates for the router.
    It is available when ``router_availability_zone`` extension is enabled.
  in: body
  required: true
  type: array
router-availability_zone_hints-request:
  description: |
    The availability zone candidates for the router.
    It is available when ``router_availability_zone`` extension is enabled.
  in: body
  required: false
  type: array
router-availability_zones:
  description: |
    The availability zone(s) for the router.
    It is available when ``router_availability_zone`` extension is enabled.
  in: body
  required: true
  type: array
router-destination:
  description: |
    The destination CIDR.
  in: body
  required: true
  type: string
router-distributed:
  description: |
    ``true`` indicates a distributed router.
    It is available when ``dvr`` extension is enabled.
  in: body
  required: true
  type: boolean
router-distributed-request:
  description: |
    ``true`` indicates a distributed router.
    It is available when ``dvr`` extension is enabled.
  in: body
  required: false
  type: boolean
router-enable_snat:
  description: |
    Enable Source NAT (SNAT) attribute.
    ``true`` means Network Address Translation (NAT) is enabled
    for traffic generated by subnets attached to the router
    when the traffic is sent to/received from the external network.
    ``false`` means no NAT is applied for traffic from/to the external network.
    It is available when ``ext-gw-mode`` extension is enabled.
  in: body
  required: true
  type: boolean
router-enable_snat-request:
  description: |
    Enable Source NAT (SNAT) attribute. Default is
    ``true``. To persist this attribute value, set the
    ``enable_snat_by_default`` option in the ``neutron.conf`` file.
    It is available when ``ext-gw-mode`` extension is enabled.
  in: body
  required: false
  type: boolean
router-external_fixed_ips:
  description: |
    IP address(es) of the external gateway of the router.
    It is a list of IP addresses. Each element of the list
    is a dictionary of ``ip_address`` and ``subnet_id``.
  in: body
  required: true
  type: array
router-external_fixed_ips-request:
  description: |
    IP address(es) of the external gateway interface of the router.
    It is a list of IP addresses you would like to assign to the
    external gateway interface. Each element of ths list is
    a dictionary of ``ip_address`` and ``subnet_id``.
  in: body
  required: false
  type: array
router-external_gateway_info:
  description: |
    The external gateway information of the router.
    If the router has an external gateway, this would be a dict with
    ``network_id``, ``enable_snat`` and ``external_fixed_ips``.
    Otherwise, this would be ``null``.
  in: body
  required: true
  type: object
router-external_gateway_info-request:
  description: |
    The external gateway information of the router.
    If the router has an external gateway, this would be a dict with
    ``network_id``, ``enable_snat`` and ``external_fixed_ips``.
    Otherwise, this would be ``null``.
  in: body
  required: false
  type: object
router-ha:
  description: |
    ``true`` indicates a highly-available router.
    It is available when ``l3-ha`` extension is enabled.
  in: body
  required: true
  type: boolean
router-ha-request:
  description: |
    ``true`` indicates a highly-available router.
    It is available when ``l3-ha`` extension is enabled.
  in: body
  required: false
  type: boolean
router-id-body:
  description: |
    The ID of the router.
  in: body
  required: true
  type: string
router-name-request:
  description: |
    The router name.
  in: body
  required: false
  type: string
router-network_id:
  description: |
    Network ID which the router gateway is connected to.
  in: body
  required: true
  type: string
router-network_id-interface:
  description: |
    Network ID which the router interface is connected to.
  in: body
  required: true
  type: string
router-nexthop:
  description: |
    The IP address of the next hop for the corresponding destination.
    The next hop IP address must be a part of one of the subnets to
    which the router interfaces are connected.
  in: body
  required: true
  type: string
router-port_id:
  description: |
    The ID of the port which represents the router interface.
  in: body
  required: true
  type: string
router-port_id-request:
  description: |
    The ID of the port.
    One of ``subnet_id`` or ``port_id`` must be specified.
  in: body
  required: false
  type: string
router-project_id-interface:
  description: |
    The ID of the project who owns the router interface.
  in: body
  required: true
  type: string
router-routes:
  description: |
    The extra routes configuration for L3 router.
    A list of dictionaries with ``destination`` and ``nexthop`` parameters.
    It is available when ``extraroute`` extension is enabled.
  in: body
  required: true
  type: array
router-routes-request:
  description: |
    The extra routes configuration for L3 router.
    A list of dictionaries with ``destination`` and ``nexthop`` parameters.
    It is available when ``extraroute`` extension is enabled.
    Default is an empty list (``[]``).
  in: body
  required: false
  type: array
router-status:
  description: |
    The router status.
  in: body
  required: true
  type: string
router-subnet_id:
  description: |
    The ID of the subnet which the router interface belongs to.
  in: body
  required: true
  type: string
router-subnet_id-request:
  description: |
    The ID of the subnet.
    One of ``subnet_id`` or ``port_id`` must be specified.
  in: body
  required: false
  type: string
router-subnet_ids:
  description: |
    A list of the ID of the subnet which the router interface belongs to.
    The list contains only one member.
  in: body
  required: true
  type: array
router:external:
  description: |
    Indicates whether this network can provide floating IPs via a router.
  in: body
  required: true
  type: boolean
router:external-request:
  description: |
    Indicates whether this network can provide floating IPs via a router.
  in: body
  required: false
  type: boolean
router_id_1:
  description: |
    The UUID of the router.
  in: body
  required: true
  type: string
router_id_2:
  description: |
    The UUID of the router to which the VPN service
    is inserted.
  in: body
  required: true
  type: string
router_id_3:
  description: |
    The UUID of the router into which the VPN service
    is inserted.
  in: body
  required: true
  type: string
router_ids:
  description: |
    A list of IDs for routers that are associated
    with the firewall.
  in: body
  required: false
  type: array
router_ids-1:
  description: |
    A list of IDs for routers that are associated
    with the firewall.
  in: body
  required: true
  type: array
router_ids-response:
  description: |
    A list of IDs for routers that are associated
    with the firewall.
  in: body
  required: true
  type: array
routers:
  description: |
    A list of ``router`` objects.
  in: body
  required: true
  type: array
security_group:
  description: |
    A ``security_group`` object.
  in: body
  required: true
  type: object
security_group-id:
  description: |
    The ID of the security group.
  in: body
  required: true
  type: string
security_group_id:
  description: |
    The security group UUID to associate with this
    security group rule.
  in: body
  required: true
  type: string
security_group_rule:
  description: |
    A ``security_group_rule`` object.
  in: body
  required: true
  type: object
security_group_rule-id:
  description: |
    The ID of the security group rule.
  in: body
  required: true
  type: string
security_group_rule-security_group_id:
  description: |
    The security group ID to associate with this
    security group rule.
  in: body
  required: true
  type: string
security_group_rules:
  description: |
    A list of ``security_group_rule`` objects.
    Refer to :ref:`Security group rules <security_group_rules>` for details.
  in: body
  required: true
  type: array
security_groups:
  description: |
    One or more security group UUIDs.
  in: body
  required: false
  type: array
security_groups-obj:
  description: |
    A list of ``security_group`` objects.
  in: body
  required: true
  type: array
segment_id:
  description: |
    The UUID of the segment.
  in: body
  required: true
  type: string
segmentation_id:
  description: |
    The segmentation ID for the subport.
  in: body
  required: false
  type: integer
segmentation_type:
  description: |
    The segmentation type for the subport.
  in: body
  required: false
  type: string
segments:
  description: |
    A list of provider ``segment`` objects.
  in: body
  required: true
  type: array
segments-request:
  description: |
    A list of provider ``segment`` objects.
  in: body
  required: false
  type: array
service_profile:
  description: |
    A ``service_profile`` object.
  in: body
  required: true
  type: object
service_profile-description:
  description: |
    The human-readable description for the service profile.
  in: body
  required: true
  type: string
service_profile-description-request:
  description: |
    The human-readable description for the service profile.
  in: body
  required: false
  type: string
service_profile-driver:
  description: |
    Provider driver to use for this profile. Example:
    ``neutron_lbaas.drivers.octavia.driver.OctaviaDriver``
  in: body
  required: true
  type: string
service_profile-driver-request:
  description: |
    Provider driver to use for this profile. Example:
    ``neutron_lbaas.drivers.octavia.driver.OctaviaDriver``
  in: body
  required: false
  type: string
service_profile-enabled:
  description: |
    Indicates whether this service profile is enabled or not.
    Default is ``true``.
  in: body
  required: true
  type: boolean
service_profile-enabled-request:
  description: |
    Indicates whether this service profile is enabled or not.
    Default is ``true``.
  in: body
  required: false
  type: boolean
service_profile-id:
  description: |
    The UUID of the service profile.
  in: body
  required: true
  type: string
service_profile-metainfo:
  description: |
    JSON-formatted meta information of the service profile.
  in: body
  required: true
  type: string
service_profile-metainfo-request:
  description: |
    JSON-formatted meta information of the service profile.
  in: body
  required: false
  type: string
service_profiles:
  description: |
    Service profile UUIDs associated with this
    flavor.
  in: body
  required: true
  type: array
service_profiles_1:
  description: |
    A list of ``service_profile`` objects.
  in: body
  required: true
  type: array
service_providers:
  description: |
    A list of ``service_provider`` objects.
  in: body
  required: true
  type: array
service_type:
  description: |
    The service type, which is ``CORE``, ``DUMMY``,
    ``FIREWALL``, ``FLAVORS``, ``L3_ROUTER_NAT``, ``LOADBALANCER``,
    ``LOADBALANCERV2``, ``METERING``, ``QOS``, or ``VPN``.
  in: body
  required: true
  type: string
service_type_1:
  description: |
    Service type (ex: LOADBALANCERV2) for the flavor.
  in: body
  required: true
  type: string
shared:
  description: |
    Admin-only. Indicates whether this network is
    shared across all projects.
  in: body
  required: false
  type: boolean
shared-response:
  description: |
    Admin-only. Indicates whether this network is
    shared across all tenants.
  in: body
  required: true
  type: boolean
shared_11:
  description: |
    Indicates whether this subnet pool is shared
    across all projects.
  in: body
  required: true
  type: boolean
shared_12:
  description: |
    Set to ``true`` to make this firewall policy
    visible to other projects. Default is ``false``.
  in: body
  required: false
  type: boolean
shared_13:
  description: |
    Set to ``true`` to share this firewall rule with
    other projects. Other projects can use a shared rule in firewall
    policies that this project does not own. Valid value is ``true`` or
    ``false``. Default is ``false``.
  in: body
  required: false
  type: boolean
shared_3:
  description: |
    Admin-only. Indicates whether this network is
    shared across all projects.
  in: body
  required: true
  type: boolean
shared_5:
  description: |
    Admin-only. Indicates whether this subnet pool is
    shared across all projects.
  in: body
  required: false
  type: boolean
shared_6:
  description: |
    Indicates whether the firewall policy is shared
    across all projects.
  in: body
  required: true
  type: boolean
shared_7:
  description: |
    Indicates whether this firewall rule is shared
    with other projects. Other projects can use a shared rule in
    firewall policies that this project does not own.
  in: body
  required: true
  type: boolean
shared_9:
  description: |
    Indicates whether this network is shared across
    all projects.
  in: body
  required: true
  type: boolean
sni_container_refs:
  description: |
    A list of references to TLS secrets.
  in: body
  required: false
  type: array
sni_container_refs-response:
  description: |
    A list of references to TLS secrets.
  in: body
  required: true
  type: array
source_ip_address:
  description: |
    The source IPv4 or IPv6 address or CIDR.
  in: body
  required: false
  type: string
source_port:
  description: |
    The source port or port range.  A valid value is
    a port number, as an integer, or a port range, in the format of a
    ``:`` separated range. For a port range, include both ends of the
    range. For example, ``80:90``.
  in: body
  required: true
  type: string
source_port-response:
  description: |
    The source port or port range.  A valid value is
    a port number, as an integer, or a port range, in the format of a
    ``:`` separated range. For a port range, include both ends of the
    range. For example, ``80:90``.
  in: body
  required: false
  type: string
source_port_1:
  description: |
    The source port or port range.
  in: body
  required: true
  type: string
status_description:
  description: |
    Human-readable description of the status.
  in: body
  required: true
  type: string
sub_ports:
  description: |
    A list of ports associated with the trunk.
  in: body
  required: true
  type: array
subnet-allocation_pools:
  description: |
    Allocation pools with ``start`` and ``end`` IP addresses
    for this subnet.
  in: body
  required: true
  type: array
subnet-allocation_pools-request:
  description: |
    Allocation pools with ``start`` and ``end`` IP addresses
    for this subnet. If allocation_pools are not specified, OpenStack
    Networking automatically allocates pools for covering all IP addresses
    in the CIDR, excluding the address reserved for the subnet gateway by
    default.
  in: body
  required: false
  type: array
subnet-created_at:
  description: |
    Time at which the subnet has been created.
  in: body
  required: true
  type: string
subnet-dns_nameservers:
  description: |
    List of dns name servers associated with the subnet.
  in: body
  required: true
  type: array
subnet-dns_nameservers-request:
  description: |
    List of dns name servers associated with the subnet. Default is an
    empty list.
  in: body
  required: false
  type: array
subnet-enable_dhcp:
  description: |
    Indicates whether dhcp is enabled or disabled
    for the subnet.
  in: body
  required: true
  type: boolean
subnet-enable_dhcp-request:
  description: |
    Indicates whether dhcp is enabled or disabled
    for the subnet. Default is ``true``.
  in: body
  required: false
  type: boolean
subnet-gateway_ip:
  description: |
    Gateway IP of this subnet. If the value is ``null`` that implies no
    gateway is associated with the subnet.
  in: body
  required: true
  type: string
subnet-gateway_ip-request:
  description: |
    Gateway IP of this subnet. If the value is ``null`` that implies no
    gateway is associated with the subnet. If the gateway_ip is not
    specified, OpenStack Networking allocates an address from the CIDR
    for the gateway for the subnet by default.
  in: body
  required: false
  type: string
subnet-host_routes:
  description: |
    Additional routes for the subnet. A list of dictionaries with
    ``destination`` and ``nexthop`` parameters.
  in: body
  required: true
  type: array
subnet-host_routes-request:
  description: |
    Additional routes for the subnet. A list of dictionaries with
    ``destination`` and ``nexthop`` parameters. Default value is
    an empty list.
  in: body
  required: false
  type: array
subnet-id-body:
  description: |
    The ID of the subnet.
  in: body
  required: true
  type: string
subnet-ip_version:
  description: |
    The IP protocol version. Value is ``4`` or ``6``.
  in: body
  required: true
  type: integer
subnet-ipv6_address_mode:
  description: |
    The IPv6 address modes specifies mechanisms for assigning IP addresses.
    Value is ``slaac``, ``dhcpv6-stateful``, ``dhcpv6-stateless`` or ``null``.
  in: body
  required: true
  type: string
subnet-ipv6_address_mode-request:
  description: |
    The IPv6 address modes specifies mechanisms for assigning IP addresses.
    Value is ``slaac``, ``dhcpv6-stateful``, ``dhcpv6-stateless``.
  in: body
  required: false
  type: string
subnet-ipv6_ra_mode:
  description: |
    The IPv6 router advertisement specifies whether the networking service
    should transmit ICMPv6 packets, for a subnet. Value is ``slaac``,
    ``dhcpv6-stateful``, ``dhcpv6-stateless`` or ``null``.
  in: body
  required: true
  type: string
subnet-ipv6_ra_mode-request:
  description: |
    The IPv6 router advertisement specifies whether the networking service
    should transmit ICMPv6 packets, for a subnet. Value is ``slaac``,
    ``dhcpv6-stateful``, ``dhcpv6-stateless``.
  in: body
  required: false
  type: string
subnet-name:
  description: |
    Human-readable name of the resource.
  in: body
  required: true
  type: string
subnet-name-request:
  description: |
    Human-readable name of the resource. Default is an empty string.
  in: body
  required: false
  type: string
subnet-name-update-request:
  description: |
    Human-readable name of the resource.
  in: body
  required: false
  type: string
subnet-network_id:
  description: |
    The ID of the network to which the subnet belongs.
  in: body
  required: true
  type: string
subnet-obj:
  description: |
    A ``subnet`` object.
  in: body
  required: true
  type: string
subnet-revision_number:
  description: |
    The revision number of the subnet.
  in: body
  required: true
  type: string
subnet-segment_id:
  description: |
    The ID of a network segment the subnet is associated with.
    It is available when ``segment`` extension is enabled.
  in: body
  required: true
  type: string
subnet-segment_id-request:
  description: |
    The ID of a network segment the subnet is associated with.
    It is available when ``segment`` extension is enabled.
  in: body
  required: false
  type: string
subnet-service_types:
  description: |
    The service types associated with the subnet.
  in: body
  required: true
  type: string
subnet-subnetpool_id:
  description: |
    The ID of the subnet pool associated with the subnet.
  in: body
  required: true
  type: string
subnet-subnetpool_id-request:
  description: |
    The ID of the subnet pool associated with the subnet.
  in: body
  required: false
  type: string
subnet-updated_at:
  description: |
    Time at which the subnet has been updated.
  in: body
  required: true
  type: string
subnet_id:
  description: |
    If you specify only a subnet UUID, OpenStack
    Networking allocates an available IP from that subnet to the port.
    If you specify both a subnet UUID and an IP address, OpenStack
    Networking tries to allocate the address to the port.
  in: body
  required: false
  type: string
subnet_ip_availability:
  description: |
    A list of dictionaries showing subnet IP availability.
    It contains information for every subnet associated to the network.
  in: body
  required: true
  type: array
subnet_name:
  description: |
    The name of the subnet.
  in: body
  required: true
  type: string
subnetpool:
  description: |
    A ``subnetpool`` object.
  in: body
  required: true
  type: object
subnetpool_id_body:
  description: |
    The ID of the subnet.
  in: body
  required: true
  type: string
subnetpool_is_default:
  description: |
    The subnetpool is default pool or not.
  in: body
  required: true
  type: boolean
subnetpool_revision_number:
  description: |
    The revision number of the subnetpool.
  in: body
  required: true
  type: string
subnetpool_updated_at:
  description: |
    Time at which subnetpool has been updated.
  in: body
  required: true
  type: string
subnetpools:
  description: |
    A list of ``subnetpool`` objects.
  in: body
  required: true
  type: array
subnets-obj:
  description: |
    A list of ``subnet`` objects.
  in: body
  required: true
  type: array
tags:
  description: |
    The list of tags on the resource.
  in: body
  required: true
  type: array
tenant_id:
  description: |
    The ID of the project that owns the resource.
  in: body
  required: false
  type: string
tenant_id-request:
  description: |
    The ID of the tenant who owns the resource.
    Only administrative users can specify a tenant ID other than their own.
    You cannot change this value through authorization policies.
  in: body
  required: false
  type: string
tenant_id_1:
  description: |
    The UUID of the tenant.
  in: body
  required: true
  type: string
tenant_id_10:
  description: |
    The UUID of the tenant who owns the load
    balancer. Only administrative users can specify a tenant UUID
    other than their own.
  in: body
  required: true
  type: string
tenant_id_11:
  description: |
    The UUID of the tenant who owns the member. Only
    administrative users can specify a tenant UUID other than their
    own.
  in: body
  required: true
  type: string
tenant_id_12:
  description: |
    The UUID of the tenant who owns the member. Only
    administrative users can specify a tenant UUID other than their
    own.
  in: body
  required: false
  type: string
tenant_id_13:
  description: |
    The tenant UUID for the metering label.
  in: body
  required: true
  type: string
tenant_id_15:
  description: |
    The tenant UUID of QoS policy owner. Only
    administrative users can specify a tenant UUID other than their
    own. You cannot change this value through authorization policies.
  in: body
  required: false
  type: string
tenant_id_16:
  description: |
    The UUID of the tenant who owns the pool. Only
    administrative users can specify a tenant UUID other than their
    own.
  in: body
  required: false
  type: string
tenant_id_17:
  description: |
    The UUID of the tenant who owns the security
    group rule. Only administrative users can specify a tenant UUID
    other than their own.
  in: body
  required: true
  type: string
tenant_id_18:
  description: |
    The UUID of the tenant who owns the security
    group. Only administrative users can specify a tenant UUID other
    than their own.
  in: body
  required: false
  type: string
tenant_id_19:
  description: |
    The UUID of the tenant who owns the subnet pool.
    Only administrative users can specify a tenant UUID other than
    their own. You cannot change this value through authorization
    policies.
  in: body
  required: false
  type: string
tenant_id_20:
  description: |
    The UUID of the tenant who owns the VIP. Only
    administrative users can specify a tenant UUID other than their
    own.
  in: body
  required: false
  type: string
tenant_id_21:
  description: |
    Owner of the VPN endpoint group. Only
    administrative users can specify a tenant UUID other than their
    own.
  in: body
  required: true
  type: string
tenant_id_22:
  description: |
    Owner of the VPN service. Only administrative
    users can specify a tenant UUID other than their own.
  in: body
  required: false
  type: string
tenant_id_23:
  description: |
    The UUID of the tenant who owns the firewall
    policy.
  in: body
  required: true
  type: string
tenant_id_24:
  description: |
    The UUID of the tenant who owns the firewall
    rule.
  in: body
  required: true
  type: string
tenant_id_25:
  description: |
    The UUID of the tenant who owns the health
    monitor. Only administrative users can specify a tenant UUID other
    than their own.
  in: body
  required: true
  type: string
tenant_id_26:
  description: |
    The owner of the VPN service. Only administrative
    users can specify a tenant UUID other than their own.
  in: body
  required: true
  type: string
tenant_id_27:
  description: |
    Owner of the VPN service. Only administrative
    users can specify a tenant UUID other than their own.
  in: body
  required: true
  type: string
tenant_id_28:
  description: |
    The UUID of the tenant who owns the VIP. Only
    administrative users can specify a tenant UUID other than their
    own.
  in: body
  required: true
  type: string
tenant_id_29:
  description: |
    The UUID of the tenant who owns the network.
  in: body
  required: true
  type: string
tenant_id_3:
  description: |
    The owner of the firewall service. Only
    administrative users can specify a tenant UUID other than their
    own.
  in: body
  required: true
  type: string
tenant_id_30:
  description: |
    The UUID of tenant or project.
  in: body
  required: true
  type: string
tenant_id_31:
  description: |
    The UUID of the tenant who owns the QoS policy.
  in: body
  required: true
  type: string
tenant_id_32:
  description: |
    The UUID of the tenant who owns the pool. Only
    administrative users can specify a tenant UUID other than their
    own.
  in: body
  required: true
  type: string
tenant_id_34:
  description: |
    The UUID of the tenant who owns the subnet pool.
  in: body
  required: true
  type: string
tenant_id_35:
  description: |
    The UUID of the tenant.
  in: body
  required: true
  type: string
tenant_id_36:
  description: |
    The owner of the firewall policy. Only
    administrative users can specify a tenant UUID other than their
    own.
  in: body
  required: false
  type: string
tenant_id_37:
  description: |
    The UUID of the tenant who owns the firewall
    rule. Only administrative users can specify a tenant UUID other
    than their own.
  in: body
  required: true
  type: string
tenant_id_4:
  description: |
    The UUID of the tenant. Only administrative users
    can specify a tenant UUID other than their own.
  in: body
  required: false
  type: string
tenant_id_5:
  description: |
    The UUID of the tenant who owns the health
    monitor. Only administrative users can specify a tenant UUID other
    than their own.
  in: body
  required: false
  type: string
tenant_id_6:
  description: |
    The owner of the IKE policy. Only administrative
    users can specify a tenant UUID other than their own.
  in: body
  required: true
  type: string
tenant_id_7:
  description: |
    Owner of the IPSec policy. Only administrative
    users can specify a tenant UUID other than their own.
  in: body
  required: true
  type: string
tenant_id_8:
  description: |
    Owner of the IPSec connection. Only
    administrative users can specify a tenant UUID other than their
    own.
  in: body
  required: true
  type: string
tenant_id_9:
  description: |
    The UUID of the tenant who owns the listener.
    Only administrative users can specify a tenant UUID other than
    their own.
  in: body
  required: true
  type: string
timeout:
  description: |
    The maximum time, in seconds, that a monitor
    waits to connect before it times out. This value must be less than
    the delay value.
  in: body
  required: true
  type: integer
total_ips:
  description: |
    The total number of IP addresses in a network.
  in: body
  required: true
  type: integer
transform_protocol:
  description: |
    The transform protocol. A valid value is ``ESP``,
    ``AH``, or ``AH- ESP``. Default is ``ESP``.
  in: body
  required: false
  type: string
trunk-status:
  description: |
    The status for the trunk. Possible values are  ``ACTIVE``,
    ``DOWN``, ``BUILD``, ``DEGRADED``, and ``ERROR``.
  in: body
  required: true
  type: string
trunk_details:
  description: |
    The details about the trunk.
  in: body
  required: false
  type: dict
trunk_port_id:
  description: |
    The ID of the parent port.
  in: body
  required: true
  type: string
type:
  description: |
    The type of probe sent by the load balancer to
    verify the member state. A valid value is ``PING``, ``TCP``,
    ``HTTP``, or ``HTTPS``.
  in: body
  required: true
  type: string
type_2:
  description: |
    The type of the endpoints in the group. A valid
    value is ``subnet``, ``cidr``, ``network``, ``router``, or
    ``vlan``.
  in: body
  required: true
  type: string
type_3:
  description: |
    The type of probe sent by the load balancer to
    verify the member state, which is ``PING``, ``TCP``, ``HTTP``, or
    ``HTTPS``.
  in: body
  required: true
  type: string
units:
  description: |
    The units for the lifetime of the security
    association. The lifetime consists of a unit and integer value.
    You can omit either the unit or value portion of the lifetime.
    Default unit is seconds and default value is 3600.
  in: body
  required: false
  type: string
updated:
  description: |
    The date and time stamp when the extension was
    last updated.
  in: body
  required: true
  type: string
updated_at:
  description: |
    Time at which port has been updated.
  in: body
  required: true
  type: string
updated_at_2:
  description: |
    Time at which subnetpool has been updated.
  in: body
  required: true
  type: string
updated_at_resource:
  description: |
    Time at which the resource has been updated (in UTC ISO8601 format).
  in: body
  required: true
  type: string
url_path:
  description: |
    The HTTP path of the request sent by the monitor
    to test the health of a member. A valid value is a string that
    begins with a forward slash (``/``).
  in: body
  required: false
  type: string
url_path-response:
  description: |
    The HTTP path of the request sent by the monitor
    to test the health of a member. Must be a string that begins with
    a forward slash (``/``). The default is ``/``.
  in: body
  required: true
  type: string
used_ips:
  description: |
    The number of used IP addresses of all subnets in
    a network.
  in: body
  required: true
  type: integer
value:
  description: |
    The lifetime value, as a positive integer. The
    lifetime consists of a unit and integer value. You can omit either
    the unit or value portion of the lifetime. Default unit is seconds
    and default value is 3600.
  in: body
  required: false
  type: integer
value_1:
  description: |
    The lifetime value, as a positive integer. The
    lifetime consists of a unit and integer value. You can omit either
    the unit or value portion of the lifetime. Default unit is seconds
    and default value is 3600.
  in: body
  required: true
  type: integer
version-href:
  description: |
    Link to the API.
  in: body
  required: true
  type: string
version-id:
  description: |
    Version of the API.
  in: body
  required: true
  type: string
version-links:
  description: |
    List of version links. Each link is a dict with 'href' and 'rel'.
  in: body
  required: true
  type: array
version-rel:
  description: |
    Relationship of link with the version.
  in: body
  required: true
  type: string
version-status:
  description: |
    Status of the API, which can be ``CURRENT``, ``STABLE`` or ``DEPRECATED``.
  in: body
  required: true
  type: string
versions:
  description: |
    List of versions.
  in: body
  required: true
  type: array
vip:
  description: |
    A ``vip`` object.
  in: body
  required: true
  type: object
vip-address:
  description: |
    The IP address of the VIP.
  format: ipv4
  in: body
  required: true
  type: string
vip-address-request:
  description: |
    The IP address of the VIP.
  format: ipv4
  in: body
  required: false
  type: string
vip-id:
  description: |
    The ID of the virtual IP (VIP) address.
  in: body
  required: true
  type: string
vip-pool_id:
  description: |
    The ID of the pool which the VIP belongs to.
  in: body
  required: true
  type: string
vip-pool_id-request:
  description: |
    The ID of the pool which the VIP belongs to.
  in: body
  required: false
  type: string
vip-port_id:
  description: |
    The ID of the VIP port.
  in: body
  required: true
  type: string
vip-protocol:
  description: |
    The protocol of the virtual IP (VIP) address. A
    valid value is ``TCP``, ``HTTP``, or ``HTTPS``.
  in: body
  required: true
  type: string
vip-session_persistence:
  description: |
    Session persistence parameters for the VIP. Omit
    the ``session_persistence`` parameter to prevent session
    persistence. When no session persistence is used, the
    ``session_persistence`` parameter does not appear in the API
    response.
  in: body
  required: true
  type: object
vip-session_persistence-request:
  description: |
    Session persistence parameters for the VIP. Omit
    the ``session_persistence`` parameter to prevent session
    persistence. When no session persistence is used, the
    ``session_persistence`` parameter does not appear in the API
    response. To clear session persistence for the VIP, set the
    ``session_persistence`` parameter to ``null`` in a VIP update
    request. The default is no session persistence.
  in: body
  required: false
  type: object
vip-status:
  description: |
    The status of the VIP. Indicates whether the VIP
    is operational.
  in: body
  required: true
  type: string
vip-subnet_id:
  description: |
    The ID of the subnet on which to allocate the
    virtual IP (VIP) address.
  in: body
  required: true
  type: string
vip_address:
  description: |
    The IP address of the VIP .
  format: ipv4
  in: body
  required: true
  type: string
vip_address-request:
  description: |
    The IP address of the VIP .
  format: ipv4
  in: body
  required: false
  type: string
vip_id:
  description: |
    The ID of the virtual IP (VIP) address.
  in: body
  required: true
  type: string
vip_network_id:
  description: |
    The ID of the network on which to allocate
    the virtual IP (VIP) address. This option is
    required if no vip_subnet_id is given.
  in: body
  required: false
  type: string
vip_subnet_id:
  description: |
    The ID of the subnet on which to allocate the
    virtual IP (VIP) address. This option is required
    if no vip_network_id is given.
  in: body
  required: false
  type: string
vips:
  description: |
    A list of ``vip`` objects.
  in: body
  required: true
  type: array
vlan_transparent:
  description: |
    Indicates the VLAN transparency mode of the network, which is
    VLAN transparent (``true``) or not VLAN transparent (``false``).
  in: body
  required: true
  type: boolean
vlan_transparent-request:
  description: |
    Indicates the VLAN transparency mode of the network, which is
    VLAN transparent (``true``) or not VLAN transparent (``false``).
  in: body
  required: false
  type: boolean
vpnservice:
  description: |
    A ``vpnservice`` object.
  in: body
  required: true
  type: object
vpnservice-status:
  description: |
    Indicates whether IPSec VPN service is currently
    operational. Values are ``ACTIVE``, ``DOWN``, ``BUILD``, ``ERROR``,
    ``PENDING_CREATE``, ``PENDING_UPDATE``, or ``PENDING_DELETE``.
  in: body
  required: true
  type: string
vpnservice_id-body-request:
  description: |
    The ID of the VPN service.
  in: body
  required: false
  type: string
vpnservice_id-body-response:
  description: |
    The ID of the VPN service.
  in: body
  required: true
  type: string
vpnservices:
  description: |
    A list of VPN service objects.
  in: body
  required: true
  type: array
