diff --git a/doc/source/cli/command-objects/address-scope.rst b/doc/source/cli/command-objects/address-scope.rst index 9155d09ed1..38141d5c97 100644 --- a/doc/source/cli/command-objects/address-scope.rst +++ b/doc/source/cli/command-objects/address-scope.rst @@ -7,143 +7,5 @@ to a given project and may be shared between projects. Network v2 -address scope create --------------------- - -Create new address scope - -.. program:: address scope create -.. code:: bash - - openstack address scope create - [--project <project> [--project-domain <project-domain>]] - [--ip-version <ip-version>] - [--share | --no-share] - <name> - -.. option:: --project <project> - - Owner's project (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --ip-version <ip-version> - - IP version (4 or 6, default is 4) - -.. option:: --share - - Share the address scope between projects - -.. option:: --no-share - - Do not share the address scope between projects (default) - -.. _address_scope_create-name: -.. describe:: <name> - - New address scope name - -address scope delete --------------------- - -Delete address scope(s) - -.. program:: address scope delete -.. code:: bash - - openstack address scope delete - <address-scope> [<address-scope> ...] - -.. _address_scope_delete-address-scope: -.. describe:: <address-scope> - - Address scope(s) to delete (name or ID) - -address scope list ------------------- - -List address scopes - -.. program:: address scope list -.. code:: bash - - openstack address scope list - [--name <name>] - [--ip-version <ip-version>] - [--project <project> [--project-domain <project-domain>]] - [--share | --no-share] - -.. option:: --name <name> - - List only address scopes of given name in output - -.. option:: --ip-version <ip-version> - - List address scopes of given IP version networks (4 or 6) - -.. option:: --project <project> - - List address scopes according to their project (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --share - - List address scopes shared between projects - -.. option:: --no-share - - List address scopes not shared between projects - -address scope set ------------------ - -Set address scope properties - -.. program:: address scope set -.. code:: bash - - openstack address scope set - [--name <name>] - [--share | --no-share] - <address-scope> - -.. option:: --name <name> - - Set address scope name - -.. option:: --share - - Share the address scope between projects - -.. option:: --no-share - - Do not share the address scope between projects - -.. _address_scope_set-address-scope: -.. describe:: <address-scope> - - Address scope to modify (name or ID) - -address scope show ------------------- - -Display address scope details - -.. program:: address scope show -.. code:: bash - - openstack address scope show - <address-scope> - -.. _address_scope_show-address-scope: -.. describe:: <address-scope> - - Address scope to display (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: address scope * diff --git a/doc/source/cli/command-objects/floating-ip-pool.rst b/doc/source/cli/command-objects/floating-ip-pool.rst index 5c8f3aa13d..ab6f83a993 100644 --- a/doc/source/cli/command-objects/floating-ip-pool.rst +++ b/doc/source/cli/command-objects/floating-ip-pool.rst @@ -4,12 +4,5 @@ floating ip pool Network v2 -floating ip pool list ---------------------- - -List pools of floating IP addresses - -.. program:: floating ip pool list -.. code:: bash - - openstack floating ip pool list +.. autoprogram-cliff:: openstack.network.v2 + :command: floating ip pool * diff --git a/doc/source/cli/command-objects/floating-ip-port-forwarding.rst b/doc/source/cli/command-objects/floating-ip-port-forwarding.rst index 5012787aaf..052ea0cc7f 100644 --- a/doc/source/cli/command-objects/floating-ip-port-forwarding.rst +++ b/doc/source/cli/command-objects/floating-ip-port-forwarding.rst @@ -4,170 +4,6 @@ floating ip port forwarding Network v2 -floating ip port forwarding create ----------------------------------- +.. autoprogram-cliff:: openstack.network.v2 + :command: floating ip port forwarding * -Create floating IP Port Forwarding - -.. program:: floating ip port forwarding create -.. code:: bash - - openstack floating ip port forwarding create - --internal-ip-address <internal-ip-address> - --port <port> - --internal-protocol-port <port-number> - --external-protocol-port <port-number> - --protocol <protocol> - <floating-ip> - - -.. describe:: --internal-ip-address <internal-ip-address> - - The fixed IPv4 address of the network port associated - to the floating IP port forwarding - -.. describe:: --port <port> - - The name or ID of the network port associated to the - floating IP port forwarding - -.. describe:: --internal-protocol-port <port-number> - - The protocol port number of the network port fixed - IPv4 address associated to the floating IP port - forwarding - -.. describe:: --external-protocol-port <port-number> - - The protocol port number of the port forwarding's - floating IP address - -.. describe:: --protocol <protocol> - - The protocol used in the floating IP port forwarding, - for instance: TCP, UDP - -.. describe:: <floating-ip> - - Floating IP that the port forwarding belongs to (IP - address or ID) - -floating ip port forwarding delete ----------------------------------- - -Delete floating IP Port Forwarding(s) - -.. program:: floating ip port forwarding delete -.. code:: bash - - openstack floating ip port forwarding delete <floating-ip> - <port-forwarding-id> [<port-forwarding-id> ...] - -.. describe:: <floating-ip> - - Floating IP that the port forwarding belongs to (IP - address or ID) - -.. describe:: <port-forwarding-id> - - The ID of the floating IP port forwarding - -floating ip port forwarding list --------------------------------- - -List floating IP Port Forwarding(s) - -.. program:: floating ip port forwarding list -.. code:: bash - - openstack floating ip port forwarding list - [--port <port>] - [--external-protocol-port <port-number>] - [--protocol protocol] - <floating-ip> - -.. option:: --port <port> - - The ID of the network port associated to the floating - IP port forwarding - -.. option:: --protocol <protocol> - - The IP protocol used in the floating IP port - forwarding - -.. describe:: <floating-ip> - - Floating IP that the port forwarding belongs to (IP - address or ID) - -floating ip port forwarding set -------------------------------- - -Set floating IP Port Forwarding properties - -.. program:: floating ip port forwarding set -.. code:: bash - - openstack floating ip port forwarding set - [--port <port>] - [--internal-ip-address <internal-ip-address>] - [--internal-protocol-port <port-number>] - [--external-protocol-port <port-number>] - [--protocol <protocol>] - <floating-ip> - <port-forwarding-id> - -.. option:: --port <port> - - The ID of the network port associated to the floating - IP port forwarding - -.. option:: --internal-ip-address <internal-ip-address> - - The fixed IPv4 address of the network port associated - to the floating IP port forwarding - -.. option:: --internal-protocol-port <port-number> - - The TCP/UDP/other protocol port number of the network - port fixed IPv4 address associated to the floating IP - port forwarding - -.. option:: --external-protocol-port <port-number> - - The TCP/UDP/other protocol port number of the port - forwarding's floating IP address - -.. option:: --protocol <protocol> - - The IP protocol used in the floating IP port - forwarding - -.. describe:: <floating-ip> - - Floating IP that the port forwarding belongs to (IP - address or ID) - -.. describe:: <port-forwarding-id> - - The ID of the floating IP port forwarding - -floating ip port forwarding show --------------------------------- - -Display floating IP Port Forwarding details - -.. program:: floating ip port forwarding show -.. code:: bash - - openstack floating ip show <floating-ip> <port-forwarding-id> - -.. describe:: <floating-ip> - - Floating IP that the port forwarding belongs to (IP - address or ID) - -.. describe:: <port-forwarding-id> - - The ID of the floating IP port forwarding diff --git a/doc/source/cli/command-objects/floating-ip.rst b/doc/source/cli/command-objects/floating-ip.rst index d122ccbea3..c781a1edb4 100644 --- a/doc/source/cli/command-objects/floating-ip.rst +++ b/doc/source/cli/command-objects/floating-ip.rst @@ -4,298 +4,23 @@ floating ip Network v2 -floating ip create ------------------- +.. NOTE(efried): have to list these out one by one; 'floating ip' pulls in + ... pool and ... port forwarding. -Create floating IP +.. autoprogram-cliff:: openstack.network.v2 + :command: floating ip create -.. program:: floating ip create -.. code:: bash +.. autoprogram-cliff:: openstack.network.v2 + :command: floating ip delete - openstack floating ip create - [--subnet <subnet>] - [--port <port>] - [--floating-ip-address <ip-address>] - [--fixed-ip-address <ip-address>] - [--description <description>] - [--qos-policy <qos-policy>] - [--project <project> [--project-domain <project-domain>]] - [--tag <tag> | --no-tag] - [--dns-domain <dns-domain>] - [--dns-name <dns-name>] - <network> +.. autoprogram-cliff:: openstack.network.v2 + :command: floating ip list -.. option:: --subnet <subnet> +.. autoprogram-cliff:: openstack.network.v2 + :command: floating ip set - Subnet on which you want to create the floating IP (name or ID) - *Network version 2 only* +.. autoprogram-cliff:: openstack.network.v2 + :command: floating ip show -.. option:: --port <port> - - Port to be associated with the floating IP (name or ID) - *Network version 2 only* - -.. option:: --floating-ip-address <ip-address> - - Floating IP address - *Network version 2 only* - -.. option:: --fixed-ip-address <ip-address> - - Fixed IP address mapped to the floating IP - *Network version 2 only* - -.. option:: --description <description> - - Set floating IP description - *Network version 2 only* - -.. option:: --qos-policy <qos-policy> - - QoS policy to attach to the floating IP (name or ID) - - *Network version 2 only* - -.. option:: --project <project> - - Owner's project (name or ID) - - *Network version 2 only* - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - *Network version 2 only* - -.. option:: --tag <tag> - - Tag to be added to the floating IP (repeat option to set multiple tags) - - *Network version 2 only* - -.. option:: --no-tag - - No tags associated with the floating IP - - *Network version 2 only* - -.. option:: --dns-domain <dns-domain> - - Set DNS domain for this floating IP (requires DNS integration extension). - -.. option:: --dns-name <dns-name> - - Set DNS name for this floating IP (requires DNS integration extension). - -.. describe:: <network> - - Network to allocate floating IP from (name or ID) - -floating ip delete ------------------- - -Delete floating IP(s) - -.. program:: floating ip delete -.. code:: bash - - openstack floating ip delete <floating-ip> [<floating-ip> ...] - -.. describe:: <floating-ip> - - Floating IP(s) to delete (IP address or ID) - -floating ip list ----------------- - -List floating IP(s) - -.. program:: floating ip list -.. code:: bash - - openstack floating ip list - [--network <network>] - [--port <port>] - [--fixed-ip-address <ip-address>] - [--long] - [--status <status>] - [--project <project> [--project-domain <project-domain>]] - [--router <router>] - [--tags <tag>[,<tag>,...]] [--any-tags <tag>[,<tag>,...]] - [--not-tags <tag>[,<tag>,...]] [--not-any-tags <tag>[,<tag>,...]] - -.. option:: --network <network> - - List floating IP(s) according to given network (name or ID) - - *Network version 2 only* - -.. option:: --port <port> - - List floating IP(s) according to given port (name or ID) - - *Network version 2 only* - -.. option:: --fixed-ip-address <ip-address> - - List floating IP(s) according to given fixed IP address - - *Network version 2 only* - -.. option:: --floating-ip-address <ip-address> - - List floating IP(s) according to given floating IP address - - *Network version 2 only* - -.. option:: --long - - List additional fields in output - - *Network version 2 only* - -.. option:: --status <status> - - List floating IP(s) according to given status ('ACTIVE', 'DOWN') - - *Network version 2 only* - -.. option:: --project <project> - - List floating IP(s) according to given project (name or ID) - - *Network version 2 only* - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). This can - be used in case collisions between project names exist. - - *Network version 2 only* - -.. option:: --router <router> - - List floating IP(s) according to given router (name or ID) - - *Network version 2 only* - -.. option:: --tags <tag>[,<tag>,...] - - List floating IP(s) which have all given tag(s) - - *Network version 2 only* - -.. option:: --any-tags <tag>[,<tag>,...] - - List floating IP(s) which have any given tag(s) - - *Network version 2 only* - -.. option:: --not-tags <tag>[,<tag>,...] - - Exclude floating IP(s) which have all given tag(s) - - *Network version 2 only* - -.. option:: --not-any-tags <tag>[,<tag>,...] - - Exclude floating IP(s) which have any given tag(s) - - *Network version 2 only* - -floating ip set ---------------- - -Set floating IP properties - -.. program:: floating ip set -.. code:: bash - - openstack floating ip set - [--port <port>] - [--fixed-ip-address <ip-address>] - [--qos-policy <qos-policy> | --no-qos-policy] - [--tag <tag>] [--no-tag] - <floating-ip> - -.. option:: --port <port> - - Associate the floating IP with port (name or ID) - -.. option:: --fixed-ip-address <ip-address> - - Fixed IP of the port (required only if port has multiple IPs) - -.. option:: --qos-policy <qos-policy> - - Attach QoS policy to the floating IP (name or ID) - -.. option:: --no-qos-policy - - Remove the QoS policy attached to the floating IP - -.. option:: --tag <tag> - - Tag to be added to the floating IP (repeat option to set multiple tags) - -.. option:: --no-tag - - Clear tags associated with the floating IP. Specify both --tag - and --no-tag to overwrite current tags - -.. _floating_ip_set-floating-ip: -.. describe:: <floating-ip> - - Floating IP to associate (IP address or ID) - -floating ip show ----------------- - -Display floating IP details - -.. program:: floating ip show -.. code:: bash - - openstack floating ip show <floating-ip> - -.. describe:: <floating-ip> - - Floating IP to display (IP address or ID) - -floating ip unset ------------------ - -Unset floating IP Properties - -.. program:: floating ip unset -.. code:: bash - - openstack floating ip unset - [--port] - [--qos-policy] - [--tag <tag> | --all-tag] - <floating-ip> - -.. option:: --port - - Disassociate any port associated with the floating IP - -.. option:: --qos-policy - - Remove the QoS policy attached to the floating IP - -.. option:: --tag <tag> - - Tag to be removed from the floating IP - (repeat option to remove multiple tags) - -.. option:: --all-tag - - Clear all tags associated with the floating IP - -.. _floating_ip_unset-floating-ip: -.. describe:: <floating-ip> - - Floating IP to disassociate (IP address or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: floating ip unset diff --git a/doc/source/cli/command-objects/ip-availability.rst b/doc/source/cli/command-objects/ip-availability.rst index dd39e649fe..94e60459b1 100644 --- a/doc/source/cli/command-objects/ip-availability.rst +++ b/doc/source/cli/command-objects/ip-availability.rst @@ -4,57 +4,5 @@ ip availability Network v2 -ip availability list --------------------- - -List IP availability for network - -This command retrieves information about IP availability. -Useful for admins who need a quick way to check the -IP availability for all associated networks. -List specifically returns total IP capacity and the -number of allocated IP addresses from that pool. - -.. program:: ip availability list -.. code:: bash - - openstack ip availability list - [--ip-version {4,6}] - [--project <project>] - -.. option:: --ip-version {4,6} - - List IP availability of given IP version networks - (default is 4) - -.. option:: --project <project> - - List IP availability of given project - (name or ID) - -ip availability show --------------------- - -Show network IP availability details - -This command retrieves information about IP availability. -Useful for admins who need a quick way to -check the IP availability and details for a -specific network. - -This command will return information about -IP availability for the network as a whole, and -return availability information for each individual -subnet within the network as well. - - -.. program:: ip availability show -.. code:: bash - - openstack ip availability show - <network> - -.. _ip_availability_show-network: -.. describe:: <network> - - Show IP availability for a specific network (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: ip availability * diff --git a/doc/source/cli/command-objects/network-agent.rst b/doc/source/cli/command-objects/network-agent.rst index 9f02cb6bc8..7e721db1ea 100644 --- a/doc/source/cli/command-objects/network-agent.rst +++ b/doc/source/cli/command-objects/network-agent.rst @@ -10,207 +10,5 @@ agent is "True". Network v2 -network agent add network -------------------------- - -Add network to an agent - -.. program:: network agent add network -.. code:: bash - - openstack network agent add network - [--dhcp] - <agent-id> - <network> - -.. option:: --dhcp - - Add a network to DHCP agent - -.. describe:: <agent-id> - - Agent to which a network is added (ID only) - -.. describe:: <network> - - Network to be added to an agent (name or ID) - -network agent add router ------------------------- - -Add router to an agent - -.. program:: network agent add router -.. code:: bash - - openstack network agent add router - [--l3] - <agent-id> - <router> - -.. option:: --l3 - - Add router to an L3 agent - -.. _network_agent_add_router-agent-id: -.. describe:: <agent-id> - - Agent to which a router is added (ID only) - -.. _network_agent_add_router-router: -.. describe:: <router> - - Router to be added to an agent (name or ID) - -network agent delete --------------------- - -Delete network agent(s) - -.. program:: network agent delete -.. code:: bash - - openstack network agent delete - <network-agent> [<network-agent> ...] - -.. _network_agent_delete-network-agent: -.. describe:: <network-agent> - - Network agent(s) to delete (ID only) - -network agent list ------------------- - -List network agents - -.. program:: network agent list -.. code:: bash - - openstack network agent list - [--agent-type <agent-type>] - [--host <host>] - [--network <network> | --router <router>] - [--long] - -.. option:: --agent-type <agent-type> - - List only agents with the specified agent type. - The supported agent types are: dhcp, open-vswitch, - linux-bridge, ofa, l3, loadbalancer, metering, - metadata, macvtap, nic. - -.. option:: --host <host> - - List only agents running on the specified host - -.. option:: --network <network> - - List agents hosting a network (name or ID) - -.. option:: --router <router> - - List agents hosting this router (name or ID) - -.. option:: --long - - List additional fields in output - -network agent remove network ----------------------------- - -Remove network from an agent - -.. program:: network agent remove network -.. code:: bash - - openstack network agent remove network - [--dhcp] - <agent-id> - <network> - -.. option:: --dhcp - - Remove network from DHCP agent - -.. _network_agent_remove_network-agent-id: -.. describe:: <agent-id> - - Agent to which a network is removed (ID only) - -.. _network_agent_remove_network-network: -.. describe:: <network> - - Network to be removed from an agent (name or ID) - -network agent remove router ---------------------------- - -Remove router from an agent - -.. program:: network agent remove router -.. code:: bash - - openstack agent remove router - [--l3] - <agent-id> - <router> - -.. option:: --l3 - - Remove router from an L3 agent - -.. _network_agent_remove_router-agent-id: -.. describe:: <agent-id> - - Agent from which router will be removed (ID only) - -.. _network_agent_remove_router-router: -.. describe:: <router> - - Router to be removed from an agent (name or ID) - -network agent set ------------------ - -Set network agent properties - -.. program:: network agent set -.. code:: bash - - openstack network agent set - [--description <description>] - [--enable | --disable] - <network-agent> - -.. option:: --description <description> - - Set network agent description - -.. option:: --enable - - Enable network agent - -.. option:: --disable - - Disable network agent - -.. _network_agent_set-network-agent: -.. describe:: <network-agent> - - Network agent to modify (ID only) - -network agent show ------------------- - -Display network agent details - -.. program:: network agent show -.. code:: bash - - openstack network agent show - <network-agent> - -.. _network_agent_show-network-agent: -.. describe:: <network-agent> - - Network agent to display (ID only) +.. autoprogram-cliff:: openstack.network.v2 + :command: network agent * diff --git a/doc/source/cli/command-objects/network-auto-allocated-topology.rst b/doc/source/cli/command-objects/network-auto-allocated-topology.rst index 4ed68cdae9..00e4c6b9bc 100644 --- a/doc/source/cli/command-objects/network-auto-allocated-topology.rst +++ b/doc/source/cli/command-objects/network-auto-allocated-topology.rst @@ -10,60 +10,5 @@ http://docs.openstack.org/newton/networking-guide/config-auto-allocation.html Network v2 -network auto allocated topology create --------------------------------------- - -Create the auto allocated topology for project - -.. program:: network auto allocated topology create -.. code:: bash - - openstack network auto allocated topology create - [--or-show] - [--check-resources] - [--project <project> [--project-domain <project-domain>]] - -.. option:: --or-show - - If topology exists returns the topologies information (Default). - -.. option:: --check-resources - - Validate the requirements for auto allocated topology. - Does not return a topology. - -.. option:: --project <project> - - Return the auto allocated topology for a given project. - Default is current project. - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. _network_auto_allocated_topology_create: - - -network auto allocated topology delete --------------------------------------- - -Delete auto allocated topology for project - -.. program:: network auto allocated topology delete -.. code:: bash - - openstack network auto allocated topology delete - [--project <project> [--project-domain <project-domain>]] - -.. option:: --project <project> - - Delete auto allocated topology for a given project. - Default is the current project. - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. _network_auto_allocated_topology_delete: +.. autoprogram-cliff:: openstack.network.v2 + :command: network auto allocated topology * diff --git a/doc/source/cli/command-objects/network-flavor-profile.rst b/doc/source/cli/command-objects/network-flavor-profile.rst index fdb95059b8..c5e9aa0c13 100644 --- a/doc/source/cli/command-objects/network-flavor-profile.rst +++ b/doc/source/cli/command-objects/network-flavor-profile.rst @@ -11,135 +11,5 @@ operators to create user options according to deployment needs. Network v2 -network flavor profile create ------------------------------ - -Create a new network flavor profile - -.. program:: network flavor profile create -.. code:: bash - - openstack network flavor profile create - [--project <project> [--project-domain <project-domain>]] - [--description <description>] - [--enable | --disable] - (--driver <driver> | --metainfo <metainfo> | --driver <driver> --metainfo <metainfo>) - -.. option:: --project <project> - - Owner's project (name or ID) - - *Network version 2 only* - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). This can - be used in case collisions between project names - exist - -.. option:: --description <description> - - Description for the flavor profile - - *Network version 2 only* - -.. option:: --enable - - Enable the flavor profile (default) - -.. option:: --disable - - Disable the flavor profile - -.. option:: --driver <driver> - - Python module path to driver - - *Network version 2 only* - -.. option:: --metainfo <metainfo> - - Metainfo for the flavor profile - - *Network version 2 only* - - -network flavor profile delete ------------------------------ - -Delete network flavor profile - -.. program:: network flavor profile delete -.. code:: bash - - openstack network flavor profile delete - <flavor-profile-id> [<flavor-profile-id> ...] - -.. describe:: <flavor-profile-id> - - Flavor profile(s) to delete (ID only) - -network flavor profile list ---------------------------- - -List network flavor profiles - -.. program:: network flavor profile list -.. code:: bash - - openstack network flavor profile list - -network flavor profile set --------------------------- - -Set network flavor profile properties - -.. program:: network flavor profile set -.. code:: bash - - openstack network flavor profile set - [--description <description>] - [--driver <driver>] - [--enable | --disable] - [--metainfo <metainfo>] - <flavor-profile-id> - - -.. option:: --description <description> - - Description of the flavor profile - -.. option:: --driver <driver> - - Python module path to driver - -.. option:: --enable (Default) - - Enable the flavor profile - -.. option:: --disable - - Disable the flavor profile - -.. option:: --metainfo <metainfo> - - Metainfo for the flavor profile - -.. describe:: <flavor-profile-id> - - Flavor profile to update (ID only) - -network flavor profile show ---------------------------- - -Show network flavor profile - -.. program:: network flavor profile show -.. code:: bash - - openstack network flavor profile show - <flavor-profile-id> - -.. describe:: <flavor-profile-id> - - Flavor profile to display (ID only) +.. autoprogram-cliff:: openstack.network.v2 + :command: network flavor profile * diff --git a/doc/source/cli/command-objects/network-flavor.rst b/doc/source/cli/command-objects/network-flavor.rst index 2d23bf056a..6fe7504a0d 100644 --- a/doc/source/cli/command-objects/network-flavor.rst +++ b/doc/source/cli/command-objects/network-flavor.rst @@ -8,176 +8,26 @@ service flavors. Network v2 -network flavor add profile --------------------------- +.. NOTE(efried): have to list these out one by one; 'network flavor' pulls in + ... profile *. -Add network flavor to service profile +.. autoprogram-cliff:: openstack.network.v2 + :command: network flavor add profile -.. program:: network flavor add profile -.. code:: bash +.. autoprogram-cliff:: openstack.network.v2 + :command: network flavor create - openstack network flavor add profile - <flavor> - <service-profile-id> +.. autoprogram-cliff:: openstack.network.v2 + :command: network flavor delete -.. describe:: <flavor> +.. autoprogram-cliff:: openstack.network.v2 + :command: network flavor list - Flavor to which service profile is added. (Name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: network flavor remove profile -.. describe:: <service-profile-id> +.. autoprogram-cliff:: openstack.network.v2 + :command: network flavor set - Service profile to be added to flavor. (ID only) - -.. _network_flavor_add_profile: - -network flavor create ---------------------- - -Create network flavor - -.. program:: network flavor create -.. code:: bash - - openstack network flavor create - --service-type <service-type> - [--description <description>] - [--enable | --disable] - [--project <project> [--project-domain <project-domain>]] - <name> - -.. option:: --service-type <service-type> - - Service type to which the flavor applies to: e.g. VPN. - (See openstack :ref:`\<service providers\> <network_service_provider_list>`) (required) - -.. option:: --description <description> - - Description for the flavor - -.. option:: --enable - - Enable the flavor (default) - -.. option:: --disable - - Disable the flavor - -.. option:: --project <project> - - Owner's project (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). This can - be used in case collisions between project names - exist. - -.. describe:: <name> - - Name for the flavor - -.. _network_flavor_create: - -network flavor delete ---------------------- - -Delete network flavor(s) - -.. program:: network flavor delete -.. code:: bash - - openstack network flavor delete - <flavor> [<flavor> ...] - -.. describe:: <flavor> - - Flavor(s) to delete (name or ID) - -.. _network_flavor_delete: - -network flavor list -------------------- - -List network flavors - -.. program:: network flavor list -.. code:: bash - - openstack network flavor list - -.. _network_flavor_list: - -network flavor remove profile ------------------------------ - -Remove network flavor from service profile - -.. program:: network flavor remove profile -.. code:: bash - - openstack network flavor remove profile - <flavor> - <service-profile-id> - -.. describe:: <flavor> - - Flavor from which service profile is removed. (Name or ID) - -.. describe:: <service-profile-id> - - Service profile to be removed from flavor. (ID only) - -.. _network_flavor_remove_profile: - -network flavor set ------------------- - -Set network flavor properties - -.. program:: network flavor set -.. code:: bash - - openstack network flavor set - [--name <name>] - [--description <description>] - [--enable | --disable] - <flavor> - -.. option:: --name <name> - - Set flavor name - -.. option:: --description <description> - - Set network flavor description - -.. option:: --enable - - Enable network flavor - -.. option:: --disable - - Disable network flavor - -.. describe:: <flavor> - - Flavor to update (name or ID) - -.. _network_flavor_set: - -network flavor show -------------------- - -Show network flavor - -.. program:: network flavor show -.. code:: bash - - openstack network flavor show - <flavor> - -.. describe:: <flavor> - - Flavor to display (name or ID) - -.. _network_flavor_show: +.. autoprogram-cliff:: openstack.network.v2 + :command: network flavor show diff --git a/doc/source/cli/command-objects/network-meter-rule.rst b/doc/source/cli/command-objects/network-meter-rule.rst index 22d50aa907..616c4bc516 100644 --- a/doc/source/cli/command-objects/network-meter-rule.rst +++ b/doc/source/cli/command-objects/network-meter-rule.rst @@ -9,93 +9,5 @@ metering extension. Network v2 -network meter rule create -------------------------- - -Create meter rule - -.. program:: network meter rule create -.. code:: bash - - openstack network meter rule create - --remote-ip-prefix <remote-ip-prefix> - [--ingress | --egress] - [--exclude | --include] - [--project <project> [--project-domain <project-domain>]] - <meter> - -.. option:: --project <project> - - Owner's project (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name of ID). - This can be used in case collisions between project names exist. - -.. option:: --ingress - - Rule is applied to incoming traffic (default) - -.. option:: --egress - - Rule is applied to outgoing traffic - -.. option:: --exclude - - Exclude remote_ip_prefix from count of the traffic of IP addresses - -.. option:: --include - - Include remote_ip_prefix into count of the traffic of IP addresses - (default) - -.. option:: --remote-ip-prefix <remote-ip-prefix> - - The remote IP prefix to associate with this metering rule packet - -.. _network_meter_rule_create: -.. describe:: <meter> - - Meter to associate with this meter rule (name or ID) - - -network meter rule delete -------------------------- - -Delete meter rule(s) - -.. program:: network meter rule delete -.. code:: bash - - openstack network meter rule delete <id> [<id> ...] - -.. _network_meter_rule_delete: -.. describe:: <meter-rule-id> - - ID of meter rule(s) to delete - -network meter rule list ------------------------ - -List meter rules - -.. program:: network meter rule list -.. code:: bash - - openstack network meter rule list - -network meter rule show ------------------------ - -Show meter rule - -.. program:: network meter rule show -.. code:: bash - - openstack network meter rule show <meter-rule-id> - -.. _network_meter_show: -.. describe:: <meter-rule-id> - - Meter rule to display (ID only) +.. autoprogram-cliff:: openstack.network.v2 + :command: network meter rule * diff --git a/doc/source/cli/command-objects/network-meter.rst b/doc/source/cli/command-objects/network-meter.rst index 6077ce9226..5752e6f419 100644 --- a/doc/source/cli/command-objects/network-meter.rst +++ b/doc/source/cli/command-objects/network-meter.rst @@ -8,84 +8,17 @@ are specific to the L3 metering extension. Network v2 -network meter create --------------------- +.. NOTE(efried): have to list these out one by one; 'network meter *' pulls in + ... rule *. -Create network meter +.. autoprogram-cliff:: openstack.network.v2 + :command: network meter create -.. program:: network meter create -.. code:: bash +.. autoprogram-cliff:: openstack.network.v2 + :command: network meter delete - openstack network meter create - [--project <project> [--project-domain <project-domain>]] - [--description <description>] - [--share | --no-share] - <name> +.. autoprogram-cliff:: openstack.network.v2 + :command: network meter list -.. option:: --project <project> - - Owner's project (name of ID) - - *Network version 2 only* - -.. option:: --description <description> - - Description of meter - - *Network version 2 only* - -.. option:: --share - - Share the meter between projects - -.. option:: --no-share - - Do not share the meter between projects (Default) - -.. _network_meter_create: -.. describe:: <name> - - New meter name - -network meter delete --------------------- - -Delete network meter(s) - -.. program:: network meter delete -.. code:: bash - - openstack network meter delete - <meter> [<meter> ...] - -.. _network_meter_delete: -.. describe:: <meter> - - Meter(s) to delete (name or ID) - -network meter list ------------------- - -List network meters - -.. program:: network meter list -.. code:: bash - - openstack network meter list - - -network meter show ------------------- - -Show network meter - -.. program:: network meter show -.. code:: bash - - openstack network meter show - <meter> - -.. _network_meter_show: -.. describe:: <meter> - - Meter to display (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: network meter show diff --git a/doc/source/cli/command-objects/network-qos-policy.rst b/doc/source/cli/command-objects/network-qos-policy.rst index 2e86f8f3ac..af7a104070 100644 --- a/doc/source/cli/command-objects/network-qos-policy.rst +++ b/doc/source/cli/command-objects/network-qos-policy.rst @@ -7,157 +7,5 @@ network or a port. Network v2 -network qos policy create -------------------------- - -Create new Network QoS policy - -.. program:: network qos policy create -.. code:: bash - - openstack network qos policy create - [--description <description>] - [--share | --no-share] - [--project <project>] - [--project-domain <project-domain>] - [--default | --no-default] - <name> - -.. option:: --description <description> - - Description of the QoS policy - -.. option:: --share - - Make the QoS policy accessible by other projects - -.. option:: --no-share - - Make the QoS policy not accessible by other projects (default) - -.. option:: --project <project> - - Owner's project (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --default - - Set this as a default network QoS policy - -.. option:: --no-default - - Set this as a non-default network QoS policy - -.. _network_qos_policy_create-name: -.. describe:: <name> - - New QoS policy specification name - -network qos policy delete -------------------------- - -Delete Network QoS policy - -.. program:: network qos policy delete -.. code:: bash - - openstack network qos policy delete - <qos-policy> [<qos-policy> ...] - -.. _network_qos_policy_delete-qos-policy: -.. describe:: <qos-policy> - - Network QoS policy(s) to delete (name or ID) - -network qos policy list ------------------------ - -List Network QoS policies - -.. program:: network qos policy list -.. code:: bash - - openstack network qos policy list - [--project <project> [--project-domain <project-domain>]] - [--share | --no-share] - -.. option:: --project <project> - - List qos policies according to their project (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --share - - List qos policies shared between projects - -.. option:: --no-share - - List qos policies not shared between projects - -network qos policy set ----------------------- - -Set Network QoS policy properties - -.. program:: network qos policy set -.. code:: bash - - openstack network qos policy set - [--name <name>] - [--description <description>] - [--share | --no-share] - [--default | --no-default] - <qos-policy> - -.. option:: --name <name> - - Name of the QoS policy - -.. option:: --description <description> - - Description of the QoS policy - -.. option:: --share - - Make the QoS policy accessible by other projects - -.. option:: --no-share - - Make the QoS policy not accessible by other projects - -.. option:: --default - - Set this as a default network QoS policy - -.. option:: --no-default - - Set this as a non-default network QoS policy - -.. _network_qos_policy_set-qos-policy: -.. describe:: <qos-policy> - - Network QoS policy to modify (name or ID) - -network qos policy show ------------------------ - -Display Network QoS policy details - -.. program:: network qos policy show -.. code:: bash - - openstack network qos policy show - <qos-policy> - -.. _network_qos_policy_show-qos-policy: -.. describe:: <qos-policy> - - Network QoS policy to display (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: network qos policy * diff --git a/doc/source/cli/command-objects/network-qos-rule-type.rst b/doc/source/cli/command-objects/network-qos-rule-type.rst index de6f2474af..197a86002f 100644 --- a/doc/source/cli/command-objects/network-qos-rule-type.rst +++ b/doc/source/cli/command-objects/network-qos-rule-type.rst @@ -7,27 +7,5 @@ used. Network v2 -network qos rule type list --------------------------- - -List Network QoS rule types - -.. program:: network qos rule type list -.. code:: bash - - openstack network qos rule type list - -network qos rule type show --------------------------- - -Display Network QoS rule type details - -.. program:: network qos rule type show -.. code:: bash - - openstack network qos rule type show - <rule-type-name> - -.. describe:: <rule-type-name> - - Name of QoS rule type (minimum-bandwidth, dscp-marking, bandwidth-limit) +.. autoprogram-cliff:: openstack.network.v2 + :command: network qos rule type * diff --git a/doc/source/cli/command-objects/network-qos-rule.rst b/doc/source/cli/command-objects/network-qos-rule.rst index 1baf5dbfeb..8b715c03ab 100644 --- a/doc/source/cli/command-objects/network-qos-rule.rst +++ b/doc/source/cli/command-objects/network-qos-rule.rst @@ -9,157 +9,20 @@ rules, each of them Network v2 -network qos rule create ------------------------ +.. NOTE(efried): have to list these out one by one; 'network qos rule *' pulls + network qos rule type *. -Create new Network QoS rule +.. autoprogram-cliff:: openstack.network.v2 + :command: network qos rule create -.. program:: network qos rule create -.. code:: bash +.. autoprogram-cliff:: openstack.network.v2 + :command: network qos rule delete - openstack network qos rule create - --type <type> - [--max-kbps <max-kbps>] - [--max-burst-kbits <max-burst-kbits>] - [--dscp-marks <dscp-marks>] - [--min-kbps <min-kbps>] - [--ingress | --egress] - <qos-policy> +.. autoprogram-cliff:: openstack.network.v2 + :command: network qos rule list -.. option:: --type <type> +.. autoprogram-cliff:: openstack.network.v2 + :command: network qos rule set - QoS rule type (minimum-bandwidth, dscp-marking, bandwidth-limit) - -.. option:: --max-kbps <min-kbps> - - Maximum bandwidth in kbps - -.. option:: --max-burst-kbits <max-burst-kbits> - - Maximum burst in kilobits, 0 means automatic - -.. option:: --dscp-mark <dscp-mark> - - DSCP mark: value can be 0, even numbers from 8-56, excluding 42, 44, 50, - 52, and 54 - -.. option:: --min-kbps <min-kbps> - - Minimum guaranteed bandwidth in kbps - -.. option:: --ingress - - Ingress traffic direction from the project point of view - -.. option:: --egress - - Egress traffic direction from the project point of view - -.. describe:: <qos-policy> - - QoS policy that contains the rule (name or ID) - -network qos rule delete ------------------------ - -Delete Network QoS rule - -.. program:: network qos rule delete -.. code:: bash - - openstack network qos rule delete - <qos-policy> - <rule-id> - -.. describe:: <qos-policy> - - QoS policy that contains the rule (name or ID) - -.. describe:: <rule-id> - - Network QoS rule to delete (ID) - -network qos rule list ---------------------- - -List Network QoS rules - -.. program:: network qos rule list -.. code:: bash - - openstack network qos rule list - <qos-policy> - -.. describe:: <qos-policy> - - QoS policy that contains the rule (name or ID) - -network qos rule set --------------------- - -Set Network QoS rule properties - -.. program:: network qos rule set -.. code:: bash - - openstack network qos rule set - [--max-kbps <max-kbps>] - [--max-burst-kbits <max-burst-kbits>] - [--dscp-marks <dscp-marks>] - [--min-kbps <min-kbps>] - [--ingress | --egress] - <qos-policy> - <rule-id> - -.. option:: --max-kbps <min-kbps> - - Maximum bandwidth in kbps - -.. option:: --max-burst-kbits <max-burst-kbits> - - Maximum burst in kilobits, 0 means automatic - -.. option:: --dscp-mark <dscp-mark> - - DSCP mark: value can be 0, even numbers from 8-56, excluding 42, 44, 50, - 52, and 54 - -.. option:: --min-kbps <min-kbps> - - Minimum guaranteed bandwidth in kbps - -.. option:: --ingress - - Ingress traffic direction from the project point of view - -.. option:: --egress - - Egress traffic direction from the project point of view - -.. describe:: <qos-policy> - - QoS policy that contains the rule (name or ID) - -.. describe:: <rule-id> - - Network QoS rule to delete (ID) - -network qos rule show ---------------------- - -Display Network QoS rule details - -.. program:: network qos rule show -.. code:: bash - - openstack network qos rule show - <qos-policy> - <rule-id> - -.. describe:: <qos-policy> - - QoS policy that contains the rule (name or ID) - -.. describe:: <rule-id> - - Network QoS rule to delete (ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: network qos rule show diff --git a/doc/source/cli/command-objects/network-rbac.rst b/doc/source/cli/command-objects/network-rbac.rst index 22733a2cd2..d9e48554d3 100644 --- a/doc/source/cli/command-objects/network-rbac.rst +++ b/doc/source/cli/command-objects/network-rbac.rst @@ -8,136 +8,5 @@ to network resources for specific projects. Network v2 -network rbac create -------------------- - -Create network RBAC policy - -.. program:: network rbac create -.. code:: bash - - openstack network rbac create - --type <type> - --action <action> - [--target-project <target-project> | --target-all-projects] - [--target-project-domain <target-project-domain>] - [--project <project> [--project-domain <project-domain>]] - <rbac-policy> - -.. option:: --type <type> - - Type of the object that RBAC policy affects ("security_group", "qos_policy" or "network") (required) - -.. option:: --action <action> - - Action for the RBAC policy ("access_as_external" or "access_as_shared") (required) - -.. option:: --target-project <target-project> - - The project to which the RBAC policy will be enforced (name or ID) - -.. option:: --target-all-projects - - Allow creating RBAC policy for all projects. - -.. option:: --target-project-domain <target-project-domain> - - Domain the target project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --project <project> - - The owner project (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. _network_rbac_create-rbac-policy: -.. describe:: <rbac-object> - - The object to which this RBAC policy affects (name or ID) - -network rbac delete -------------------- - -Delete network RBAC policy(s) - -.. program:: network rbac delete -.. code:: bash - - openstack network rbac delete - <rbac-policy> [<rbac-policy> ...] - -.. _network_rbac_delete-rbac-policy: -.. describe:: <rbac-policy> - - RBAC policy(s) to delete (ID only) - -network rbac list ------------------ - -List network RBAC policies - -.. program:: network rbac list -.. code:: bash - - openstack network rbac list - [--type <type>] - [--action <action>] - [--long] - -.. option:: --type <type> - - List network RBAC policies according to given object type ("security_group", "qos_policy" or "network") - -.. option:: --action <action> - - List network RBAC policies according to given action ("access_as_external" or "access_as_shared") - -.. option:: --long - - List additional fields in output - -network rbac set ----------------- - -Set network RBAC policy properties - -.. program:: network rbac set -.. code:: bash - - openstack network rbac set - [--target-project <target-project> [--target-project-domain <target-project-domain>]] - <rbac-policy> - -.. option:: --target-project <target-project> - - The project to which the RBAC policy will be enforced (name or ID) - -.. option:: --target-project-domain <target-project-domain> - - Domain the target project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. _network_rbac_set-rbac-policy: -.. describe:: <rbac-policy> - - RBAC policy to be modified (ID only) - -network rbac show ------------------ - -Display network RBAC policy details - -.. program:: network rbac show -.. code:: bash - - openstack network rbac show - <rbac-policy> - -.. _network_rbac_show-rbac-policy: -.. describe:: <rbac-policy> - - RBAC policy (ID only) +.. autoprogram-cliff:: openstack.network.v2 + :command: network rbac * diff --git a/doc/source/cli/command-objects/network-segment.rst b/doc/source/cli/command-objects/network-segment.rst index d6a66aa0b9..2e9143801d 100644 --- a/doc/source/cli/command-objects/network-segment.rst +++ b/doc/source/cli/command-objects/network-segment.rst @@ -9,125 +9,20 @@ within a network may not be guaranteed. Network v2 -network segment create ----------------------- +.. NOTE(efried): have to list these out one by one; 'network segment *' pulls + ... range *. -Create new network segment +.. autoprogram-cliff:: openstack.network.v2 + :command: network segment create -.. program:: network segment create -.. code:: bash +.. autoprogram-cliff:: openstack.network.v2 + :command: network segment delete - openstack network segment create - [--description <description>] - [--physical-network <physical-network>] - [--segment <segment>] - --network <network> - --network-type <network-type> - <name> +.. autoprogram-cliff:: openstack.network.v2 + :command: network segment list -.. option:: --description <description> +.. autoprogram-cliff:: openstack.network.v2 + :command: network segment set - Network segment description - -.. option:: --physical-network <physical-network> - - Physical network name of this network segment - -.. option:: --segment <segment> - - Segment identifier for this network segment which is - based on the network type, VLAN ID for vlan network - type and tunnel ID for geneve, gre and vxlan network - types - -.. option:: --network <network> - - Network this network segment belongs to (name or ID) - -.. option:: --network-type <network-type> - - Network type of this network segment - (flat, geneve, gre, local, vlan or vxlan) - -.. _network_segment_create-name: -.. describe:: <name> - - New network segment name - -network segment delete ----------------------- - -Delete network segment(s) - -.. program:: network segment delete -.. code:: bash - - openstack network segment delete - <network-segment> [<network-segment> ...] - -.. _network_segment_delete-segment: -.. describe:: <network-segment> - - Network segment(s) to delete (name or ID) - -network segment list --------------------- - -List network segments - -.. program:: network segment list -.. code:: bash - - openstack network segment list - [--long] - [--network <network>] - -.. option:: --long - - List additional fields in output - -.. option:: --network <network> - - List network segments that belong to this network (name or ID) - -network segment set -------------------- - -Set network segment properties - -.. program:: network segment set -.. code:: bash - - openstack network segment set - [--description <description>] - [--name <name>] - <network-segment> - -.. option:: --description <description> - - Set network segment description - -.. option:: --name <name> - - Set network segment name - -.. _network_segment_set-segment: -.. describe:: <network-segment> - - Network segment to modify (name or ID) - -network segment show --------------------- - -Display network segment details - -.. program:: network segment show -.. code:: bash - - openstack network segment show - <network-segment> - -.. _network_segment_show-segment: -.. describe:: <network-segment> - - Network segment to display (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: network segment show diff --git a/doc/source/cli/command-objects/network-service-provider.rst b/doc/source/cli/command-objects/network-service-provider.rst index f46073f677..52d0288dd0 100644 --- a/doc/source/cli/command-objects/network-service-provider.rst +++ b/doc/source/cli/command-objects/network-service-provider.rst @@ -9,12 +9,5 @@ Network v2 .. _network_service_provider_list: -network service provider list ------------------------------ - -List service providers - -.. program:: network service provider list -.. code:: bash - - openstack network service provider list +.. autoprogram-cliff:: openstack.network.v2 + :command: network service provider list diff --git a/doc/source/cli/command-objects/network.rst b/doc/source/cli/command-objects/network.rst index 75113f89da..626b11a928 100644 --- a/doc/source/cli/command-objects/network.rst +++ b/doc/source/cli/command-objects/network.rst @@ -11,505 +11,23 @@ provider networks. Networks can be connected via routers. Compute v2, Network v2 -network create --------------- +.. NOTE(efried): have to list these out one by one; 'network *' pulls in + ... flavor *, ... qos policy *, etc. -Create new network +.. autoprogram-cliff:: openstack.network.v2 + :command: network create -.. program:: network create -.. code:: bash +.. autoprogram-cliff:: openstack.network.v2 + :command: network delete - openstack network create - [--project <project> [--project-domain <project-domain>]] - [--enable | --disable] - [--share | --no-share] - [--description <description>] - [--mtu <mtu>] - [--availability-zone-hint <availability-zone>] - [--enable-port-security | --disable-port-security] - [--external [--default | --no-default] | --internal] - [--provider-network-type <provider-network-type>] - [--provider-physical-network <provider-physical-network>] - [--provider-segment <provider-segment>] - [--qos-policy <qos-policy>] - [--transparent-vlan | --no-transparent-vlan] - [--dns-domain <dns-domain>] - [--tag <tag> | --no-tag] - <name> +.. autoprogram-cliff:: openstack.network.v2 + :command: network list -.. option:: --project <project> +.. autoprogram-cliff:: openstack.network.v2 + :command: network set - Owner's project (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: network show - *Network version 2 only* - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - *Network version 2 only* - -.. option:: --enable - - Enable network (default) - - *Network version 2 only* - -.. option:: --disable - - Disable network - - *Network version 2 only* - -.. option:: --share - - Share the network between projects - -.. option:: --no-share - - Do not share the network between projects - -.. option:: --description <description> - - Set network description - - *Network version 2 only* - -.. option:: --mtu <mtu> - - Set network mtu - - *Network version 2 only* - -.. option:: --availability-zone-hint <availability-zone> - - Availability Zone in which to create this network - (Network Availability Zone extension required, - repeat option to set multiple availability zones) - - *Network version 2 only* - -.. option:: --enable-port-security - - Enable port security by default for ports created on - this network (default) - - *Network version 2 only* - -.. option:: --disable-port-security - - Disable port security by default for ports created on - this network - - *Network version 2 only* - -.. option:: --subnet <subnet> - - IPv4 subnet for fixed IPs (in CIDR notation) - - *Compute version 2 only* - -.. option:: --external - - Set this network as an external network - (external-net extension required) - - *Network version 2 only* - -.. option:: --internal - - Set this network as an internal network (default) - - *Network version 2 only* - -.. option:: --default - - Specify if this network should be used as - the default external network - - *Network version 2 only* - -.. option:: --no-default - - Do not use the network as the default external network - (default) - - *Network version 2 only* - -.. option:: --provider-network-type <provider-network-type> - - The physical mechanism by which the virtual network is implemented. - The supported options are: flat, geneve, gre, local, vlan, vxlan. - - *Network version 2 only* - -.. option:: --provider-physical-network <provider-physical-network> - - Name of the physical network over which the virtual network is implemented - - *Network version 2 only* - -.. option:: --provider-segment <provider-segment> - - VLAN ID for VLAN networks or Tunnel ID for GENEVE/GRE/VXLAN networks - - *Network version 2 only* - -.. option:: --qos-policy <qos-policy> - - QoS policy to attach to this network (name or ID) - - *Network version 2 only* - -.. option:: --transparent-vlan - - Make the network VLAN transparent - - *Network version 2 only* - -.. option:: --no-transparent-vlan - - Do not make the network VLAN transparent - - *Network version 2 only* - -.. option:: --dns-domain <dns-domain> - - Set DNS domain for this network (requires DNS integration extension). - -.. option:: --tag <tag> - - Tag to be added to the network (repeat option to set multiple tags) - - *Network version 2 only* - -.. option:: --no-tag - - No tags associated with the network - - *Network version 2 only* - -.. _network_create-name: -.. describe:: <name> - - New network name - -network delete --------------- - -Delete network(s) - -.. program:: network delete -.. code:: bash - - openstack network delete - <network> [<network> ...] - -.. _network_delete-network: -.. describe:: <network> - - Network(s) to delete (name or ID) - -network list ------------- - -List networks - -.. program:: network list -.. code:: bash - - openstack network list - [--external | --internal] - [--long] - [--name <name>] - [--enable | --disable] - [--project <project> [--project-domain <project-domain>]] - [--share | --no-share] - [--status <status>] - [--provider-network-type <provider-network-type>] - [--provider-physical-network <provider-physical-network>] - [--provider-segment <provider-segment>] - [--agent <agent-id>] - [--tags <tag>[,<tag>,...]] [--any-tags <tag>[,<tag>,...]] - [--not-tags <tag>[,<tag>,...]] [--not-any-tags <tag>[,<tag>,...]] - -.. option:: --external - - List external networks - - *Network version 2 only* - -.. option:: --internal - - List internal networks - - *Network version 2 only* - -.. option:: --long - - List additional fields in output - - *Network version 2 only* - -.. option:: --name <name> - - List networks according to their name - - *Network version 2 only* - -.. option:: --enable - - List enabled networks - - *Network version 2 only* - -.. option:: --disable - - List disabled networks - - *Network version 2 only* - -.. option:: --project <project> - - List networks according to their project (name or ID) - - *Network version 2 only* - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - *Network version 2 only* - -.. option:: --share - - List networks shared between projects - - *Network version 2 only* - -.. option:: --no-share - - List networks not shared between projects - - *Network version 2 only* - -.. option:: --status <status> - - List networks according to their status - ('ACTIVE', 'BUILD', 'DOWN', 'ERROR') - -.. option:: --provider-network-type <provider-network-type> - - List networks according to their physical mechanisms. - The supported options are: flat, geneve, gre, local, vlan, vxlan. - - *Network version 2 only* - -.. option:: --provider-physical-network <provider-physical-network> - - List networks according to name of the physical network - - *Network version 2 only* - -.. option:: --provider-segment <provider-segment> - - List networks according to VLAN ID for VLAN networks - or Tunnel ID for GENEVE/GRE/VXLAN networks - - *Network version 2 only* - -.. option:: --agent <agent-id> - - List networks hosted by agent (ID only) - - *Network version 2 only* - -.. option:: --tags <tag>[,<tag>,...] - - List networks which have all given tag(s) - - *Network version 2 only* - -.. option:: --any-tags <tag>[,<tag>,...] - - List networks which have any given tag(s) - - *Network version 2 only* - -.. option:: --not-tags <tag>[,<tag>,...] - - Exclude networks which have all given tag(s) - - *Network version 2 only* - -.. option:: --not-any-tags <tag>[,<tag>,...] - - Exclude networks which have any given tag(s) - - *Network version 2 only* - -network set ------------ - -Set network properties - -*Network version 2 only* - -.. program:: network set -.. code:: bash - - openstack network set - [--name <name>] - [--enable | --disable] - [--share | --no-share] - [--description <description>] - [--mtu <mtu>] - [--enable-port-security | --disable-port-security] - [--external [--default | --no-default] | --internal] - [--provider-network-type <provider-network-type>] - [--provider-physical-network <provider-physical-network>] - [--provider-segment <provider-segment>] - [--qos-policy <qos-policy> | --no-qos-policy] - [--dns-domain <dns-domain>] - [--tag <tag>] [--no-tag] - <network> - -.. option:: --name <name> - - Set network name - -.. option:: --enable - - Enable network - -.. option:: --disable - - Disable network - -.. option:: --share - - Share the network between projects - -.. option:: --no-share - - Do not share the network between projects - -.. option:: --description <description> - - Set network description - -.. option:: --mtu <mtu> - - Set network mtu - -.. option:: --enable-port-security - - Enable port security by default for ports created on - this network - -.. option:: --disable-port-security - - Disable port security by default for ports created on - this network - -.. option:: --external - - Set this network as an external network. - (external-net extension required) - -.. option:: --internal - - Set this network as an internal network - -.. option:: --default - - Set the network as the default external network - -.. option:: --no-default - - Do not use the network as the default external network. - -.. option:: --provider-network-type <provider-network-type> - - The physical mechanism by which the virtual network is implemented. - The supported options are: flat, gre, local, vlan, vxlan. - -.. option:: --provider-physical-network <provider-physical-network> - - Name of the physical network over which the virtual network is implemented - -.. option:: --provider-segment <provider-segment> - - VLAN ID for VLAN networks or Tunnel ID for GRE/VXLAN networks - -.. option:: --qos-policy <qos-policy> - - QoS policy to attach to this network (name or ID) - -.. option:: --no-qos-policy - - Remove the QoS policy attached to this network - -.. option:: --dns-domain <dns-domain> - - Set DNS domain for this network (requires DNS integration extension). - -.. option:: --tag <tag> - - Tag to be added to the network (repeat option to set multiple tags) - -.. option:: --no-tag - - Clear tags associated with the network. Specify both --tag - and --no-tag to overwrite current tags - -.. _network_set-network: -.. describe:: <network> - - Network to modify (name or ID) - -network show ------------- - -Display network details - -.. program:: network show -.. code:: bash - - openstack network show - <network> - -.. _network_show-network: -.. describe:: <network> - - Network to display (name or ID) - -network unset -------------- - -Unset network properties - -*Network version 2 only* - -.. program:: network unset -.. code:: bash - - openstack network unset - [--tag <tag> | --all-tag] - <network> - -.. option:: --tag <tag> - - Tag to be removed from the network - (repeat option to remove multiple tags) - -.. option:: --all-tag - - Clear all tags associated with the network - -.. _network_unset-network: -.. describe:: <network> - - Network to modify (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: network unset diff --git a/doc/source/cli/command-objects/network_segment_range.rst b/doc/source/cli/command-objects/network_segment_range.rst index 71155d2224..f40007f385 100644 --- a/doc/source/cli/command-objects/network_segment_range.rst +++ b/doc/source/cli/command-objects/network_segment_range.rst @@ -10,159 +10,5 @@ administrator to control the segment ranges globally or on a per-tenant basis. Network v2 -network segment range create ----------------------------- - -Create new network segment range - -.. program:: network segment range create -.. code:: bash - - openstack network segment range create - (--private | --shared) - [--project <project> [--project-domain <project-domain>]] - --network-type <network-type> - [--physical-network <physical-network-name>] - --minimum <minimum-segmentation-id> - --maximum <maximum-segmentation-id> - <name> - -.. option:: --private - - Network segment range is assigned specifically to the project - -.. option:: --shared - - Network segment range is shared with other projects - -.. option:: --project <project> - - Network segment range owner (name or ID). Optional when the segment - range is shared - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --physical-network <physical-network-name> - - Physical network name of this network segment range - -.. option:: --network-type <network-type> - - Network type of this network segment range - (geneve, gre, vlan or vxlan) - -.. option:: --minimum <minimum-segmentation-id> - - Minimum segment identifier for this network segment range which is based - on the network type, VLAN ID for vlan network type and tunnel ID for - geneve, gre and vxlan network types - -.. option:: --maximum <maximum-segmentation-id> - - Maximum segment identifier for this network segment range which is based - on the network type, VLAN ID for vlan network type and tunnel ID for - geneve, gre and vxlan network types - -.. _network_segment_range_create-name: -.. describe:: <name> - - Name of new network segment range - -network segment range delete ----------------------------- - -Delete network segment range(s) - -.. program:: network segment range delete -.. code:: bash - - openstack network segment range delete - <network-segment-range> [<network-segment-range> ...] - -.. _network_segment_range_delete-network-segment-range: -.. describe:: <network-segment-range> - - Network segment range (s) to delete (name or ID) - -network segment range list --------------------------- - -List network segment ranges - -.. program:: network segment range list -.. code:: bash - - openstack network segment range list - [--long] - [--used | --unused] - [--available | --unavailable] - -.. option:: --long - - List additional fields in output - -.. option:: --used - - List network segment ranges that have segments in use - -.. option:: --unused - - List network segment ranges that do not have segments not in use - -.. option:: --available - - List network segment ranges that have available segments - -.. option:: --unavailable - - List network segment ranges without available segments - -network segment range set -------------------------- - -Set network segment range properties - -.. program:: network segment range set -.. code:: bash - - openstack network segment range set - [--name <name>] - [--minimum <minimum-segmentation-id>] - [--maximum <maximum-segmentation-id>] - <network-segment-range> - -.. option:: --name <name> - - Set network segment range name - -.. option:: --minimum <minimum-segmentation-id> - - Set network segment range minimum segment identifier - -.. option:: --maximum <maximum-segmentation-id> - - Set network segment range maximum segment identifier - -.. _network_segment_range_set-network-segment-range: -.. describe:: <network-segment-range> - - Network segment range to modify (name or ID) - -network segment range show --------------------------- - -Display network segment range details - -.. program:: network segment range show -.. code:: bash - - openstack network segment range show - <network-segment-range> - -.. _network_segment_range_show-network-segment-range: -.. describe:: <network-segment-range> - - Network segment range to display (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: network segment range * diff --git a/doc/source/cli/command-objects/port.rst b/doc/source/cli/command-objects/port.rst index bc9f5dde02..3af5272eb2 100644 --- a/doc/source/cli/command-objects/port.rst +++ b/doc/source/cli/command-objects/port.rst @@ -8,486 +8,5 @@ configuration, such as the MAC and IP addresses to be used on that port. Network v2 -port create ------------ - -Create new port - -.. program:: port create -.. code:: bash - - openstack port create - --network <network> - [--description <description>] - [--fixed-ip subnet=<subnet>,ip-address=<ip-address> | --no-fixed-ip] - [--device <device-id>] - [--device-owner <device-owner>] - [--vnic-type <vnic-type>] - [--binding-profile <binding-profile>] - [--host <host-id>] - [--enable | --disable] - [--enable-uplink-status-propagation | --disable-uplink-status-propagation] - [--mac-address <mac-address>] - [--security-group <security-group> | --no-security-group] - [--dns-domain <dns-domain>] - [--dns-name <dns-name>] - [--allowed-address ip-address=<ip-address>[,mac-address=<mac-address>]] - [--qos-policy <qos-policy>] - [--project <project> [--project-domain <project-domain>]] - [--enable-port-security | --disable-port-security] - [--tag <tag> | --no-tag] - <name> - -.. option:: --network <network> - - Network this port belongs to (name or ID) - -.. option:: --description <description> - - Description of this port - -.. option:: --fixed-ip subnet=<subnet>,ip-address=<ip-address> - - Desired IP and/or subnet for this port (name or ID): - subnet=<subnet>,ip-address=<ip-address> - (repeat option to set multiple fixed IP addresses) - -.. option:: --no-fixed-ip - - No IP or subnet for this port - -.. option:: --device <device-id> - - Port device ID - -.. option:: --device-owner <device-owner> - - Device owner of this port. This is the entity that uses - the port (for example, network:dhcp). - -.. option:: --vnic-type <vnic-type> - - VNIC type for this port (direct | direct-physical | macvtap | normal | baremetal | - virtio-forwarder, default: normal) - -.. option:: --binding-profile <binding-profile> - - Custom data to be passed as binding:profile. Data may - be passed as <key>=<value> or JSON. - (repeat option to set multiple binding:profile data) - -.. option:: --host <host-id> - - Allocate port on host ``<host-id>`` (ID only) - -.. option:: --enable - - Enable port (default) - -.. option:: --disable - - Disable port - -.. option:: --enable-uplink-status-propagation - - Enable uplink status propagate - -.. option:: --disable-uplink-status-propagation - - Disable uplink status propagate (default) - -.. option:: --mac-address <mac-address> - - MAC address of this port - -.. option:: --security-group <security-group> - - Security group to associate with this port (name or ID) - (repeat option to set multiple security groups) - -.. option:: --no-security-group - - Associate no security groups with this port - -.. option:: --dns-domain <dns-name> - - Set DNS domain for this port - (requires dns_domain for ports extension) - -.. option:: --dns-name <dns-name> - - Set DNS name for this port - (requires DNS integration extension) - -.. option:: --allowed-address ip-address=<ip-address>[,mac-address=<mac-address>] - - Add allowed-address pair associated with this port: - ip-address=<ip-address>[,mac-address=<mac-address>] - (repeat option to set multiple allowed-address pairs) - -.. option:: --qos-policy <qos-policy> - - Attach QoS policy to this port (name or ID) - -.. option:: --project <project> - - Owner's project (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --enable-port-security - - Enable port security for this port (Default) - -.. option:: --disable-port-security - - Disable port security for this port - -.. option:: --tag <tag> - - Tag to be added to the port (repeat option to set multiple tags) - -.. option:: --no-tag - - No tags associated with the port - -.. _port_create-name: -.. describe:: <name> - - Name of this port - -port delete ------------ - -Delete port(s) - -.. program:: port delete -.. code:: bash - - openstack port delete - <port> [<port> ...] - -.. _port_delete-port: -.. describe:: <port> - - Port(s) to delete (name or ID) - -port list ---------- - -List ports - -.. program:: port list -.. code:: bash - - openstack port list - [--device-owner <device-owner>] - [--router <router> | --server <server> | --device-id <device-id>] - [--network <network>] - [--mac-address <mac-address>] - [--fixed-ip subnet=<subnet>,ip-address=<ip-address>,ip-substring=<ip-substring>] - [--long] - [--project <project> [--project-domain <project-domain>]] - [--tags <tag>[,<tag>,...]] [--any-tags <tag>[,<tag>,...]] - [--not-tags <tag>[,<tag>,...]] [--not-any-tags <tag>[,<tag>,...]] - -.. option:: --device-owner <device-owner> - - List only ports with the specified device owner. This is - the entity that uses the port (for example, network:dhcp). - -.. option:: --router <router> - - List only ports attached to this router (name or ID) - -.. option:: --server <server> - - List only ports attached to this server (name or ID) - -.. option:: --device-id <device-id> - - List only ports with the specified device ID - -.. option:: --network <network> - - List only ports attached to this network (name or ID) - -.. option:: --mac-address <mac-address> - - List only ports with this MAC address - -.. option:: --fixed-ip subnet=<subnet>,ip-address=<ip-address>,ip-substring=<ip-substring> - - Desired IP address, IP address substring and/or subnet (name or ID) for - filtering ports: - subnet=<subnet>,ip-address=<ip-address>,ip-substring=<ip-substring> - (repeat option to set multiple fixed IP addresses) - -.. option:: --long - - List additional fields in output - -.. option:: --project <project> - - List ports according to their project (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --tags <tag>[,<tag>,...] - - List ports which have all given tag(s) - -.. option:: --any-tags <tag>[,<tag>,...] - - List ports which have any given tag(s) - -.. option:: --not-tags <tag>[,<tag>,...] - - Exclude ports which have all given tag(s) - -.. option:: --not-any-tags <tag>[,<tag>,...] - - Exclude ports which have any given tag(s) - -port set --------- - -Set port properties - -.. program:: port set -.. code:: bash - - openstack port set - [--description <description>] - [--fixed-ip subnet=<subnet>,ip-address=<ip-address>] - [--no-fixed-ip] - [--device <device-id>] - [--device-owner <device-owner>] - [--vnic-type <vnic-type>] - [--binding-profile <binding-profile>] - [--no-binding-profile] - [--host <host-id>] - [--qos-policy <qos-policy>] - [--enable | --disable] - [--name <name>] - [--mac-address <mac-address>] - [--security-group <security-group>] - [--no-security-group] - [--enable-port-security | --disable-port-security] - [--dns-domain <dns-domain>] - [--dns-name <dns-name>] - [--allowed-address ip-address=<ip-address>[,mac-address=<mac-address>]] - [--no-allowed-address] - [--data-plane-status <status>] - [--tag <tag>] [--no-tag] - <port> - -.. option:: --description <description> - - Description of this port - -.. option:: --fixed-ip subnet=<subnet>,ip-address=<ip-address> - - Desired IP and/or subnet for this port (name or ID): - subnet=<subnet>,ip-address=<ip-address> - (repeat option to set multiple fixed IP addresses) - -.. option:: --no-fixed-ip - - Clear existing information of fixed IP addresses. - Specify both :option:`--fixed-ip` and :option:`--no-fixed-ip` - to overwrite the current fixed IP addresses. - -.. option:: --device <device-id> - - Port device ID - -.. option:: --device-owner <device-owner> - - Device owner of this port. This is the entity that uses - the port (for example, network:dhcp). - -.. option:: --vnic-type <vnic-type> - - VNIC type for this port (direct | direct-physical | macvtap | normal | baremetal | - virtio-forwarder, default: normal) - -.. option:: --binding-profile <binding-profile> - - Custom data to be passed as binding:profile. Data may - be passed as <key>=<value> or JSON. - (repeat option to set multiple binding:profile data) - -.. option:: --no-binding-profile - - Clear existing information of binding:profile. - Specify both :option:`--binding-profile` and :option:`--no-binding-profile` - to overwrite the current binding:profile information. - -.. option:: --host <host-id> - - Allocate port on host ``<host-id>`` (ID only) - -.. option:: --qos-policy <qos-policy> - - Attach QoS policy to this port (name or ID) - -.. option:: --enable - - Enable port - -.. option:: --disable - - Disable port - -.. option:: --name - - Set port name - -.. option:: --mac-address - - Set port's MAC address (admin only) - -.. option:: --security-group <security-group> - - Security group to associate with this port (name or ID) - (repeat option to set multiple security groups) - -.. option:: --no-security-group - - Clear existing security groups associated with this port - -.. option:: --enable-port-security - - Enable port security for this port - -.. option:: --disable-port-security - - Disable port security for this port - -.. option:: --dns-domain <dns-domain> - - Set DNS domain for this port - (requires dns_domain for ports extension) - -.. option:: --dns-name <dns-name> - - Set DNS name for this port - (requires DNS integration extension) - -.. option:: --allowed-address ip-address=<ip-address>[,mac-address=<mac-address>] - - Add allowed-address pair associated with this port: - ip-address=<ip-address>[,mac-address=<mac-address>] - (repeat option to set multiple allowed-address pairs) - -.. option:: --no-allowed-address - - Clear existing allowed-address pairs associated - with this port. - (Specify both --allowed-address and --no-allowed-address - to overwrite the current allowed-address pairs) - -.. option:: --data-plane-status - - Set data plane status of this port (ACTIVE | DOWN). - Unset it to None with the 'port unset' command - (requires data plane status extension) - -.. option:: --tag <tag> - - Tag to be added to the port (repeat option to set multiple tags) - -.. option:: --no-tag - - Clear tags associated with the port. Specify both --tag - and --no-tag to overwrite current tags - -.. _port_set-port: -.. describe:: <port> - - Port to modify (name or ID) - -port show ---------- - -Display port details - -.. program:: port show -.. code:: bash - - openstack port show - <port> - -.. _port_show-port: -.. describe:: <port> - - Port to display (name or ID) - -port unset ----------- - -Unset port properties - -.. program:: port unset -.. code:: bash - - openstack port unset - [--fixed-ip subnet=<subnet>,ip-address=<ip-address> [...]] - [--binding-profile <binding-profile-key> [...]] - [--security-group <security-group> [...]] - [--allowed-address ip-address=<ip-address>[,mac-address=<mac-address>] [...]] - [--qos-policy] - [--data-plane-status] - [--tag <tag> | --all-tag] - <port> - -.. option:: --fixed-ip subnet=<subnet>,ip-address=<ip-address> - - Desired IP and/or subnet which should be removed - from this port (name or ID): subnet=<subnet>,ip-address=<ip-address> - (repeat option to unset multiple fixed IP addresses) - -.. option:: --binding-profile <binding-profile-key> - - Desired key which should be removed from binding-profile - (repeat option to unset multiple binding:profile data) - -.. option:: --security-group <security-group> - - Security group which should be removed from this port (name or ID) - (repeat option to unset multiple security groups) - -.. option:: --allowed-address ip-address=<ip-address>[,mac-address=<mac-address>] - - Desired allowed-address pair which should be removed from this port: - ip-address=<ip-address>[,mac-address=<mac-address>] - (repeat option to unset multiple allowed-address pairs) - -.. option:: --qos-policy - - Remove the QoS policy attached to the port - -.. option:: --data-plane-status - - Clear existing information of data plane status - -.. option:: --tag <tag> - - Tag to be removed from the port - (repeat option to remove multiple tags) - -.. option:: --all-tag - - Clear all tags associated with the port - -.. _port_unset-port: -.. describe:: <port> - - Port to modify (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: port * diff --git a/doc/source/cli/command-objects/router.rst b/doc/source/cli/command-objects/router.rst index 9c9364bc75..6e8e05d7c0 100644 --- a/doc/source/cli/command-objects/router.rst +++ b/doc/source/cli/command-objects/router.rst @@ -8,402 +8,5 @@ network access for servers on project networks. Network v2 -router add port ---------------- - -Add a port to a router - -.. program:: router add port -.. code:: bash - - openstack router add port - <router> - <port> - -.. _router_add_port: - -.. describe:: <router> - - Router to which port will be added (name or ID) - -.. describe:: <port> - - Port to be added (name or ID) - -router add subnet ------------------ - -Add a subnet to a router - -.. program:: router add subnet -.. code:: bash - - openstack router add subnet - <router> - <subnet> - -.. _router_add_subnet: - -.. describe:: <router> - - Router to which subnet will be added (name or ID) - -.. describe:: <subnet> - - Subnet to be added (name or ID) - -router create -------------- - -Create new router - -.. program:: router create -.. code:: bash - - openstack router create - [--project <project> [--project-domain <project-domain>]] - [--enable | --disable] - [--distributed | --centralized] - [--ha | --no-ha] - [--description <description>] - [--availability-zone-hint <availability-zone>] - [--tag <tag> | --no-tag] - <name> - -.. option:: --project <project> - - Owner's project (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --enable - - Enable router (default) - -.. option:: --disable - - Disable router - -.. option:: --distributed - - Create a distributed router - - The default router type (distributed vs centralized) is determined by a - configuration setting in the OpenStack deployment. Since we are unable - to know that default wihtout attempting to actually create a router it - is suggested to use either :option:`--distributed` or :option:`--centralized` - in situations where multiple cloud deployments may be used. - -.. option:: --centralized - - Create a centralized router - - See the note in :option:`--distributed` regarding the default used when - creating a new router. - -.. option:: --ha - - Create a highly available router - -.. option:: --no-ha - - Create a legacy router - -.. option:: --description <description> - - Set router description - -.. option:: --availability-zone-hint <availability-zone> - - Availability Zone in which to create this router - (Router Availability Zone extension required, - repeat option to set multiple availability zones) - -.. option:: --tag <tag> - - Tag to be added to the router (repeat option to set multiple tags) - -.. option:: --no-tag - - No tags associated with the router - -.. _router_create-name: -.. describe:: <name> - - New router name - -router delete -------------- - -Delete router(s) - -.. program:: router delete -.. code:: bash - - openstack router delete - <router> [<router> ...] - -.. _router_delete-router: -.. describe:: <router> - - Router(s) to delete (name or ID) - -router list ------------ - -List routers - -.. program:: router list -.. code:: bash - - openstack router list - [--name <name>] - [--enable | --disable] - [--long] - [--project <project> [--project-domain <project-domain>]] - [--agent <agent-id>] - [--tags <tag>[,<tag>,...]] [--any-tags <tag>[,<tag>,...]] - [--not-tags <tag>[,<tag>,...]] [--not-any-tags <tag>[,<tag>,...]] - -.. option:: --agent <agent-id> - - List routers hosted by an agent (ID only) - -.. option:: --long - - List additional fields in output - -.. option:: --name <name> - - List routers according to their name - -.. option:: --enable - - List enabled routers - -.. option:: --disable - - List disabled routers - -.. option:: --project <project> - - List routers according to their project (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --tags <tag>[,<tag>,...] - - List routers which have all given tag(s) - -.. option:: --any-tags <tag>[,<tag>,...] - - List routers which have any given tag(s) - -.. option:: --not-tags <tag>[,<tag>,...] - - Exclude routers which have all given tag(s) - -.. option:: --not-any-tags <tag>[,<tag>,...] - - Exclude routers which have any given tag(s) - -router remove port ------------------- - -Remove a port from a router - -.. program:: router remove port -.. code:: bash - - openstack router remove port - <router> - <port> - -.. _router_remove_port: - -.. describe:: <router> - - Router from which port will be removed (name or ID) - -.. describe:: <port> - - Port to be removed and deleted (name or ID) - -router remove subnet --------------------- - -Remove a subnet from a router - -.. program:: router remove subnet -.. code:: bash - - openstack router remove subnet - <router> - <subnet> - -.. _router_remove_subnet: - -.. describe:: <router> - - Router from which subnet will be removed (name or ID) - -.. describe:: <subnet> - - Subnet to be removed (name or ID) - -router set ----------- - -Set router properties - -.. program:: router set -.. code:: bash - - openstack router set - [--name <name>] - [--enable | --disable] - [--distributed | --centralized] - [--description <description>] - [--route destination=<subnet>,gateway=<ip-address> | --no-route] - [--ha | --no-ha] - [--external-gateway <network> [--enable-snat|--disable-snat] [--fixed-ip subnet=<subnet>,ip-address=<ip-address>]] - [--tag <tag>] [--no-tag] - <router> - -.. option:: --name <name> - - Set router name - -.. option:: --enable - - Enable router - -.. option:: --disable - - Disable router - -.. option:: --distributed - - Set router to distributed mode (disabled router only) - -.. option:: --centralized - - Set router to centralized mode (disabled router only) - -.. option:: --description <description> - - Set router description - -.. option:: --route destination=<subnet>,gateway=<ip-address> - - Routes associated with the router - destination: destination subnet (in CIDR notation) - gateway: nexthop IP address - (repeat option to set multiple routes) - -.. option:: --no-route - - Clear routes associated with the router. - Specify both --route and --no-route to overwrite - current value of route. - -.. option:: --ha - - Set the router as highly available (disabled router only) - -.. option:: --no-ha - - Clear high availablability attribute of the router (disabled router only) - -.. option:: --external-gateway <network> - - External Network used as router's gateway (name or ID) - -.. option:: --enable-snat - - Enable Source NAT on external gateway - -.. option:: --disable-snat - - Disable Source NAT on external gateway - -.. option:: --fixed-ip subnet=<subnet>,ip-address=<ip-address> - - Desired IP and/or subnet (name or ID) on external gateway: - subnet=<subnet>,ip-address=<ip-address> - (repeat option to set multiple fixed IP addresses) - -.. option:: --tag <tag> - - Tag to be added to the router (repeat option to set multiple tags) - -.. option:: --no-tag - - Clear tags associated with the router. Specify both --tag - and --no-tag to overwrite current tags - -.. _router_set-router: -.. describe:: <router> - - Router to modify (name or ID) - -router show ------------ - -Display router details - -.. program:: router show -.. code:: bash - - openstack router show - <router> - -.. _router_show-router: -.. describe:: <router> - - Router to display (name or ID) - -router unset ------------- - -Unset router properties - -.. program:: router unset -.. code:: bash - - openstack router unset - [--route destination=<subnet>,gateway=<ip-address>] - [--external-gateway] - [--tag <tag> | --all-tag] - <router> - -.. option:: --route destination=<subnet>,gateway=<ip-address> - - Routes to be removed from the router - destination: destination subnet (in CIDR notation) - gateway: nexthop IP address - (repeat option to unset multiple routes) - -.. option:: --external-gateway - - Remove external gateway information from the router - -.. option:: --tag <tag> - - Tag to be removed from the router - (repeat option to remove multiple tags) - -.. option:: --all-tag - - Clear all tags associated with the router - -.. _router_unset-router: -.. describe:: <router> - - Router to modify (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: router * diff --git a/doc/source/cli/command-objects/security-group-rule.rst b/doc/source/cli/command-objects/security-group-rule.rst index 5a2d8342b3..429bcf270b 100644 --- a/doc/source/cli/command-objects/security-group-rule.rst +++ b/doc/source/cli/command-objects/security-group-rule.rst @@ -7,194 +7,5 @@ and other resources on the network. Compute v2, Network v2 -security group rule create --------------------------- - -Create a new security group rule - -.. program:: security group rule create -.. code:: bash - - openstack security group rule create - [--remote-ip <ip-address> | --remote-group <group>] - [--dst-port <port-range> | [--icmp-type <icmp-type> [--icmp-code <icmp-code>]]] - [--protocol <protocol>] - [--ingress | --egress] - [--ethertype <ethertype>] - [--project <project> [--project-domain <project-domain>]] - [--description <description>] - <group> - -.. option:: --remote-ip <ip-address> - - Remote IP address block (may use CIDR notation; - default for IPv4 rule: 0.0.0.0/0, - default for IPv6 rule: ::/0) - -.. option:: --remote-group <group> - - Remote security group (name or ID) - -.. option:: --dst-port <port-range> - - Destination port, may be a single port or a starting and - ending port range: 137:139. Required for IP protocols TCP - and UDP. Ignored for ICMP IP protocols. - -.. option:: --icmp-type <icmp-type> - - ICMP type for ICMP IP protocols - - *Network version 2 only* - -.. option:: --icmp-code <icmp-code> - - ICMP code for ICMP IP protocols - - *Network version 2 only* - -.. option:: --protocol <protocol> - - IP protocol (icmp, tcp, udp; default: tcp) - - *Compute version 2* - - IP protocol (ah, dccp, egp, esp, gre, icmp, igmp, - ipv6-encap, ipv6-frag, ipv6-icmp, ipv6-nonxt, - ipv6-opts, ipv6-route, ospf, pgm, rsvp, sctp, tcp, - udp, udplite, vrrp and integer representations [0-255] - or any; default: any (all protocols)) - - *Network version 2* - -.. option:: --ingress - - Rule applies to incoming network traffic (default) - - *Network version 2 only* - -.. option:: --egress - - Rule applies to outgoing network traffic - - *Network version 2 only* - -.. option:: --ethertype <ethertype> - - Ethertype of network traffic - (IPv4, IPv6; default: based on IP protocol) - - *Network version 2 only* - -.. option:: --project <project> - - Owner's project (name or ID) - - *Network version 2 only* - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - *Network version 2 only* - -.. option:: --description <description> - - Set security group rule description - - *Network version 2 only* - -.. describe:: <group> - - Create rule in this security group (name or ID) - -security group rule delete --------------------------- - -Delete security group rule(s) - -.. program:: security group rule delete -.. code:: bash - - openstack security group rule delete - <rule> [<rule> ...] - -.. describe:: <rule> - - Security group rule(s) to delete (ID only) - -security group rule list ------------------------- - -List security group rules - -.. program:: security group rule list -.. code:: bash - - openstack security group rule list - [--all-projects] - [--protocol <protocol>] - [--ethertype <ethertype>] - [--ingress | --egress] - [--long] - [<group>] - -.. option:: --all-projects - - Display information from all projects (admin only) - - *Network version 2 ignores this option and will always display information* - *for all projects (admin only).* - -.. option:: --long - - List additional fields in output - - *Compute version 2 does not have additional fields to display.* - -.. option:: --protocol - - List rules by the IP protocol (ah, dhcp, egp, esp, gre, icmp, igmp, - ipv6-encap, ipv6-frag, ipv6-icmp, ipv6-nonxt,ipv6-opts, ipv6-route, - ospf, pgm, rsvp, sctp, tcp, udp, udplite, vrrp and integer - representations [0-255] or any; default: any (all protocols)) - - *Network version 2* - -.. option:: --ethertype - - List rules by the Ethertype (IPv4 or IPv6) - - *Network version 2* - -.. option:: --ingress - - List rules applied to incoming network traffic - - *Network version 2 only* - -.. option:: --egress - - List rules applied to outgoing network traffic - - *Network version 2 only* - -.. describe:: <group> - - List all rules in this security group (name or ID) - -security group rule show ------------------------- - -Display security group rule details - -.. program:: security group rule show -.. code:: bash - - openstack security group rule show - <rule> - -.. describe:: <rule> - - Security group rule to display (ID only) +.. autoprogram-cliff:: openstack.network.v2 + :command: security group rule * diff --git a/doc/source/cli/command-objects/security-group.rst b/doc/source/cli/command-objects/security-group.rst index 403e5fc08f..4edc199547 100644 --- a/doc/source/cli/command-objects/security-group.rst +++ b/doc/source/cli/command-objects/security-group.rst @@ -8,197 +8,23 @@ which specify the network access rules. Compute v2, Network v2 -security group create ---------------------- +.. NOTE(efried): have to list these out one by one; 'security group *' pulls in + ... rule *. -Create a new security group +.. autoprogram-cliff:: openstack.network.v2 + :command: security group create -.. program:: security group create -.. code:: bash +.. autoprogram-cliff:: openstack.network.v2 + :command: security group delete - openstack security group create - [--description <description>] - [--project <project> [--project-domain <project-domain>]] - [--tag <tag> | --no-tag] - <name> +.. autoprogram-cliff:: openstack.network.v2 + :command: security group list -.. option:: --description <description> +.. autoprogram-cliff:: openstack.network.v2 + :command: security group set - Security group description +.. autoprogram-cliff:: openstack.network.v2 + :command: security group show -.. option:: --project <project> - - Owner's project (name or ID) - - *Network version 2 only* - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - *Network version 2 only* - -.. option:: --tag <tag> - - Tag to be added to the security group (repeat option to set multiple tags) - - *Network version 2 only* - -.. option:: --no-tag - - No tags associated with the security group - - *Network version 2 only* - -.. describe:: <name> - - New security group name - -security group delete ---------------------- - -Delete security group(s) - -.. program:: security group delete -.. code:: bash - - openstack security group delete - <group> [<group> ...] - -.. describe:: <group> - - Security group(s) to delete (name or ID) - -security group list -------------------- - -List security groups - -.. program:: security group list -.. code:: bash - - openstack security group list - [--all-projects] - [--project <project> [--project-domain <project-domain>]] - [--tags <tag>[,<tag>,...]] [--any-tags <tag>[,<tag>,...]] - [--not-tags <tag>[,<tag>,...]] [--not-any-tags <tag>[,<tag>,...]] - -.. option:: --all-projects - - Display information from all projects (admin only) - - *Network version 2 ignores this option and will always display information* - *for all projects (admin only).* - -.. option:: --project <project> - - List security groups according to the project (name or ID) - - *Network version 2 only* - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - *Network version 2 only* - -.. option:: --tags <tag>[,<tag>,...] - - List security groups which have all given tag(s) - - *Network version 2 only* - -.. option:: --any-tags <tag>[,<tag>,...] - - List security groups which have any given tag(s) - - *Network version 2 only* - -.. option:: --not-tags <tag>[,<tag>,...] - - Exclude security groups which have all given tag(s) - - *Network version 2 only* - -.. option:: --not-any-tags <tag>[,<tag>,...] - - Exclude security groups which have any given tag(s) - - *Network version 2 only* - -security group set ------------------- - -Set security group properties - -.. program:: security group set -.. code:: bash - - openstack security group set - [--name <new-name>] - [--description <description>] - [--tag <tag>] [--no-tag] - <group> - -.. option:: --name <new-name> - - New security group name - -.. option:: --description <description> - - New security group description - -.. option:: --tag <tag> - - Tag to be added to the security group (repeat option to set multiple tags) - -.. option:: --no-tag - - Clear tags associated with the security group. Specify both --tag - and --no-tag to overwrite current tags - -.. describe:: <group> - - Security group to modify (name or ID) - -security group show -------------------- - -Display security group details - -.. program:: security group show -.. code:: bash - - openstack security group show - <group> - -.. describe:: <group> - - Security group to display (name or ID) - -security group unset --------------------- - -Unset security group properties - -.. program:: security group unset -.. code:: bash - - openstack security group unset - [--tag <tag> | --all-tag] - <group> - -.. option:: --tag <tag> - - Tag to be removed from the security group - (repeat option to remove multiple tags) - -.. option:: --all-tag - - Clear all tags associated with the security group - -.. describe:: <group> - - Security group to modify (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: security group unset diff --git a/doc/source/cli/command-objects/subnet-pool.rst b/doc/source/cli/command-objects/subnet-pool.rst index 77259a83fd..ce9649dc94 100644 --- a/doc/source/cli/command-objects/subnet-pool.rst +++ b/doc/source/cli/command-objects/subnet-pool.rst @@ -7,304 +7,5 @@ that are available for IP address allocation. Network v2 -subnet pool create ------------------- - -Create subnet pool - -.. program:: subnet pool create -.. code:: bash - - openstack subnet pool create - [--default-prefix-length <default-prefix-length>] - [--min-prefix-length <min-prefix-length>] - [--max-prefix-length <max-prefix-length>] - [--description <description>] - [--project <project> [--project-domain <project-domain>]] - [--address-scope <address-scope>] - [--default | --no-default] - [--share | --no-share] - [--default-quota <num-ip-addresses>] - [--tag <tag> | --no-tag] - --pool-prefix <pool-prefix> [...] - <name> - -.. option:: --default-prefix-length <default-prefix-length> - - Set subnet pool default prefix length - -.. option:: --min-prefix-length <min-prefix-length> - - Set subnet pool minimum prefix length - -.. option:: --max-prefix-length <max-prefix-length> - - Set subnet pool maximum prefix length - -.. option:: --description <description> - - Set subnet pool description - -.. option:: --project <project> - - Owner's project (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). This can be used in case - collisions between project names exist. - -.. option:: --address-scope <address-scope> - - Set address scope associated with the subnet pool (name or ID), - prefixes must be unique across address scopes - -.. option:: --default - - Set this as a default subnet pool - -.. option:: --no-default - - Set this as a non-default subnet pool - -.. option:: --share - - Set this subnet pool as shared - -.. option:: --no-share - - Set this subnet pool as not shared - -.. option:: --default-quota <num-ip-addresses> - - Set default per-project quota for this subnet pool as the number of - IP addresses that can be allocated from the subnet pool - -.. option:: --tag <tag> - - Tag to be added to the subnet pool (repeat option to set multiple tags) - -.. option:: --no-tag - - No tags associated with the subnet pool - -.. option:: --pool-prefix <pool-prefix> - - Set subnet pool prefixes (in CIDR notation) - (repeat option to set multiple prefixes) - -.. _subnet_pool_create-name: -.. describe:: <name> - - Name of the new subnet pool - -subnet pool delete ------------------- - -Delete subnet pool(s) - -.. program:: subnet pool delete -.. code:: bash - - openstack subnet pool delete - <subnet-pool> [<subnet-pool> ...] - -.. _subnet_pool_delete-subnet-pool: -.. describe:: <subnet-pool> - - Subnet pool(s) to delete (name or ID) - -subnet pool list ----------------- - -List subnet pools - -.. program:: subnet pool list -.. code:: bash - - openstack subnet pool list - [--long] - [--share | --no-share] - [--default | --no-default] - [--project <project> [--project-domain <project-domain>]] - [--name <name>] - [--address-scope <address-scope>] - [--tags <tag>[,<tag>,...]] [--any-tags <tag>[,<tag>,...]] - [--not-tags <tag>[,<tag>,...]] [--not-any-tags <tag>[,<tag>,...]] - -.. option:: --long - - List additional fields in output - -.. option:: --share - - List subnet pools shared between projects - -.. option:: --no-share - - List subnet pools not shared between projects - -.. option:: --default - - List subnet pools used as the default external subnet pool - -.. option:: --no-default - - List subnet pools not used as the default external subnet pool - -.. option:: --project <project> - - List subnet pools according to their project (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --name <name> - - List only subnet pools of given name in output - -.. option:: --address-scope <address-scope> - - List only subnet pools of given address scope in output (name or ID) - -.. option:: --tags <tag>[,<tag>,...] - - List subnet pools which have all given tag(s) - -.. option:: --any-tags <tag>[,<tag>,...] - - List subnet pools which have any given tag(s) - -.. option:: --not-tags <tag>[,<tag>,...] - - Exclude subnet pools which have all given tag(s) - -.. option:: --not-any-tags <tag>[,<tag>,...] - - Exclude subnet pools which have any given tag(s) - -subnet pool set ---------------- - -Set subnet pool properties - -.. program:: subnet pool set -.. code:: bash - - openstack subnet pool set - [--name <name>] - [--pool-prefix <pool-prefix> [...]] - [--default-prefix-length <default-prefix-length>] - [--min-prefix-length <min-prefix-length>] - [--max-prefix-length <max-prefix-length>] - [--address-scope <address-scope> | --no-address-scope] - [--default | --no-default] - [--description <description>] - [--default-quota <num-ip-addresses>] - [--tag <tag>] [--no-tag] - <subnet-pool> - -.. option:: --name <name> - - Set subnet pool name - -.. option:: --pool-prefix <pool-prefix> - - Set subnet pool prefixes (in CIDR notation) - (repeat option to set multiple prefixes) - -.. option:: --default-prefix-length <default-prefix-length> - - Set subnet pool default prefix length - -.. option:: --min-prefix-length <min-prefix-length> - - Set subnet pool minimum prefix length - -.. option:: --max-prefix-length <max-prefix-length> - - Set subnet pool maximum prefix length - -.. option:: --address-scope <address-scope> - - Set address scope associated with the subnet pool (name or ID), - prefixes must be unique across address scopes - -.. option:: --no-address-scope - - Remove address scope associated with the subnet pool - -.. option:: --default - - Set this as a default subnet pool - -.. option:: --no-default - - Set this as a non-default subnet pool - -.. option:: --description <description> - - Set subnet pool description - -.. option:: --default-quota <num-ip-addresses> - - Set default per-project quota for this subnet pool as the number of - IP addresses that can be allocated from the subnet pool - -.. option:: --tag <tag> - - Tag to be added to the subnet pool (repeat option to set multiple tags) - -.. option:: --no-tag - - Clear tags associated with the subnet pool. Specify both --tag - and --no-tag to overwrite current tags - -.. _subnet_pool_set-subnet-pool: -.. describe:: <subnet-pool> - - Subnet pool to modify (name or ID) - -subnet pool show ----------------- - -Display subnet pool details - -.. program:: subnet pool show -.. code:: bash - - openstack subnet pool show - <subnet-pool> - -.. _subnet_pool_show-subnet-pool: -.. describe:: <subnet-pool> - - Subnet pool to display (name or ID) - -subnet pool unset ------------------ - -Unset subnet pool properties - -.. program:: subnet pool unset -.. code:: bash - - openstack subnet pool unset - [--tag <tag> | --all-tag] - <subnet-pool> - -.. option:: --tag <tag> - - Tag to be removed from the subnet pool - (repeat option to remove multiple tags) - -.. option:: --all-tag - - Clear all tags associated with the subnet pool - -.. _subnet_pool_unset-subnet-pool: -.. describe:: <subnet-pool> - - Subnet pool to modify (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: subnet pool * diff --git a/doc/source/cli/command-objects/subnet.rst b/doc/source/cli/command-objects/subnet.rst index 73e656d895..488fc5a2f5 100644 --- a/doc/source/cli/command-objects/subnet.rst +++ b/doc/source/cli/command-objects/subnet.rst @@ -8,427 +8,23 @@ network. Network v2 -subnet create -------------- +.. NOTE(efried): have to list these out one by one; 'subnet *' pulls in + subnet pool *. -Create new subnet +.. autoprogram-cliff:: openstack.network.v2 + :command: subnet create -.. program:: subnet create -.. code:: bash +.. autoprogram-cliff:: openstack.network.v2 + :command: subnet delete - openstack subnet create - [--project <project> [--project-domain <project-domain>]] - [--subnet-pool <subnet-pool> | --use-default-subnet-pool [--prefix-length <prefix-length>] | --use-prefix-delegation] - [--subnet-range <subnet-range>] - [--allocation-pool start=<ip-address>,end=<ip-address>] - [--dhcp | --no-dhcp] - [--dns-nameserver <dns-nameserver>] - [--gateway <gateway>] - [--host-route destination=<subnet>,gateway=<ip-address>] - [--ip-version {4,6}] - [--description <description>] - [--ipv6-ra-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}] - [--ipv6-address-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}] - [--network-segment <network-segment>] - [--service-type <service-type>] - [--tag <tag> | --no-tag] - --network <network> - <name> +.. autoprogram-cliff:: openstack.network.v2 + :command: subnet list -.. option:: --project <project> +.. autoprogram-cliff:: openstack.network.v2 + :command: subnet set - Owner's project (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: subnet show -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --subnet-pool <subnet-pool> - - Subnet pool from which this subnet will obtain a CIDR (name or ID) - -.. option:: --use-prefix-delegation - - Use 'prefix-delegation' if IP is IPv6 format and IP would be delegated - externally - -.. option:: --use-default-subnet-pool - - Use default subnet pool for :option:`--ip-version` - -.. option:: --prefix-length <prefix-length> - - Prefix length for subnet allocation from subnet pool - -.. option:: --subnet-range <subnet-range> - - Subnet range in CIDR notation - (required if :option:`--subnet-pool` is not specified, optional otherwise) - -.. option:: --allocation-pool start=<ip-address>,end=<ip-address> - - Allocation pool IP addresses for this subnet e.g.: - ``start=192.168.199.2,end=192.168.199.254`` - (repeat option to add multiple IP addresses) - -.. option:: --dhcp - - Enable DHCP (default) - -.. option:: --no-dhcp - - Disable DHCP - -.. option:: --dns-nameserver <dns-nameserver> - - DNS server for this subnet (repeat option to set multiple DNS servers) - -.. option:: --gateway <gateway> - - Specify a gateway for the subnet. The three options are: - <ip-address>: Specific IP address to use as the gateway, - 'auto': Gateway address should automatically be chosen from - within the subnet itself, 'none': This subnet will not use - a gateway, e.g.: ``--gateway 192.168.9.1``, ``--gateway auto``, - ``--gateway none`` (default is 'auto'). - -.. option:: --host-route destination=<subnet>,gateway=<ip-address> - - Additional route for this subnet e.g.: - ``destination=10.10.0.0/16,gateway=192.168.71.254`` - destination: destination subnet (in CIDR notation) - gateway: nexthop IP address - (repeat option to add multiple routes) - -.. option:: --ip-version {4,6} - - IP version (default is 4). Note that when subnet pool is specified, - IP version is determined from the subnet pool and this option - is ignored. - -.. option:: --description <description> - - Set subnet description - -.. option:: --ipv6-ra-mode {dhcpv6-stateful,dhcpv6-stateless,slaac} - - IPv6 RA (Router Advertisement) mode, - valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac] - -.. option:: --ipv6-address-mode {dhcpv6-stateful,dhcpv6-stateless,slaac} - - IPv6 address mode, valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac] - -.. option:: --network-segment <network-segment> - - Network segment to associate with this subnet (name or ID) - -.. option:: --service-type <service-type> - - Service type for this subnet e.g.: - ``network:floatingip_agent_gateway``. - Must be a valid device owner value for a network port - (repeat option to set multiple service types) - -.. option:: --tag <tag> - - Tag to be added to the subnet (repeat option to set multiple tags) - -.. option:: --no-tag - - No tags associated with the subnet - -.. option:: --network <network> - - Network this subnet belongs to (name or ID) - -.. _subnet_create-name: -.. describe:: <name> - - Name of subnet to create - -subnet delete -------------- - -Delete subnet(s) - -.. program:: subnet delete -.. code:: bash - - openstack subnet delete - <subnet> [<subnet> ...] - -.. _subnet_delete-subnet: -.. describe:: <subnet> - - Subnet(s) to delete (name or ID) - -subnet list ------------ - -List subnets - -.. program:: subnet list -.. code:: bash - - openstack subnet list - [--long] - [--ip-version {4,6}] - [--dhcp | --no-dhcp] - [--project <project> [--project-domain <project-domain>]] - [--network <network>] - [--gateway <gateway>] - [--name <name>] - [--subnet-range <subnet-range>] - [--tags <tag>[,<tag>,...]] [--any-tags <tag>[,<tag>,...]] - [--not-tags <tag>[,<tag>,...]] [--not-any-tags <tag>[,<tag>,...]] - -.. option:: --long - - List additional fields in output - -.. option:: --ip-version {4, 6} - - List only subnets of given IP version in output. - Allowed values for IP version are 4 and 6. - -.. option:: --dhcp - - List subnets which have DHCP enabled - -.. option:: --no-dhcp - - List subnets which have DHCP disabled - -.. option:: --service-type <service-type> - - List only subnets of a given service type in output - e.g.: ``network:floatingip_agent_gateway``. - Must be a valid device owner value for a network port - (repeat option to list multiple service types) - -.. option:: --project <project> - - List only subnets which belong to a given project in output (name or ID) - -.. option:: --project-domain <project-domain> - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --network <network> - - List only subnets which belong to a given network in output (name or ID) - -.. option:: --gateway <gateway> - - List only subnets of given gateway IP in output - -.. option:: --name <name> - - List only subnets of given name in output - -.. option:: --subnet-range <subnet-range> - - List only subnets of given subnet range (in CIDR notation) in output - e.g.: ``--subnet-range 10.10.0.0/16`` - -.. option:: --tags <tag>[,<tag>,...] - - List subnets which have all given tag(s) - -.. option:: --any-tags <tag>[,<tag>,...] - - List subnets which have any given tag(s) - -.. option:: --not-tags <tag>[,<tag>,...] - - Exclude subnets which have all given tag(s) - -.. option:: --not-any-tags <tag>[,<tag>,...] - - Exclude subnets which have any given tag(s) - -subnet set ----------- - -Set subnet properties - -.. program:: subnet set -.. code:: bash - - openstack subnet set - [--allocation-pool start=<ip-address>,end=<ip-address>] - [--no-allocation-pool] - [--dhcp | --no-dhcp] - [--dns-nameserver <dns-nameserver>] - [--no-dns-nameserver] - [--gateway <gateway-ip>] - [--network-segment <network-segment>] - [--host-route destination=<subnet>,gateway=<ip-address>] - [--no-host-route] - [--service-type <service-type>] - [--name <new-name>] - [--description <description>] - [--tag <tag>] [--no-tag] - <subnet> - -.. option:: --allocation-pool start=<ip-address>,end=<ip-address> - - Allocation pool IP addresses for this subnet e.g.: - ``start=192.168.199.2,end=192.168.199.254`` - (repeat option to add multiple IP addresses) - -.. option:: --no-allocation-pool - - Clear associated allocation pools from this subnet. - Specify both :option:`--allocation-pool` and :option:`--no-allocation-pool` - to overwrite the current allocation pool information. - -.. option:: --dhcp - - Enable DHCP - -.. option:: --no-dhcp - - Disable DHCP - -.. option:: --dns-nameserver <dns-nameserver> - - DNS server for this subnet (repeat option to set multiple DNS servers) - -.. option:: --no-dns-nameservers - - Clear existing information of DNS servers. - Specify both :option:`--dns-nameserver` and :option:`--no-dns-nameservers` - to overwrite the current DNS server information. - -.. option:: --gateway <gateway> - - Specify a gateway for the subnet. The options are: - <ip-address>: Specific IP address to use as the gateway, - 'none': This subnet will not use a gateway, - e.g.: ``--gateway 192.168.9.1``, ``--gateway none``. - -.. option:: --network-segment <network-segment> - - Network segment to associate with this subnet (name or ID). It is only - allowed to set the segment if the current value is `None`, the network - must also have only one segment and only one subnet can exist on the - network. - -.. option:: --host-route destination=<subnet>,gateway=<ip-address> - - Additional route for this subnet e.g.: - ``destination=10.10.0.0/16,gateway=192.168.71.254`` - destination: destination subnet (in CIDR notation) - gateway: nexthop IP address - -.. option:: --no-host-route - - Clear associated host routes from this subnet. - Specify both :option:`--host-route` and :option:`--no-host-route` - to overwrite the current host route information. - -.. option:: --service-type <service-type> - - Service type for this subnet e.g.: - ``network:floatingip_agent_gateway``. - Must be a valid device owner value for a network port - (repeat option to set multiple service types) - -.. option:: --description <description> - - Set subnet description - -.. option:: --name - - Updated name of the subnet - -.. option:: --tag <tag> - - Tag to be added to the subnet (repeat option to set multiple tags) - -.. option:: --no-tag - - Clear tags associated with the subnet. Specify both --tag - and --no-tag to overwrite current tags - -.. _subnet_set-subnet: -.. describe:: <subnet> - - Subnet to modify (name or ID) - - -subnet show ------------ - -Display subnet details - -.. program:: subnet show -.. code:: bash - - openstack subnet show - <subnet> - -.. _subnet_show-subnet: -.. describe:: <subnet> - - Subnet to display (name or ID) - -subnet unset ------------- - -Unset subnet properties - -.. program:: subnet unset -.. code:: bash - - openstack subnet unset - [--allocation-pool start=<ip-address>,end=<ip-address> [...]] - [--dns-nameserver <dns-nameserver> [...]] - [--host-route destination=<subnet>,gateway=<ip-address> [...]] - [--service-type <service-type>] - [--tag <tag> | --all-tag] - <subnet> - -.. option:: --dns-nameserver <dns-nameserver> - - DNS server to be removed from this subnet - (repeat option to unset multiple DNS servers) - -.. option:: --allocation-pool start=<ip-address>,end=<ip-address> - - Allocation pool IP addresses to be removed from this - subnet e.g.: ``start=192.168.199.2,end=192.168.199.254`` - (repeat option to unset multiple allocation pools) - -.. option:: --host-route destination=<subnet>,gateway=<ip-address> - - Route to be removed from this subnet e.g.: - ``destination=10.10.0.0/16,gateway=192.168.71.254`` - destination: destination subnet (in CIDR notation) - gateway: nexthop IP address - (repeat option to unset multiple host routes) - -.. option:: --service-type <service-type> - - Service type to be removed from this subnet e.g.: - ``network:floatingip_agent_gateway``. - Must be a valid device owner value for a network port - (repeat option to unset multiple service types) - -.. option:: --tag <tag> - - Tag to be removed from the subnet - (repeat option to remove multiple tags) - -.. option:: --all-tag - - Clear all tags associated with the subnet - -.. _subnet_unset-subnet: -.. describe:: <subnet> - - Subnet to modify (name or ID) +.. autoprogram-cliff:: openstack.network.v2 + :command: subnet unset diff --git a/openstackclient/identity/common.py b/openstackclient/identity/common.py index d125d2851d..7be2a17b72 100644 --- a/openstackclient/identity/common.py +++ b/openstackclient/identity/common.py @@ -233,13 +233,13 @@ def add_group_domain_option_to_parser(parser): ) -def add_project_domain_option_to_parser(parser): +def add_project_domain_option_to_parser(parser, enhance_help=lambda _h: _h): parser.add_argument( '--project-domain', metavar='<project-domain>', - help=_('Domain the project belongs to (name or ID). ' - 'This can be used in case collisions between project names ' - 'exist.'), + help=enhance_help(_('Domain the project belongs to (name or ID). This ' + 'can be used in case collisions between project ' + 'names exist.')), ) diff --git a/openstackclient/network/common.py b/openstackclient/network/common.py index d22b2caa3c..e68628b3f1 100644 --- a/openstackclient/network/common.py +++ b/openstackclient/network/common.py @@ -34,6 +34,10 @@ _required_opt_extensions_map = { 'security_groups': 'security-groups', } +_NET_TYPE_NEUTRON = 'neutron' +_NET_TYPE_COMPUTE = 'nova-network' +_QUALIFIER_FMT = "%s\n\n*%s*" + @contextlib.contextmanager def check_missing_extension_if_error(client_manager, attrs): @@ -51,35 +55,87 @@ def check_missing_extension_if_error(client_manager, attrs): @six.add_metaclass(abc.ABCMeta) -class NetworkAndComputeCommand(command.Command): - """Network and Compute Command +class NetDetectionMixin(object): + """Convenience methods for nova-network vs. neutron decisions. - Command class for commands that support implementation via - the network or compute endpoint. Such commands have different - implementations for take_action() and may even have different - arguments. + A live environment detects which network type it is running and creates its + parser with only the options relevant to that network type. + + But the command classes are used for docs builds as well, and docs must + present the options for both network types, often qualified accordingly. """ + @property + def _network_type(self): + """Discover whether the running cloud is using neutron or nova-network. - def take_action(self, parsed_args): - if self.app.client_manager.is_network_endpoint_enabled(): - return self.take_action_network(self.app.client_manager.network, - parsed_args) - else: - return self.take_action_compute(self.app.client_manager.compute, - parsed_args) + :return: + * ``NET_TYPE_NEUTRON`` if neutron is detected + * ``NET_TYPE_COMPUTE`` if running in a cloud but neutron is not + detected. + * ``None`` if not running in a cloud, which hopefully means we're + building docs. + """ + # Have we set it up yet for this command? + if not hasattr(self, '_net_type'): + # import pdb; pdb.set_trace() + try: + if self.app.client_manager.is_network_endpoint_enabled(): + net_type = _NET_TYPE_NEUTRON + else: + net_type = _NET_TYPE_COMPUTE + except AttributeError: + LOG.warning( + "%s: Could not detect a network type. Assuming we are " + "building docs.", self.__class__.__name__) + net_type = None + self._net_type = net_type + return self._net_type + + @property + def is_neutron(self): + return self._network_type is _NET_TYPE_NEUTRON + + @property + def is_nova_network(self): + return self._network_type is _NET_TYPE_COMPUTE + + @property + def is_docs_build(self): + return self._network_type is None + + def enhance_help_neutron(self, _help): + if self.is_docs_build: + # Why can't we say 'neutron'? + return _QUALIFIER_FMT % (_help, _("Network version 2 only")) + return _help + + def enhance_help_nova_network(self, _help): + if self.is_docs_build: + # Why can't we say 'nova-network'? + return _QUALIFIER_FMT % (_help, _("Compute version 2 only")) + return _help + + @staticmethod + def split_help(network_help, compute_help): + return ( + "*%(network_qualifier)s:*\n %(network_help)s\n\n" + "*%(compute_qualifier)s:*\n %(compute_help)s" % dict( + network_qualifier=_("Network version 2"), + network_help=network_help, + compute_qualifier=_("Compute version 2"), + compute_help=compute_help)) def get_parser(self, prog_name): LOG.debug('get_parser(%s)', prog_name) - parser = super(NetworkAndComputeCommand, self).get_parser(prog_name) + parser = super(NetDetectionMixin, self).get_parser(prog_name) parser = self.update_parser_common(parser) LOG.debug('common parser: %s', parser) - if ( - self.app is None or - self.app.client_manager.is_network_endpoint_enabled() - ): - return self.update_parser_network(parser) - else: - return self.update_parser_compute(parser) + if self.is_neutron or self.is_docs_build: + parser = self.update_parser_network(parser) + if self.is_nova_network or self.is_docs_build: + # Add nova-net options if running nova-network or building docs + parser = self.update_parser_compute(parser) + return parser def update_parser_common(self, parser): """Default is no updates to parser.""" @@ -93,17 +149,35 @@ class NetworkAndComputeCommand(command.Command): """Default is no updates to parser.""" return parser - @abc.abstractmethod + def take_action(self, parsed_args): + if self.is_neutron: + return self.take_action_network(self.app.client_manager.network, + parsed_args) + elif self.is_nova_network: + return self.take_action_compute(self.app.client_manager.compute, + parsed_args) + def take_action_network(self, client, parsed_args): """Override to do something useful.""" pass - @abc.abstractmethod def take_action_compute(self, client, parsed_args): """Override to do something useful.""" pass +@six.add_metaclass(abc.ABCMeta) +class NetworkAndComputeCommand(NetDetectionMixin, command.Command): + """Network and Compute Command + + Command class for commands that support implementation via + the network or compute endpoint. Such commands have different + implementations for take_action() and may even have different + arguments. + """ + pass + + @six.add_metaclass(abc.ABCMeta) class NetworkAndComputeDelete(NetworkAndComputeCommand): """Network and Compute Delete @@ -149,7 +223,7 @@ class NetworkAndComputeDelete(NetworkAndComputeCommand): @six.add_metaclass(abc.ABCMeta) -class NetworkAndComputeLister(command.Lister): +class NetworkAndComputeLister(NetDetectionMixin, command.Lister): """Network and Compute Lister Lister class for commands that support implementation via @@ -157,50 +231,11 @@ class NetworkAndComputeLister(command.Lister): implementations for take_action() and may even have different arguments. """ - - def take_action(self, parsed_args): - if self.app.client_manager.is_network_endpoint_enabled(): - return self.take_action_network(self.app.client_manager.network, - parsed_args) - else: - return self.take_action_compute(self.app.client_manager.compute, - parsed_args) - - def get_parser(self, prog_name): - LOG.debug('get_parser(%s)', prog_name) - parser = super(NetworkAndComputeLister, self).get_parser(prog_name) - parser = self.update_parser_common(parser) - LOG.debug('common parser: %s', parser) - if self.app.client_manager.is_network_endpoint_enabled(): - return self.update_parser_network(parser) - else: - return self.update_parser_compute(parser) - - def update_parser_common(self, parser): - """Default is no updates to parser.""" - return parser - - def update_parser_network(self, parser): - """Default is no updates to parser.""" - return parser - - def update_parser_compute(self, parser): - """Default is no updates to parser.""" - return parser - - @abc.abstractmethod - def take_action_network(self, client, parsed_args): - """Override to do something useful.""" - pass - - @abc.abstractmethod - def take_action_compute(self, client, parsed_args): - """Override to do something useful.""" - pass + pass @six.add_metaclass(abc.ABCMeta) -class NetworkAndComputeShowOne(command.ShowOne): +class NetworkAndComputeShowOne(NetDetectionMixin, command.ShowOne): """Network and Compute ShowOne ShowOne class for commands that support implementation via @@ -222,35 +257,3 @@ class NetworkAndComputeShowOne(command.ShowOne): if exc.details: msg += ", " + six.text_type(exc.details) raise exceptions.CommandError(msg) - - def get_parser(self, prog_name): - LOG.debug('get_parser(%s)', prog_name) - parser = super(NetworkAndComputeShowOne, self).get_parser(prog_name) - parser = self.update_parser_common(parser) - LOG.debug('common parser: %s', parser) - if self.app.client_manager.is_network_endpoint_enabled(): - return self.update_parser_network(parser) - else: - return self.update_parser_compute(parser) - - def update_parser_common(self, parser): - """Default is no updates to parser.""" - return parser - - def update_parser_network(self, parser): - """Default is no updates to parser.""" - return parser - - def update_parser_compute(self, parser): - """Default is no updates to parser.""" - return parser - - @abc.abstractmethod - def take_action_network(self, client, parsed_args): - """Override to do something useful.""" - pass - - @abc.abstractmethod - def take_action_compute(self, client, parsed_args): - """Override to do something useful.""" - pass diff --git a/openstackclient/network/v2/_tag.py b/openstackclient/network/v2/_tag.py index ce39f35ec0..e1cba22ea9 100644 --- a/openstackclient/network/v2/_tag.py +++ b/openstackclient/network/v2/_tag.py @@ -22,34 +22,39 @@ class _CommaListAction(argparse.Action): setattr(namespace, self.dest, values.split(',')) -def add_tag_filtering_option_to_parser(parser, collection_name): +def add_tag_filtering_option_to_parser(parser, collection_name, + enhance_help=lambda _h: _h): parser.add_argument( '--tags', metavar='<tag>[,<tag>,...]', action=_CommaListAction, - help=_('List %s which have all given tag(s) ' - '(Comma-separated list of tags)') % collection_name + help=enhance_help( + _('List %s which have all given tag(s) (Comma-separated list of ' + 'tags)') % collection_name) ) parser.add_argument( '--any-tags', metavar='<tag>[,<tag>,...]', action=_CommaListAction, - help=_('List %s which have any given tag(s) ' - '(Comma-separated list of tags)') % collection_name + help=enhance_help( + _('List %s which have any given tag(s) (Comma-separated list of ' + 'tags)') % collection_name) ) parser.add_argument( '--not-tags', metavar='<tag>[,<tag>,...]', action=_CommaListAction, - help=_('Exclude %s which have all given tag(s) ' - '(Comma-separated list of tags)') % collection_name + help=enhance_help( + _('Exclude %s which have all given tag(s) (Comma-separated list ' + 'of tags)') % collection_name) ) parser.add_argument( '--not-any-tags', metavar='<tag>[,<tag>,...]', action=_CommaListAction, - help=_('Exclude %s which have any given tag(s) ' - '(Comma-separated list of tags)') % collection_name + help=enhance_help( + _('Exclude %s which have any given tag(s) (Comma-separated list ' + 'of tags)') % collection_name) ) @@ -64,37 +69,42 @@ def get_tag_filtering_args(parsed_args, args): args['not_any_tags'] = ','.join(parsed_args.not_any_tags) -def add_tag_option_to_parser_for_create(parser, resource_name): +def add_tag_option_to_parser_for_create(parser, resource_name, + enhance_help=lambda _h: _h): tag_group = parser.add_mutually_exclusive_group() tag_group.add_argument( '--tag', action='append', dest='tags', metavar='<tag>', - help=_("Tag to be added to the %s " - "(repeat option to set multiple tags)") % resource_name + help=enhance_help( + _("Tag to be added to the %s " + "(repeat option to set multiple tags)") % resource_name) ) tag_group.add_argument( '--no-tag', action='store_true', - help=_("No tags associated with the %s") % resource_name + help=enhance_help(_("No tags associated with the %s") % resource_name) ) -def add_tag_option_to_parser_for_set(parser, resource_name): +def add_tag_option_to_parser_for_set(parser, resource_name, + enhance_help=lambda _h: _h): parser.add_argument( '--tag', action='append', dest='tags', metavar='<tag>', - help=_("Tag to be added to the %s " - "(repeat option to set multiple tags)") % resource_name + help=enhance_help( + _("Tag to be added to the %s (repeat option to set multiple " + "tags)") % resource_name) ) parser.add_argument( '--no-tag', action='store_true', - help=_("Clear tags associated with the %s. Specify both " - "--tag and --no-tag to overwrite current tags") % resource_name + help=enhance_help( + _("Clear tags associated with the %s. Specify both --tag and " + "--no-tag to overwrite current tags") % resource_name) ) diff --git a/openstackclient/network/v2/floating_ip.py b/openstackclient/network/v2/floating_ip.py index e0aa0435ed..bd43379aff 100644 --- a/openstackclient/network/v2/floating_ip.py +++ b/openstackclient/network/v2/floating_ip.py @@ -114,57 +114,65 @@ class CreateFloatingIP(common.NetworkAndComputeShowOne): parser.add_argument( '--subnet', metavar='<subnet>', - help=_("Subnet on which you want to create the floating IP " - "(name or ID)") + help=self.enhance_help_neutron( + _("Subnet on which you want to create the floating IP " + "(name or ID)")) ) parser.add_argument( '--port', metavar='<port>', - help=_("Port to be associated with the floating IP " - "(name or ID)") + help=self.enhance_help_neutron( + _("Port to be associated with the floating IP " + "(name or ID)")) ) parser.add_argument( '--floating-ip-address', metavar='<ip-address>', dest='floating_ip_address', - help=_("Floating IP address") + help=self.enhance_help_neutron(_("Floating IP address")) ) parser.add_argument( '--fixed-ip-address', metavar='<ip-address>', dest='fixed_ip_address', - help=_("Fixed IP address mapped to the floating IP") + help=self.enhance_help_neutron( + _("Fixed IP address mapped to the floating IP")) ) parser.add_argument( '--qos-policy', metavar='<qos-policy>', - help=_("Attach QoS policy to the floating IP (name or ID)") + help=self.enhance_help_neutron( + _("Attach QoS policy to the floating IP (name or ID)")) ) parser.add_argument( '--description', metavar='<description>', - help=_('Set floating IP description') + help=self.enhance_help_neutron(_('Set floating IP description')) ) parser.add_argument( '--project', metavar='<project>', - help=_("Owner's project (name or ID)") + help=self.enhance_help_neutron(_("Owner's project (name or ID)")) ) parser.add_argument( '--dns-domain', metavar='<dns-domain>', dest='dns_domain', - help=_("Set DNS domain for this floating IP") + help=self.enhance_help_neutron( + _("Set DNS domain for this floating IP")) ) parser.add_argument( '--dns-name', metavar='<dns-name>', dest='dns_name', - help=_("Set DNS name for this floating IP") + help=self.enhance_help_neutron( + _("Set DNS name for this floating IP")) ) - identity_common.add_project_domain_option_to_parser(parser) - _tag.add_tag_option_to_parser_for_create(parser, _('floating IP')) + identity_common.add_project_domain_option_to_parser( + parser, enhance_help=self.enhance_help_neutron) + _tag.add_tag_option_to_parser_for_create( + parser, _('floating IP'), enhance_help=self.enhance_help_neutron) return parser def take_action_network(self, client, parsed_args): @@ -217,60 +225,68 @@ class DeleteFloatingIP(common.NetworkAndComputeDelete): class ListFloatingIP(common.NetworkAndComputeLister): # TODO(songminglong): Use SDK resource mapped attribute names once # the OSC minimum requirements include SDK 1.0 + _description = _("List floating IP(s)") def update_parser_network(self, parser): parser.add_argument( '--network', metavar='<network>', - help=_("List floating IP(s) according to " - "given network (name or ID)") + help=self.enhance_help_neutron( + _("List floating IP(s) according to " + "given network (name or ID)")) ) parser.add_argument( '--port', metavar='<port>', - help=_("List floating IP(s) according to " - "given port (name or ID)") + help=self.enhance_help_neutron( + _("List floating IP(s) according to given port (name or ID)")) ) parser.add_argument( '--fixed-ip-address', metavar='<ip-address>', - help=_("List floating IP(s) according to " - "given fixed IP address") + help=self.enhance_help_neutron( + _("List floating IP(s) according to given fixed IP address")) ) parser.add_argument( '--floating-ip-address', metavar='<ip-address>', - help=_("List floating IP(s) according to " - "given floating IP address") + help=self.enhance_help_neutron( + _("List floating IP(s) according to given floating IP " + "address")) ) parser.add_argument( '--long', action='store_true', default=False, - help=_("List additional fields in output") + help=self.enhance_help_neutron( + _("List additional fields in output")) ) parser.add_argument( '--status', metavar='<status>', choices=['ACTIVE', 'DOWN'], - help=_("List floating IP(s) according to " - "given status ('ACTIVE', 'DOWN')") + help=self.enhance_help_neutron( + _("List floating IP(s) according to given status ('ACTIVE', " + "'DOWN')")) ) parser.add_argument( '--project', metavar='<project>', - help=_("List floating IP(s) according to " - "given project (name or ID)") + help=self.enhance_help_neutron( + _("List floating IP(s) according to given project (name or " + "ID)")) ) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( '--router', metavar='<router>', - help=_("List floating IP(s) according to " - "given router (name or ID)") + help=self.enhance_help_neutron( + _("List floating IP(s) according to given router (name or " + "ID)")) ) - _tag.add_tag_filtering_option_to_parser(parser, _('floating IP')) + _tag.add_tag_filtering_option_to_parser( + parser, _('floating IP'), enhance_help=self.enhance_help_neutron) return parser diff --git a/openstackclient/network/v2/network.py b/openstackclient/network/v2/network.py index 09f3556c43..e7031266ec 100644 --- a/openstackclient/network/v2/network.py +++ b/openstackclient/network/v2/network.py @@ -219,27 +219,27 @@ class CreateNetwork(common.NetworkAndComputeShowOne): '--enable', action='store_true', default=True, - help=_("Enable network (default)") + help=self.enhance_help_neutron(_("Enable network (default)")) ) admin_group.add_argument( '--disable', action='store_true', - help=_("Disable network") + help=self.enhance_help_neutron(_("Disable network")) ) parser.add_argument( '--project', metavar='<project>', - help=_("Owner's project (name or ID)") + help=self.enhance_help_neutron(_("Owner's project (name or ID)")) ) parser.add_argument( '--description', metavar='<description>', - help=_("Set network description") + help=self.enhance_help_neutron(_("Set network description")) ) parser.add_argument( '--mtu', metavar='<mtu>', - help=_("Set network mtu") + help=self.enhance_help_neutron(_("Set network mtu")) ) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( @@ -247,65 +247,76 @@ class CreateNetwork(common.NetworkAndComputeShowOne): action='append', dest='availability_zone_hints', metavar='<availability-zone>', - help=_("Availability Zone in which to create this network " - "(Network Availability Zone extension required, " - "repeat option to set multiple availability zones)") + help=self.enhance_help_neutron( + _("Availability Zone in which to create this network " + "(Network Availability Zone extension required, " + "repeat option to set multiple availability zones)")) ) port_security_group = parser.add_mutually_exclusive_group() port_security_group.add_argument( '--enable-port-security', action='store_true', - help=_("Enable port security by default for ports created on " - "this network (default)") + help=self.enhance_help_neutron( + _("Enable port security by default for ports created on " + "this network (default)")) ) port_security_group.add_argument( '--disable-port-security', action='store_true', - help=_("Disable port security by default for ports created on " - "this network") + help=self.enhance_help_neutron( + _("Disable port security by default for ports created on " + "this network")) ) external_router_grp = parser.add_mutually_exclusive_group() external_router_grp.add_argument( '--external', action='store_true', - help=_("Set this network as an external network " - "(external-net extension required)") + help=self.enhance_help_neutron( + _("Set this network as an external network " + "(external-net extension required)")) ) external_router_grp.add_argument( '--internal', action='store_true', - help=_("Set this network as an internal network (default)") + help=self.enhance_help_neutron( + _("Set this network as an internal network (default)")) ) default_router_grp = parser.add_mutually_exclusive_group() default_router_grp.add_argument( '--default', action='store_true', - help=_("Specify if this network should be used as " - "the default external network") + help=self.enhance_help_neutron( + _("Specify if this network should be used as the default " + "external network")) ) default_router_grp.add_argument( '--no-default', action='store_true', - help=_("Do not use the network as the default external network " - "(default)") + help=self.enhance_help_neutron( + _("Do not use the network as the default external network " + "(default)")) ) parser.add_argument( '--qos-policy', metavar='<qos-policy>', - help=_("QoS policy to attach to this network (name or ID)") + help=self.enhance_help_neutron( + _("QoS policy to attach to this network (name or ID)")) ) vlan_transparent_grp = parser.add_mutually_exclusive_group() vlan_transparent_grp.add_argument( '--transparent-vlan', action='store_true', - help=_("Make the network VLAN transparent")) + help=self.enhance_help_neutron( + _("Make the network VLAN transparent"))) vlan_transparent_grp.add_argument( '--no-transparent-vlan', action='store_true', - help=_("Do not make the network VLAN transparent")) + help=self.enhance_help_neutron( + _("Do not make the network VLAN transparent"))) _add_additional_network_options(parser) - _tag.add_tag_option_to_parser_for_create(parser, _('network')) + _tag.add_tag_option_to_parser_for_create( + parser, _('network'), enhance_help=self.enhance_help_neutron) return parser def update_parser_compute(self, parser): @@ -313,7 +324,8 @@ class CreateNetwork(common.NetworkAndComputeShowOne): '--subnet', metavar='<subnet>', required=True, - help=_("IPv4 subnet for fixed IPs (in CIDR notation)") + help=self.enhance_help_nova_network( + _("IPv4 subnet for fixed IPs (in CIDR notation)")) ) return parser @@ -376,87 +388,98 @@ class ListNetwork(common.NetworkAndComputeLister): router_ext_group.add_argument( '--external', action='store_true', - help=_("List external networks") + help=self.enhance_help_neutron(_("List external networks")) ) router_ext_group.add_argument( '--internal', action='store_true', - help=_("List internal networks") + help=self.enhance_help_neutron(_("List internal networks")) ) parser.add_argument( '--long', action='store_true', - help=_("List additional fields in output") + help=self.enhance_help_neutron( + _("List additional fields in output")) ) parser.add_argument( '--name', metavar='<name>', - help=_("List networks according to their name") + help=self.enhance_help_neutron( + _("List networks according to their name")) ) admin_state_group = parser.add_mutually_exclusive_group() admin_state_group.add_argument( '--enable', action='store_true', - help=_("List enabled networks") + help=self.enhance_help_neutron(_("List enabled networks")) ) admin_state_group.add_argument( '--disable', action='store_true', - help=_("List disabled networks") + help=self.enhance_help_neutron(_("List disabled networks")) ) parser.add_argument( '--project', metavar='<project>', help=_("List networks according to their project (name or ID)") ) - identity_common.add_project_domain_option_to_parser(parser) + identity_common.add_project_domain_option_to_parser( + parser, enhance_help=self.enhance_help_neutron) shared_group = parser.add_mutually_exclusive_group() shared_group.add_argument( '--share', action='store_true', - help=_("List networks shared between projects") + help=self.enhance_help_neutron( + _("List networks shared between projects")) ) shared_group.add_argument( '--no-share', action='store_true', - help=_("List networks not shared between projects") + help=self.enhance_help_neutron( + _("List networks not shared between projects")) ) parser.add_argument( '--status', metavar='<status>', choices=['ACTIVE', 'BUILD', 'DOWN', 'ERROR'], - help=_("List networks according to their status " - "('ACTIVE', 'BUILD', 'DOWN', 'ERROR')") + help=self.enhance_help_neutron( + _("List networks according to their status " + "('ACTIVE', 'BUILD', 'DOWN', 'ERROR')")) ) parser.add_argument( '--provider-network-type', metavar='<provider-network-type>', choices=['flat', 'geneve', 'gre', 'local', 'vlan', 'vxlan'], - help=_("List networks according to their physical mechanisms. " - "The supported options are: flat, geneve, gre, local, " - "vlan, vxlan.") + help=self.enhance_help_neutron( + _("List networks according to their physical mechanisms. The " + "supported options are: flat, geneve, gre, local, vlan, " + "vxlan.")) ) parser.add_argument( '--provider-physical-network', metavar='<provider-physical-network>', dest='physical_network', - help=_("List networks according to name of the physical network") + help=self.enhance_help_neutron( + _("List networks according to name of the physical network")) ) parser.add_argument( '--provider-segment', metavar='<provider-segment>', dest='segmentation_id', - help=_("List networks according to VLAN ID for VLAN networks " - "or Tunnel ID for GENEVE/GRE/VXLAN networks") + help=self.enhance_help_neutron( + _("List networks according to VLAN ID for VLAN networks or " + "Tunnel ID for GENEVE/GRE/VXLAN networks")) ) parser.add_argument( '--agent', metavar='<agent-id>', dest='agent_id', - help=_('List networks hosted by agent (ID only)') + help=self.enhance_help_neutron( + _('List networks hosted by agent (ID only)')) ) - _tag.add_tag_filtering_option_to_parser(parser, _('networks')) + _tag.add_tag_filtering_option_to_parser( + parser, _('networks'), enhance_help=self.enhance_help_neutron) return parser def take_action_network(self, client, parsed_args): diff --git a/openstackclient/network/v2/security_group.py b/openstackclient/network/v2/security_group.py index 38b4e97a80..9f0ca0a1f4 100644 --- a/openstackclient/network/v2/security_group.py +++ b/openstackclient/network/v2/security_group.py @@ -119,10 +119,13 @@ class CreateSecurityGroup(common.NetworkAndComputeShowOne): parser.add_argument( '--project', metavar='<project>', - help=_("Owner's project (name or ID)") + help=self.enhance_help_neutron(_("Owner's project (name or ID)")) ) - identity_common.add_project_domain_option_to_parser(parser) - _tag.add_tag_option_to_parser_for_create(parser, _('security group')) + identity_common.add_project_domain_option_to_parser( + parser, enhance_help=self.enhance_help_neutron) + _tag.add_tag_option_to_parser_for_create( + parser, _('security group'), + enhance_help=self.enhance_help_neutron) return parser def _get_description(self, parsed_args): @@ -202,22 +205,28 @@ class ListSecurityGroup(common.NetworkAndComputeLister): _description = _("List security groups") def update_parser_network(self, parser): - # Maintain and hide the argument for backwards compatibility. - # Network will always return all projects for an admin. - parser.add_argument( - '--all-projects', - action='store_true', - default=False, - help=argparse.SUPPRESS, - ) + if not self.is_docs_build: + # Maintain and hide the argument for backwards compatibility. + # Network will always return all projects for an admin. + parser.add_argument( + '--all-projects', + action='store_true', + default=False, + help=argparse.SUPPRESS, + ) + parser.add_argument( '--project', metavar='<project>', - help=_("List security groups according to the project " - "(name or ID)") + help=self.enhance_help_neutron( + _("List security groups according to the project (name or " + "ID)")) ) - identity_common.add_project_domain_option_to_parser(parser) - _tag.add_tag_filtering_option_to_parser(parser, _('security group')) + identity_common.add_project_domain_option_to_parser( + parser, enhance_help=self.enhance_help_neutron) + _tag.add_tag_filtering_option_to_parser( + parser, _('security group'), + enhance_help=self.enhance_help_neutron) return parser def update_parser_compute(self, parser): @@ -225,7 +234,8 @@ class ListSecurityGroup(common.NetworkAndComputeLister): '--all-projects', action='store_true', default=False, - help=_("Display information from all projects (admin only)") + help=self.enhance_help_nova_network( + _("Display information from all projects (admin only)")) ) return parser @@ -307,7 +317,9 @@ class SetSecurityGroup(common.NetworkAndComputeCommand): return parser def update_parser_network(self, parser): - _tag.add_tag_option_to_parser_for_set(parser, _('security group')) + _tag.add_tag_option_to_parser_for_set( + parser, _('security group'), + enhance_help=self.enhance_help_neutron) return parser def take_action_network(self, client, parsed_args): diff --git a/openstackclient/network/v2/security_group_rule.py b/openstackclient/network/v2/security_group_rule.py index 15f099b1eb..a38587fa52 100644 --- a/openstackclient/network/v2/security_group_rule.py +++ b/openstackclient/network/v2/security_group_rule.py @@ -133,109 +133,120 @@ class CreateSecurityGroupRule(common.NetworkAndComputeShowOne): metavar="<group>", help=_("Remote security group (name or ID)"), ) + + # NOTE(efried): The --dst-port, --protocol, and --proto options exist + # for both nova-network and neutron, but differ slightly. For the sake + # of the docs build, which has to account for both variants, but only + # add each to the parser once, they are handled here rather than in the + # _network- or _compute-specific methods below. + + # --dst-port has a default for nova-net only + if self.is_nova_network: + dst_port_default = dict(default=(0, 0)) + else: + dst_port_default = {} + parser.add_argument( + '--dst-port', + metavar='<port-range>', + action=parseractions.RangeAction, + help=_("Destination port, may be a single port or a starting and " + "ending port range: 137:139. Required for IP protocols TCP " + "and UDP. Ignored for ICMP IP protocols."), + **dst_port_default + ) + + # NOTE(rtheis): Support either protocol option name for now. + # However, consider deprecating and then removing --proto in + # a future release. + protocol_group = parser.add_mutually_exclusive_group() + # --proto[col] has choices for nova-network only + if self.is_nova_network: + proto_choices = dict(choices=['icmp', 'tcp', 'udp']) + else: + proto_choices = {} + protocol_help_compute = _("IP protocol (icmp, tcp, udp; default: tcp)") + protocol_help_network = _( + "IP protocol (ah, dccp, egp, esp, gre, icmp, igmp, ipv6-encap, " + "ipv6-frag, ipv6-icmp, ipv6-nonxt, ipv6-opts, ipv6-route, ospf, " + "pgm, rsvp, sctp, tcp, udp, udplite, vrrp and integer " + "representations [0-255] or any; default: any (all protocols))") + if self.is_nova_network: + protocol_help = protocol_help_compute + elif self.is_neutron: + protocol_help = protocol_help_network + else: + # Docs build: compose help for both nova-network and neutron + protocol_help = self.split_help( + protocol_help_network, protocol_help_compute) + + protocol_group.add_argument( + '--protocol', + metavar='<protocol>', + type=_convert_to_lowercase, + help=protocol_help, + **proto_choices + ) + if not self.is_docs_build: + protocol_group.add_argument( + '--proto', + metavar='<proto>', + type=_convert_to_lowercase, + help=argparse.SUPPRESS, + **proto_choices + ) + return parser def update_parser_network(self, parser): parser.add_argument( '--description', metavar='<description>', - help=_("Set security group rule description") - ) - parser.add_argument( - '--dst-port', - metavar='<port-range>', - action=parseractions.RangeAction, - help=_("Destination port, may be a single port or a starting and " - "ending port range: 137:139. Required for IP protocols TCP " - "and UDP. Ignored for ICMP IP protocols.") + help=self.enhance_help_neutron( + _("Set security group rule description")) ) parser.add_argument( '--icmp-type', metavar='<icmp-type>', type=int, - help=_("ICMP type for ICMP IP protocols") + help=self.enhance_help_neutron( + _("ICMP type for ICMP IP protocols")) ) parser.add_argument( '--icmp-code', metavar='<icmp-code>', type=int, - help=_("ICMP code for ICMP IP protocols") - ) - # NOTE(rtheis): Support either protocol option name for now. - # However, consider deprecating and then removing --proto in - # a future release. - protocol_group = parser.add_mutually_exclusive_group() - protocol_group.add_argument( - '--protocol', - metavar='<protocol>', - type=_convert_to_lowercase, - help=_("IP protocol (ah, dccp, egp, esp, gre, icmp, igmp, " - "ipv6-encap, ipv6-frag, ipv6-icmp, ipv6-nonxt, " - "ipv6-opts, ipv6-route, ospf, pgm, rsvp, sctp, tcp, " - "udp, udplite, vrrp and integer representations [0-255] " - "or any; default: any (all protocols))") - ) - protocol_group.add_argument( - '--proto', - metavar='<proto>', - type=_convert_to_lowercase, - help=argparse.SUPPRESS + help=self.enhance_help_neutron( + _("ICMP code for ICMP IP protocols")) ) direction_group = parser.add_mutually_exclusive_group() direction_group.add_argument( '--ingress', action='store_true', - help=_("Rule applies to incoming network traffic (default)") + help=self.enhance_help_neutron( + _("Rule applies to incoming network traffic (default)")) ) direction_group.add_argument( '--egress', action='store_true', - help=_("Rule applies to outgoing network traffic") + help=self.enhance_help_neutron( + _("Rule applies to outgoing network traffic")) ) parser.add_argument( '--ethertype', metavar='<ethertype>', choices=['IPv4', 'IPv6'], type=_convert_ipvx_case, - help=_("Ethertype of network traffic " - "(IPv4, IPv6; default: based on IP protocol)") + help=self.enhance_help_neutron( + _("Ethertype of network traffic " + "(IPv4, IPv6; default: based on IP protocol)")) ) parser.add_argument( '--project', metavar='<project>', - help=_("Owner's project (name or ID)") - ) - identity_common.add_project_domain_option_to_parser(parser) - return parser - - def update_parser_compute(self, parser): - parser.add_argument( - '--dst-port', - metavar='<port-range>', - default=(0, 0), - action=parseractions.RangeAction, - help=_("Destination port, may be a single port or a starting and " - "ending port range: 137:139. Required for IP protocols TCP " - "and UDP. Ignored for ICMP IP protocols.") - ) - # NOTE(rtheis): Support either protocol option name for now. - # However, consider deprecating and then removing --proto in - # a future release. - protocol_group = parser.add_mutually_exclusive_group() - protocol_group.add_argument( - '--protocol', - metavar='<protocol>', - choices=['icmp', 'tcp', 'udp'], - type=_convert_to_lowercase, - help=_("IP protocol (icmp, tcp, udp; default: tcp)") - ) - protocol_group.add_argument( - '--proto', - metavar='<proto>', - choices=['icmp', 'tcp', 'udp'], - type=_convert_to_lowercase, - help=argparse.SUPPRESS + help=self.enhance_help_neutron(_("Owner's project (name or ID)")) ) + identity_common.add_project_domain_option_to_parser( + parser, enhance_help=self.enhance_help_neutron) return parser def _get_protocol(self, parsed_args, default_protocol='any'): @@ -424,47 +435,53 @@ class ListSecurityGroupRule(common.NetworkAndComputeLister): return parser def update_parser_network(self, parser): - # Accept but hide the argument for consistency with compute. - # Network will always return all projects for an admin. - parser.add_argument( - '--all-projects', - action='store_true', - default=False, - help=argparse.SUPPRESS - ) + if not self.is_docs_build: + # Accept but hide the argument for consistency with compute. + # Network will always return all projects for an admin. + parser.add_argument( + '--all-projects', + action='store_true', + default=False, + help=argparse.SUPPRESS + ) + parser.add_argument( '--protocol', metavar='<protocol>', type=_convert_to_lowercase, - help=_("List rules by the IP protocol (" - "ah, dhcp, egp, esp, gre, icmp, igmp, " - "ipv6-encap, ipv6-frag, ipv6-icmp, ipv6-nonxt, " - "ipv6-opts, ipv6-route, ospf, pgm, rsvp, sctp, tcp, " - "udp, udplite, vrrp and integer representations [0-255] " - "or any; default: any (all protocols))") + help=self.enhance_help_neutron( + _("List rules by the IP protocol (ah, dhcp, egp, esp, gre, " + "icmp, igmp, ipv6-encap, ipv6-frag, ipv6-icmp, ipv6-nonxt, " + "ipv6-opts, ipv6-route, ospf, pgm, rsvp, sctp, tcp, udp, " + "udplite, vrrp and integer representations [0-255] or any; " + "default: any (all protocols))")) ) parser.add_argument( '--ethertype', metavar='<ethertype>', type=_convert_to_lowercase, - help=_("List rules by the Ethertype (IPv4 or IPv6)") + help=self.enhance_help_neutron( + _("List rules by the Ethertype (IPv4 or IPv6)")) ) direction_group = parser.add_mutually_exclusive_group() direction_group.add_argument( '--ingress', action='store_true', - help=_("List rules applied to incoming network traffic") + help=self.enhance_help_neutron( + _("List rules applied to incoming network traffic")) ) direction_group.add_argument( '--egress', action='store_true', - help=_("List rules applied to outgoing network traffic") + help=self.enhance_help_neutron( + _("List rules applied to outgoing network traffic")) ) parser.add_argument( '--long', action='store_true', default=False, - help=_("List additional fields in output") + help=self.enhance_help_neutron( + _("List additional fields in output")) ) return parser @@ -473,16 +490,18 @@ class ListSecurityGroupRule(common.NetworkAndComputeLister): '--all-projects', action='store_true', default=False, - help=_("Display information from all projects (admin only)") - ) - # Accept but hide the argument for consistency with network. - # There are no additional fields to display at this time. - parser.add_argument( - '--long', - action='store_false', - default=False, - help=argparse.SUPPRESS + help=self.enhance_help_nova_network( + _("Display information from all projects (admin only)")) ) + if not self.is_docs_build: + # Accept but hide the argument for consistency with network. + # There are no additional fields to display at this time. + parser.add_argument( + '--long', + action='store_false', + default=False, + help=argparse.SUPPRESS + ) return parser def _get_column_headers(self, parsed_args):