def update_parser_network(self, parser): parser.add_argument('--project', metavar='<project>', help=_("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')) return parser
def update_parser_network(self, parser): parser.add_argument( '--project', metavar='<project>', help=_("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')) return parser
def update_parser_network(self, parser): parser.add_argument( '--subnet', metavar='<subnet>', 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=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=self.enhance_help_neutron( _("Floating IP address"))) parser.add_argument( '--fixed-ip-address', metavar='<ip-address>', dest='fixed_ip_address', help=self.enhance_help_neutron( _("Fixed IP address mapped to the floating IP"))) parser.add_argument( '--qos-policy', metavar='<qos-policy>', help=self.enhance_help_neutron( _("Attach QoS policy to the floating IP (name or ID)"))) parser.add_argument('--description', metavar='<description>', help=self.enhance_help_neutron( _('Set floating IP description'))) parser.add_argument('--project', metavar='<project>', help=self.enhance_help_neutron( _("Owner's project (name or ID)"))) parser.add_argument('--dns-domain', metavar='<dns-domain>', dest='dns_domain', help=self.enhance_help_neutron( _("Set DNS domain for this floating IP"))) parser.add_argument('--dns-name', metavar='<dns-name>', dest='dns_name', help=self.enhance_help_neutron( _("Set DNS name for this 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 get_parser(self, prog_name): parser = super(CreateSubnetPool, self).get_parser(prog_name) parser.add_argument( 'name', metavar='<name>', help=_("Name of the new subnet pool") ) _add_prefix_options(parser, for_create=True) parser.add_argument( '--project', metavar='<project>', help=_("Owner's project (name or ID)") ) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( '--address-scope', metavar='<address-scope>', help=_("Set address scope associated with the subnet pool " "(name or ID), prefixes must be unique across address " "scopes") ) _add_default_options(parser) shared_group = parser.add_mutually_exclusive_group() shared_group.add_argument( '--share', action='store_true', help=_("Set this subnet pool as shared"), ) shared_group.add_argument( '--no-share', action='store_true', help=_("Set this subnet pool as not shared"), ) parser.add_argument( '--description', metavar='<description>', help=_("Set subnet pool description") ) parser.add_argument( '--default-quota', type=int, metavar='<num-ip-addresses>', help=_("Set default per-project quota for this subnet pool " "as the number of IP addresses that can be allocated " "from the subnet pool")), _tag.add_tag_option_to_parser_for_create(parser, _('subnet pool')) return parser
def get_parser(self, prog_name): parser = super(CreateRouter, self).get_parser(prog_name) parser.add_argument('name', metavar='<name>', help=_("New router name")) admin_group = parser.add_mutually_exclusive_group() admin_group.add_argument('--enable', action='store_true', default=True, help=_("Enable router (default)")) admin_group.add_argument('--disable', action='store_true', help=_("Disable router")) distribute_group = parser.add_mutually_exclusive_group() distribute_group.add_argument('--distributed', action='store_true', help=_("Create a distributed router")) distribute_group.add_argument('--centralized', action='store_true', help=_("Create a centralized router")) ha_group = parser.add_mutually_exclusive_group() ha_group.add_argument('--ha', action='store_true', help=_("Create a highly available router")) ha_group.add_argument('--no-ha', action='store_true', help=_("Create a legacy router")) parser.add_argument('--description', metavar='<description>', help=_("Set router description")) parser.add_argument('--project', metavar='<project>', help=_("Owner's project (name or ID)")) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( '--availability-zone-hint', metavar='<availability-zone>', action='append', dest='availability_zone_hints', help=_("Availability Zone in which to create this router " "(Router Availability Zone extension required, " "repeat option to set multiple availability zones)")) _tag.add_tag_option_to_parser_for_create(parser, _('router')) return parser
def update_parser_network(self, parser): admin_group = parser.add_mutually_exclusive_group() admin_group.add_argument('--enable', action='store_true', default=True, help=_("Enable network (default)")) admin_group.add_argument('--disable', action='store_true', help=_("Disable network")) parser.add_argument('--project', metavar='<project>', help=_("Owner's project (name or ID)")) parser.add_argument('--description', metavar='<description>', help=_("Set network description")) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( '--availability-zone-hint', 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)")) 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)")) port_security_group.add_argument( '--disable-port-security', action='store_true', help=_("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)")) external_router_grp.add_argument( '--internal', action='store_true', help=_("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")) default_router_grp.add_argument( '--no-default', action='store_true', help=_("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)")) vlan_transparent_grp = parser.add_mutually_exclusive_group() vlan_transparent_grp.add_argument( '--transparent-vlan', action='store_true', help=_("Make the network VLAN transparent")) vlan_transparent_grp.add_argument( '--no-transparent-vlan', action='store_true', help=_("Do not make the network VLAN transparent")) _add_additional_network_options(parser) _tag.add_tag_option_to_parser_for_create(parser, _('network')) return parser
def get_parser(self, prog_name): parser = super(CreatePort, self).get_parser(prog_name) parser.add_argument( '--network', metavar='<network>', required=True, help=_("Network this port belongs to (name or ID)")) _add_updatable_args(parser) fixed_ip = parser.add_mutually_exclusive_group() fixed_ip.add_argument( '--fixed-ip', metavar='subnet=<subnet>,ip-address=<ip-address>', action=parseractions.MultiKeyValueAction, optional_keys=['subnet', 'ip-address'], help=_("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)")) fixed_ip.add_argument('--no-fixed-ip', action='store_true', help=_("No IP or subnet for this port.")) parser.add_argument( '--binding-profile', metavar='<binding-profile>', action=JSONKeyValueAction, help=_("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)")) admin_group = parser.add_mutually_exclusive_group() admin_group.add_argument('--enable', action='store_true', default=True, help=_("Enable port (default)")) admin_group.add_argument('--disable', action='store_true', help=_("Disable port")) parser.add_argument('--project', metavar='<project>', help=_("Owner's project (name or ID)")) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument('name', metavar='<name>', help=_("Name of this port")) # TODO(singhj): Add support for extended options: # dhcp secgroups = parser.add_mutually_exclusive_group() secgroups.add_argument( '--security-group', metavar='<security-group>', action='append', dest='security_group', help=_("Security group to associate with this port (name or ID) " "(repeat option to set multiple security groups)")) secgroups.add_argument( '--no-security-group', dest='no_security_group', action='store_true', help=_("Associate no security groups with this port")) parser.add_argument( '--qos-policy', metavar='<qos-policy>', help=_("Attach QoS policy to this port (name or ID)")) port_security = parser.add_mutually_exclusive_group() port_security.add_argument( '--enable-port-security', action='store_true', help=_("Enable port security for this port (Default)")) port_security.add_argument( '--disable-port-security', action='store_true', help=_("Disable port security for this port")) parser.add_argument( '--allowed-address', metavar='ip-address=<ip-address>[,mac-address=<mac-address>]', action=parseractions.MultiKeyValueAction, dest='allowed_address_pairs', required_keys=['ip-address'], optional_keys=['mac-address'], help=_("Add allowed-address pair associated with this port: " "ip-address=<ip-address>[,mac-address=<mac-address>] " "(repeat option to set multiple allowed-address pairs)")) _tag.add_tag_option_to_parser_for_create(parser, _('port')) return parser
def get_parser(self, prog_name): parser = super(CreatePort, self).get_parser(prog_name) parser.add_argument( '--network', metavar='<network>', required=True, help=_("Network this port belongs to (name or ID)") ) _add_updatable_args(parser) fixed_ip = parser.add_mutually_exclusive_group() fixed_ip.add_argument( '--fixed-ip', metavar='subnet=<subnet>,ip-address=<ip-address>', action=parseractions.MultiKeyValueAction, optional_keys=['subnet', 'ip-address'], help=_("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)") ) fixed_ip.add_argument( '--no-fixed-ip', action='store_true', help=_("No IP or subnet for this port.") ) parser.add_argument( '--binding-profile', metavar='<binding-profile>', action=JSONKeyValueAction, help=_("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)") ) admin_group = parser.add_mutually_exclusive_group() admin_group.add_argument( '--enable', action='store_true', default=True, help=_("Enable port (default)") ) admin_group.add_argument( '--disable', action='store_true', help=_("Disable port") ) uplink_status_group = parser.add_mutually_exclusive_group() uplink_status_group.add_argument( '--enable-uplink-status-propagation', action='store_true', help=_("Enable uplink status propagate") ) uplink_status_group.add_argument( '--disable-uplink-status-propagation', action='store_true', help=_("Disable uplink status propagate (default)") ) parser.add_argument( '--project', metavar='<project>', help=_("Owner's project (name or ID)") ) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( 'name', metavar='<name>', help=_("Name of this port") ) # TODO(singhj): Add support for extended options: # dhcp secgroups = parser.add_mutually_exclusive_group() secgroups.add_argument( '--security-group', metavar='<security-group>', action='append', dest='security_group', help=_("Security group to associate with this port (name or ID) " "(repeat option to set multiple security groups)") ) secgroups.add_argument( '--no-security-group', dest='no_security_group', action='store_true', help=_("Associate no security groups with this port") ) parser.add_argument( '--qos-policy', metavar='<qos-policy>', help=_("Attach QoS policy to this port (name or ID)") ) port_security = parser.add_mutually_exclusive_group() port_security.add_argument( '--enable-port-security', action='store_true', help=_("Enable port security for this port (Default)") ) port_security.add_argument( '--disable-port-security', action='store_true', help=_("Disable port security for this port") ) parser.add_argument( '--allowed-address', metavar='ip-address=<ip-address>[,mac-address=<mac-address>]', action=parseractions.MultiKeyValueAction, dest='allowed_address_pairs', required_keys=['ip-address'], optional_keys=['mac-address'], help=_("Add allowed-address pair associated with this port: " "ip-address=<ip-address>[,mac-address=<mac-address>] " "(repeat option to set multiple allowed-address pairs)") ) _tag.add_tag_option_to_parser_for_create(parser, _('port')) return parser
def get_parser(self, prog_name): parser = super(CreateSubnet, self).get_parser(prog_name) parser.add_argument('name', metavar='<name>', help=_("New subnet name")) parser.add_argument('--project', metavar='<project>', help=_("Owner's project (name or ID)")) identity_common.add_project_domain_option_to_parser(parser) subnet_pool_group = parser.add_mutually_exclusive_group() subnet_pool_group.add_argument( '--subnet-pool', metavar='<subnet-pool>', help=_("Subnet pool from which this subnet will obtain a CIDR " "(Name or ID)")) subnet_pool_group.add_argument( '--use-prefix-delegation', help=_("Use 'prefix-delegation' if IP is IPv6 format " "and IP would be delegated externally")) subnet_pool_group.add_argument( '--use-default-subnet-pool', action='store_true', help=_("Use default subnet pool for --ip-version")) parser.add_argument( '--prefix-length', metavar='<prefix-length>', help=_("Prefix length for subnet allocation from subnet pool")) parser.add_argument('--subnet-range', metavar='<subnet-range>', help=_( "Subnet range in CIDR notation " "(required if --subnet-pool is not specified, " "optional otherwise)")) dhcp_enable_group = parser.add_mutually_exclusive_group() dhcp_enable_group.add_argument('--dhcp', action='store_true', help=_("Enable DHCP (default)")) dhcp_enable_group.add_argument('--no-dhcp', action='store_true', help=_("Disable DHCP")) parser.add_argument( '--gateway', metavar='<gateway>', default='auto', help=_("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').")) parser.add_argument( '--ip-version', type=int, default=4, choices=[4, 6], help=_("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.")) parser.add_argument( '--ipv6-ra-mode', choices=['dhcpv6-stateful', 'dhcpv6-stateless', 'slaac'], help=_("IPv6 RA (Router Advertisement) mode, " "valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac]")) parser.add_argument( '--ipv6-address-mode', choices=['dhcpv6-stateful', 'dhcpv6-stateless', 'slaac'], help=_("IPv6 address mode, " "valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac]")) parser.add_argument( '--network-segment', metavar='<network-segment>', help=_("Network segment to associate with this subnet " "(name or ID)")) parser.add_argument( '--network', required=True, metavar='<network>', help=_("Network this subnet belongs to (name or ID)")) parser.add_argument('--description', metavar='<description>', help=_("Set subnet description")) _get_common_parse_arguments(parser) _tag.add_tag_option_to_parser_for_create(parser, _('subnet')) return parser
def get_parser(self, prog_name): parser = super(CreateRouter, self).get_parser(prog_name) parser.add_argument( 'name', metavar='<name>', help=_("New router name") ) admin_group = parser.add_mutually_exclusive_group() admin_group.add_argument( '--enable', action='store_true', default=True, help=_("Enable router (default)") ) admin_group.add_argument( '--disable', action='store_true', help=_("Disable router") ) distribute_group = parser.add_mutually_exclusive_group() distribute_group.add_argument( '--distributed', action='store_true', help=_("Create a distributed router") ) distribute_group.add_argument( '--centralized', action='store_true', help=_("Create a centralized router") ) ha_group = parser.add_mutually_exclusive_group() ha_group.add_argument( '--ha', action='store_true', help=_("Create a highly available router") ) ha_group.add_argument( '--no-ha', action='store_true', help=_("Create a legacy router") ) parser.add_argument( '--description', metavar='<description>', help=_("Set router description") ) parser.add_argument( '--project', metavar='<project>', help=_("Owner's project (name or ID)") ) identity_common.add_project_domain_option_to_parser(parser) parser.add_argument( '--availability-zone-hint', metavar='<availability-zone>', action='append', dest='availability_zone_hints', help=_("Availability Zone in which to create this router " "(Router Availability Zone extension required, " "repeat option to set multiple availability zones)") ) _tag.add_tag_option_to_parser_for_create(parser, _('router')) return parser