示例#1
0
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if parsed_args.description:
        attrs['description'] = parsed_args.description
    if parsed_args.auth_algorithm:
        attrs['auth_algorithm'] = parsed_args.auth_algorithm
    if parsed_args.encryption_algorithm:
        attrs['encryption_algorithm'] = parsed_args.encryption_algorithm
    if parsed_args.phase1_negotiation_mode:
        attrs['phase1_negotiation_mode'] = parsed_args.phase1_negotiation_mode
    if parsed_args.ike_version:
        attrs['ike_version'] = parsed_args.ike_version
    if parsed_args.pfs:
        attrs['pfs'] = parsed_args.pfs
    if parsed_args.lifetime:
        vpn_utils.validate_lifetime_dict(parsed_args.lifetime)
        attrs['lifetime'] = parsed_args.lifetime
    return attrs
示例#2
0
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if parsed_args.description:
        attrs['description'] = parsed_args.description
    if parsed_args.auth_algorithm:
        attrs['auth_algorithm'] = parsed_args.auth_algorithm
    if parsed_args.encryption_algorithm:
        attrs['encryption_algorithm'] = parsed_args.encryption_algorithm
    if parsed_args.phase1_negotiation_mode:
        attrs['phase1_negotiation_mode'] = parsed_args.phase1_negotiation_mode
    if parsed_args.ike_version:
        attrs['ike_version'] = parsed_args.ike_version
    if parsed_args.pfs:
        attrs['pfs'] = parsed_args.pfs
    if parsed_args.lifetime:
        vpn_utils.validate_lifetime_dict(parsed_args.lifetime)
        attrs['lifetime'] = parsed_args.lifetime
    return attrs
def _get_attrs(client_manager, parsed_args):
    attrs = {}
    if parsed_args.name is not None:
        attrs['name'] = str(parsed_args.name)
    if 'local_as' in parsed_args:
        attrs['local_as'] = parsed_args.local_as
    if 'ip_version' in parsed_args:
        attrs['ip_version'] = parsed_args.ip_version
    if parsed_args.advertise_tenant_networks:
        attrs['advertise_tenant_networks'] = True
    if parsed_args.no_advertise_tenant_networks:
        attrs['advertise_tenant_networks'] = False
    if parsed_args.advertise_floating_ip_host_routes:
        attrs['advertise_floating_ip_host_routes'] = True
    if parsed_args.no_advertise_floating_ip_host_routes:
        attrs['advertise_floating_ip_host_routes'] = False

    if 'project' in parsed_args and parsed_args.project is not None:
        identity_client = client_manager.identity
        project_id = nc_osc_utils.find_project(
            identity_client,
            parsed_args.project,
            parsed_args.project_domain,
        ).id
        attrs['tenant_id'] = project_id
    return attrs
def _get_attrs(client_manager, parsed_args):
    attrs = {}
    if parsed_args.name is not None:
        attrs['name'] = str(parsed_args.name)
    if 'local_as' in parsed_args:
        attrs['local_as'] = parsed_args.local_as
    if 'ip_version' in parsed_args:
        attrs['ip_version'] = parsed_args.ip_version
    if parsed_args.advertise_tenant_networks:
        attrs['advertise_tenant_networks'] = True
    if parsed_args.no_advertise_tenant_networks:
        attrs['advertise_tenant_networks'] = False
    if parsed_args.advertise_floating_ip_host_routes:
        attrs['advertise_floating_ip_host_routes'] = True
    if parsed_args.no_advertise_floating_ip_host_routes:
        attrs['advertise_floating_ip_host_routes'] = False

    if 'project' in parsed_args and parsed_args.project is not None:
        identity_client = client_manager.identity
        project_id = nc_osc_utils.find_project(
            identity_client,
            parsed_args.project,
            parsed_args.project_domain,
        ).id
        attrs['tenant_id'] = project_id
    return attrs
 def take_action(self, parsed_args):
     client = self.app.client_manager.neutronclient
     attrs = {}
     if parsed_args.name is not None:
         attrs['name'] = str(parsed_args.name)
     if parsed_args.type is not None:
         attrs['type'] = parsed_args.type
     if parsed_args.route_targets is not None:
         attrs['route_targets'] = parsed_args.route_targets
     if parsed_args.import_targets is not None:
         attrs['import_targets'] = parsed_args.import_targets
     if parsed_args.export_targets is not None:
         attrs['export_targets'] = parsed_args.export_targets
     if parsed_args.route_distinguishers is not None:
         attrs['route_distinguishers'] = parsed_args.route_distinguishers
     if parsed_args.vni is not None:
         attrs['vni'] = parsed_args.vni
     if parsed_args.local_pref is not None:
         attrs['local_pref'] = parsed_args.local_pref
     if 'project' in parsed_args and parsed_args.project is not None:
         project_id = nc_osc_utils.find_project(
             self.app.client_manager.identity,
             parsed_args.project,
             parsed_args.project_domain,
         ).id
         attrs['tenant_id'] = project_id
     body = {constants.BGPVPN: attrs}
     obj = client.create_bgpvpn(body)[constants.BGPVPN]
     columns, display_columns = column_util.get_columns(obj, _attr_map)
     data = osc_utils.get_dict_properties(obj, columns,
                                          formatters=_formatters)
     return display_columns, data
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    client = client_manager.neutronclient

    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['project_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
        if parsed_args.resource:
            attrs['resource_id'] = client.find_resource(
                'security_group', parsed_args.resource)['id']
        if parsed_args.target:
            # NOTE(yushiro) Currently, we're supporting only port
            attrs['target_id'] = client.find_resource(
                'port', parsed_args.target)['id']
        if parsed_args.event:
            attrs['event'] = parsed_args.event
        if parsed_args.resource_type:
            attrs['resource_type'] = parsed_args.resource_type
    if parsed_args.enable:
        attrs['enabled'] = True
    if parsed_args.disable:
        attrs['enabled'] = False
    if parsed_args.name:
        attrs['name'] = parsed_args.name
    if parsed_args.description:
        attrs['description'] = parsed_args.description
    return attrs
示例#7
0
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if parsed_args.description:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.subnet:
        _subnet_id = client_manager.network.find_subnet(
            parsed_args.subnet).id
        attrs['subnet_id'] = _subnet_id
    if parsed_args.flavor:
        _flavor_id = client_manager.network.find_flavor(
            parsed_args.flavor,
            ignore_missing=False
        ).id
        attrs['flavor_id'] = _flavor_id
    if parsed_args.enable:
        attrs['admin_state_up'] = True
    if parsed_args.disable:
        attrs['admin_state_up'] = False
    return attrs
示例#8
0
def _get_attrs_for_trunk(client_manager, parsed_args):
    attrs = {}
    if parsed_args.name is not None:
        attrs['name'] = str(parsed_args.name)
    if parsed_args.description is not None:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.enable:
        attrs['admin_state_up'] = True
    if parsed_args.disable:
        attrs['admin_state_up'] = False
    if 'parent_port' in parsed_args and parsed_args.parent_port is not None:
        port_id = _get_id(client_manager.neutronclient,
                          parsed_args.parent_port, 'port')
        attrs['port_id'] = port_id
    if 'add_subports' in parsed_args and parsed_args.add_subports is not None:
        attrs[SUB_PORTS] = _format_subports(client_manager,
                                            parsed_args.add_subports)

    # "trunk set" command doesn't support setting project.
    if 'project' in parsed_args and parsed_args.project is not None:
        identity_client = client_manager.identity
        project_id = nc_osc_utils.find_project(
            identity_client,
            parsed_args.project,
            parsed_args.project_domain,
        ).id
        attrs['tenant_id'] = project_id

    return attrs
def _get_attrs_for_trunk(client_manager, parsed_args):
    attrs = {}
    if parsed_args.name is not None:
        attrs['name'] = str(parsed_args.name)
    if parsed_args.description is not None:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.enable:
        attrs['admin_state_up'] = True
    if parsed_args.disable:
        attrs['admin_state_up'] = False
    if 'parent_port' in parsed_args and parsed_args.parent_port is not None:
        port_id = _get_id(client_manager.neutronclient,
                          parsed_args.parent_port, 'port')
        attrs['port_id'] = port_id
    if 'add_subports' in parsed_args and parsed_args.add_subports is not None:
        attrs[SUB_PORTS] = _format_subports(client_manager,
                                            parsed_args.add_subports)

    # "trunk set" command doesn't support setting project.
    if 'project' in parsed_args and parsed_args.project is not None:
        identity_client = client_manager.identity
        project_id = nc_osc_utils.find_project(
            identity_client,
            parsed_args.project,
            parsed_args.project_domain,
        ).id
        attrs['tenant_id'] = project_id

    return attrs
示例#10
0
    def take_action(self, parsed_args):
        client = self.app.client_manager.neutronclient
        create_method = getattr(
            client, 'create_bgpvpn_%s_assoc' % self._assoc_res_name)
        bgpvpn = client.find_resource(constants.BGPVPN, parsed_args.bgpvpn)
        assoc_res = client.find_resource(self._assoc_res_name,
                                         parsed_args.resource)
        body = {
            self._resource: {
                '%s_id' % self._assoc_res_name: assoc_res['id'],
            },
        }
        if 'project' in parsed_args and parsed_args.project is not None:
            project_id = nc_osc_utils.find_project(
                self.app.client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
            body[self._resource]['tenant_id'] = project_id

        arg2body = getattr(self, '_args2body', None)
        if callable(arg2body):
            body[self._resource].update(
                arg2body(bgpvpn['id'], parsed_args)[self._resource])

        obj = create_method(bgpvpn['id'], body)[self._resource]
        transform = getattr(self, '_transform_resource', None)
        if callable(transform):
            transform(obj)
        columns, display_columns = column_util.get_columns(obj, self._attr_map)
        data = osc_utils.get_dict_properties(obj,
                                             columns,
                                             formatters=self._formatters)
        return display_columns, data
示例#11
0
def _get_attrs(client_manager, parsed_args):
    attrs = {}

    # Validate password
    if 'auth_type' in parsed_args:
        if parsed_args.auth_type != 'none':
            if 'password' not in parsed_args or parsed_args.password is None:
                raise exceptions.CommandError(
                    _('Must provide password if '
                      'auth-type is specified.'))
        if (parsed_args.auth_type == 'none'
                and parsed_args.password is not None):
            raise exceptions.CommandError(
                _('Must provide auth-type if '
                  'password is specified.'))
        attrs['auth_type'] = parsed_args.auth_type

    if parsed_args.name is not None:
        attrs['name'] = parsed_args.name
    if 'remote_as' in parsed_args:
        attrs['remote_as'] = parsed_args.remote_as
    if 'peer_ip' in parsed_args:
        attrs['peer_ip'] = parsed_args.peer_ip
    if 'password' in parsed_args:
        attrs['password'] = parsed_args.password

    if 'project' in parsed_args and parsed_args.project is not None:
        identity_client = client_manager.identity
        project_id = nc_osc_utils.find_project(
            identity_client,
            parsed_args.project,
            parsed_args.project_domain,
        ).id
        attrs['tenant_id'] = project_id
    return attrs
def _get_attrs(client_manager, parsed_args):
    attrs = {}

    # Validate password
    if 'auth_type' in parsed_args:
        if parsed_args.auth_type != 'none':
            if 'password' not in parsed_args or parsed_args.password is None:
                raise exceptions.CommandError(_('Must provide password if '
                                                'auth-type is specified.'))
        if (
            parsed_args.auth_type == 'none' and
            parsed_args.password is not None
        ):
            raise exceptions.CommandError(_('Must provide auth-type if '
                                            'password is specified.'))
        attrs['auth_type'] = parsed_args.auth_type

    if parsed_args.name is not None:
        attrs['name'] = parsed_args.name
    if 'remote_as' in parsed_args:
        attrs['remote_as'] = parsed_args.remote_as
    if 'peer_ip' in parsed_args:
        attrs['peer_ip'] = parsed_args.peer_ip
    if 'password' in parsed_args:
        attrs['password'] = parsed_args.password

    if 'project' in parsed_args and parsed_args.project is not None:
        identity_client = client_manager.identity
        project_id = nc_osc_utils.find_project(
            identity_client,
            parsed_args.project,
            parsed_args.project_domain,
        ).id
        attrs['tenant_id'] = project_id
    return attrs
示例#13
0
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    client = client_manager.neutronclient

    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['project_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
        if parsed_args.resource:
            attrs['resource_id'] = client.find_resource(
                'security_group', parsed_args.resource)['id']
        if parsed_args.target:
            # NOTE(yushiro) Currently, we're supporting only port
            attrs['target_id'] = client.find_resource('port',
                                                      parsed_args.target)['id']
        if parsed_args.event:
            attrs['event'] = parsed_args.event
        if parsed_args.resource_type:
            attrs['resource_type'] = parsed_args.resource_type
    if parsed_args.enable:
        attrs['enabled'] = True
    if parsed_args.disable:
        attrs['enabled'] = False
    if parsed_args.name:
        attrs['name'] = parsed_args.name
    if parsed_args.description:
        attrs['description'] = parsed_args.description
    return attrs
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    client = client_manager.neutronclient

    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if (parsed_args.ingress_firewall_policy and
            parsed_args.no_ingress_firewall_policy):
        attrs['ingress_firewall_policy_id'] = client.find_resource(
            const.FWP, parsed_args.ingress_firewall_policy,
            cmd_resource=const.CMD_FWP)['id']
    elif parsed_args.ingress_firewall_policy:
        attrs['ingress_firewall_policy_id'] = client.find_resource(
            const.FWP, parsed_args.ingress_firewall_policy,
            cmd_resource=const.CMD_FWP)['id']
    elif parsed_args.no_ingress_firewall_policy:
        attrs['ingress_firewall_policy_id'] = None
    if (parsed_args.egress_firewall_policy and
            parsed_args.no_egress_firewall_policy):
        attrs['egress_firewall_policy_id'] = client.find_resource(
            const.FWP, parsed_args.egress_firewall_policy,
            cmd_resource=const.CMD_FWP)['id']
    elif parsed_args.egress_firewall_policy:
        attrs['egress_firewall_policy_id'] = client.find_resource(
            const.FWP, parsed_args.egress_firewall_policy,
            cmd_resource=const.CMD_FWP)['id']
    elif parsed_args.no_egress_firewall_policy:
        attrs['egress_firewall_policy_id'] = None
    if parsed_args.share or parsed_args.public:
        attrs['shared'] = True
    if parsed_args.no_share or parsed_args.private:
        attrs['shared'] = False
    if parsed_args.enable:
        attrs['admin_state_up'] = True
    if parsed_args.disable:
        attrs['admin_state_up'] = False
    if parsed_args.name:
        attrs['name'] = str(parsed_args.name)
    if parsed_args.description:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.port and parsed_args.no_port:
        attrs['ports'] = sorted([client.find_resource(
            'port', p)['id'] for p in set(parsed_args.port)])
    elif parsed_args.port:
        ports = []
        for p in set(parsed_args.port):
            ports.append(client.find_resource('port', p)['id'])
        if not is_create:
            ports += client.find_resource(
                const.FWG, parsed_args.firewall_group,
                cmd_resource=const.CMD_FWG)['ports']
        attrs['ports'] = sorted(set(ports))
    elif parsed_args.no_port:
        attrs['ports'] = []
    return attrs
示例#15
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.neutronclient
     attrs = {}
     if parsed_args.name is not None:
         attrs['name'] = str(parsed_args.name)
     if parsed_args.type is not None:
         attrs['type'] = parsed_args.type
     if parsed_args.route_targets is not None:
         attrs['route_targets'] = parsed_args.route_targets
     if parsed_args.import_targets is not None:
         attrs['import_targets'] = parsed_args.import_targets
     if parsed_args.export_targets is not None:
         attrs['export_targets'] = parsed_args.export_targets
     if parsed_args.route_distinguishers is not None:
         attrs['route_distinguishers'] = parsed_args.route_distinguishers
     if 'project' in parsed_args and parsed_args.project is not None:
         project_id = nc_osc_utils.find_project(
             self.app.client_manager.identity,
             parsed_args.project,
             parsed_args.project_domain,
         ).id
         attrs['tenant_id'] = project_id
     body = {constants.BGPVPN: attrs}
     obj = client.create_bgpvpn(body)[constants.BGPVPN]
     columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map)
     data = osc_utils.get_dict_properties(obj,
                                          columns,
                                          formatters=_formatters)
     return display_columns, data
    def take_action(self, parsed_args):
        client = self.app.client_manager.neutronclient
        create_method = getattr(
            client, 'create_bgpvpn_%s_assoc' % self._assoc_res_name)
        bgpvpn = client.find_resource(constants.BGPVPN, parsed_args.bgpvpn)
        assoc_res = client.find_resource(self._assoc_res_name,
                                         parsed_args.resource)
        body = {
            self._resource: {
                '%s_id' % self._assoc_res_name: assoc_res['id'],
            },
        }
        if 'project' in parsed_args and parsed_args.project is not None:
            project_id = nc_osc_utils.find_project(
                self.app.client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
            body[self._resource]['tenant_id'] = project_id

        arg2body = getattr(self, '_args2body', None)
        if callable(arg2body):
            body[self._resource].update(
                arg2body(bgpvpn['id'], parsed_args)[self._resource])

        obj = create_method(bgpvpn['id'], body)[self._resource]
        transform = getattr(self, '_transform_resource', None)
        if callable(transform):
            transform(obj)
        columns, display_columns = nc_osc_utils.get_columns(obj,
                                                            self._attr_map)
        data = osc_utils.get_dict_properties(obj, columns,
                                             formatters=self._formatters)
        return display_columns, data
示例#17
0
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if parsed_args.description:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.subnet:
        _subnet_id = client_manager.network.find_subnet(
            parsed_args.subnet).id
        attrs['subnet_id'] = _subnet_id
    if parsed_args.flavor:
        _flavor_id = client_manager.network.find_flavor(
            parsed_args.flavor,
            ignore_missing=False
        ).id
        attrs['flavor_id'] = _flavor_id
    if parsed_args.enable:
        attrs['admin_state_up'] = True
    if parsed_args.disable:
        attrs['admin_state_up'] = False
    return attrs
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    client = client_manager.neutronclient
    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if parsed_args.name:
        attrs['name'] = str(parsed_args.name)
    if parsed_args.description:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.protocol:
        protocol = parsed_args.protocol
        attrs['protocol'] = None if protocol == 'any' else protocol
    if parsed_args.action:
        attrs['action'] = parsed_args.action
    if parsed_args.ip_version:
        attrs['ip_version'] = str(parsed_args.ip_version)
    if parsed_args.source_port:
        attrs['source_port'] = parsed_args.source_port
    if parsed_args.no_source_port:
        attrs['source_port'] = None
    if parsed_args.source_ip_address:
        attrs['source_ip_address'] = parsed_args.source_ip_address
    if parsed_args.no_source_ip_address:
        attrs['source_ip_address'] = None
    if parsed_args.destination_port:
        attrs['destination_port'] = str(parsed_args.destination_port)
    if parsed_args.no_destination_port:
        attrs['destination_port'] = None
    if parsed_args.destination_ip_address:
        attrs['destination_ip_address'] = str(
            parsed_args.destination_ip_address)
    if parsed_args.no_destination_ip_address:
        attrs['destination_ip_address'] = None
    if parsed_args.enable_rule:
        attrs['enabled'] = True
    if parsed_args.disable_rule:
        attrs['enabled'] = False
    if parsed_args.share or parsed_args.public:
        attrs['shared'] = True
    if parsed_args.no_share or parsed_args.private:
        attrs['shared'] = False
    if parsed_args.source_firewall_group:
        attrs['source_firewall_group_id'] = client.find_resource(
            const.FWG, parsed_args.source_firewall_group,
            cmd_resource=const.CMD_FWG)['id']
    if parsed_args.no_source_firewall_group:
        attrs['source_firewall_group_id'] = None
    if parsed_args.destination_firewall_group:
        attrs['destination_firewall_group_id'] = client.find_resource(
            const.FWG, parsed_args.destination_firewall_group,
            cmd_resource=const.CMD_FWG)['id']
    if parsed_args.no_destination_firewall_group:
        attrs['destination_firewall_group_id'] = None
    return attrs
示例#19
0
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    if is_create:
        if parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if parsed_args.description:
        attrs['description'] = parsed_args.description
    return attrs
示例#20
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.neutronclient
     params = {}
     if parsed_args.project is not None:
         project_id = nc_osc_utils.find_project(
             self.app.client_manager.identity,
             parsed_args.project,
             parsed_args.project_domain,
         ).id
         params['tenant_id'] = project_id
     objs = client.list(L2_GATEWAYS, object_path,
                        retrieve_all=True, params=params)[L2_GATEWAYS]
     headers, columns = column_util.get_column_definitions(
         _attr_map, long_listing=True)
     return (headers, (osc_utils.get_dict_properties(
         s, columns, formatters=_formatters) for s in objs))
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if parsed_args.name:
        attrs['name'] = str(parsed_args.name)
    if parsed_args.description:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.protocol:
        protocol = parsed_args.protocol
        attrs['protocol'] = None if protocol == 'any' else protocol
    if parsed_args.action:
        attrs['action'] = parsed_args.action
    if parsed_args.ip_version:
        attrs['ip_version'] = str(parsed_args.ip_version)
    if parsed_args.source_port:
        attrs['source_port'] = parsed_args.source_port
    if parsed_args.no_source_port:
        attrs['source_port'] = None
    if parsed_args.source_ip_address:
        attrs['source_ip_address'] = parsed_args.source_ip_address
    if parsed_args.no_source_ip_address:
        attrs['source_ip_address'] = None
    if parsed_args.destination_port:
        attrs['destination_port'] = str(parsed_args.destination_port)
    if parsed_args.no_destination_port:
        attrs['destination_port'] = None
    if parsed_args.destination_ip_address:
        attrs['destination_ip_address'] = str(
            parsed_args.destination_ip_address)
    if parsed_args.no_destination_ip_address:
        attrs['destination_ip_address'] = None
    if parsed_args.enable_rule:
        attrs['enabled'] = True
    if parsed_args.disable_rule:
        attrs['enabled'] = False
    if parsed_args.public:
        attrs['public'] = True
    if parsed_args.private:
        attrs['public'] = False
    return attrs
 def take_action(self, parsed_args):
     client = self.app.client_manager.neutronclient
     params = {}
     if parsed_args.project is not None:
         project_id = nc_osc_utils.find_project(
             self.app.client_manager.identity,
             parsed_args.project,
             parsed_args.project_domain,
         ).id
         params['tenant_id'] = project_id
     if parsed_args.property:
         params.update(parsed_args.property)
     objs = client.list_bgpvpns(**params)[constants.BGPVPNS]
     headers, columns = column_util.get_column_definitions(
         _attr_map, long_listing=parsed_args.long)
     return (headers, (osc_utils.get_dict_properties(
         s, columns, formatters=_formatters) for s in objs))
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if parsed_args.name:
        attrs['name'] = str(parsed_args.name)
    if parsed_args.description:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.protocol:
        protocol = parsed_args.protocol
        attrs['protocol'] = None if protocol == 'any' else protocol
    if parsed_args.action:
        attrs['action'] = parsed_args.action
    if parsed_args.ip_version:
        attrs['ip_version'] = str(parsed_args.ip_version)
    if parsed_args.source_port:
        attrs['source_port'] = parsed_args.source_port
    if parsed_args.no_source_port:
        attrs['source_port'] = None
    if parsed_args.source_ip_address:
        attrs['source_ip_address'] = parsed_args.source_ip_address
    if parsed_args.no_source_ip_address:
        attrs['source_ip_address'] = None
    if parsed_args.destination_port:
        attrs['destination_port'] = str(parsed_args.destination_port)
    if parsed_args.no_destination_port:
        attrs['destination_port'] = None
    if parsed_args.destination_ip_address:
        attrs['destination_ip_address'] = str(
            parsed_args.destination_ip_address)
    if parsed_args.no_destination_ip_address:
        attrs['destination_ip_address'] = None
    if parsed_args.enable_rule:
        attrs['enabled'] = True
    if parsed_args.disable_rule:
        attrs['enabled'] = False
    if parsed_args.public:
        attrs['public'] = True
    if parsed_args.private:
        attrs['public'] = False
    return attrs
示例#24
0
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    client = client_manager.neutronclient

    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if parsed_args.firewall_rule and parsed_args.no_firewall_rule:
        _firewall_rules = []
        for f in parsed_args.firewall_rule:
            _firewall_rules.append(
                client.find_resource(const.FWR, f,
                                     cmd_resource=const.CMD_FWR)['id'])
        attrs[const.FWRS] = _firewall_rules
    elif parsed_args.firewall_rule:
        rules = []
        if not is_create:
            rules += client.find_resource(
                const.FWP,
                parsed_args.firewall_policy,
                cmd_resource=const.CMD_FWP)[const.FWRS]
        for f in parsed_args.firewall_rule:
            rules.append(
                client.find_resource(const.FWR, f,
                                     cmd_resource=const.CMD_FWR)['id'])
        attrs[const.FWRS] = rules
    elif parsed_args.no_firewall_rule:
        attrs[const.FWRS] = []
    if parsed_args.audited:
        attrs['audited'] = True
    if parsed_args.no_audited:
        attrs['audited'] = False
    if parsed_args.name:
        attrs['name'] = str(parsed_args.name)
    if parsed_args.description:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.public:
        attrs['public'] = True
    if parsed_args.private:
        attrs['public'] = False
    return attrs
示例#25
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.neutronclient
     params = {}
     if parsed_args.project is not None:
         project_id = nc_osc_utils.find_project(
             self.app.client_manager.identity,
             parsed_args.project,
             parsed_args.project_domain,
         ).id
         params['tenant_id'] = project_id
     if parsed_args.property:
         params.update(parsed_args.property)
     objs = client.list_bgpvpns(**params)[constants.BGPVPNS]
     headers, columns = nc_osc_utils.get_column_definitions(
         _attr_map, long_listing=parsed_args.long)
     return (headers, (osc_utils.get_dict_properties(s,
                                                     columns,
                                                     formatters=_formatters)
                       for s in objs))
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    client = client_manager.neutronclient

    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if parsed_args.firewall_rule and parsed_args.no_firewall_rule:
        _firewall_rules = []
        for f in set(parsed_args.firewall_rule):
            _firewall_rules.append(client.find_resource(
                const.FWR, f, cmd_resource=const.CMD_FWR)['id'])
        attrs[const.FWRS] = sorted(_firewall_rules)
    elif parsed_args.firewall_rule:
        rules = []
        for f in set(parsed_args.firewall_rule):
            rules.append(client.find_resource(
                const.FWR, f, cmd_resource=const.CMD_FWR)['id'])
        if not is_create:
            rules += client.find_resource(
                const.FWP, parsed_args.firewall_policy,
                cmd_resource=const.CMD_FWP)[const.FWRS]
        attrs[const.FWRS] = sorted(set(rules))
    elif parsed_args.no_firewall_rule:
        attrs[const.FWRS] = []
    if parsed_args.audited:
        attrs['audited'] = True
    if parsed_args.no_audited:
        attrs['audited'] = False
    if parsed_args.name:
        attrs['name'] = str(parsed_args.name)
    if parsed_args.description:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.public:
        attrs['public'] = True
    if parsed_args.private:
        attrs['public'] = False
    return attrs
示例#27
0
 def take_action(self, parsed_args):
     client = self.app.client_manager.neutronclient
     attrs = {}
     if parsed_args.name is not None:
         attrs['name'] = str(parsed_args.name)
     if parsed_args.devices is not None:
         attrs['devices'] = str(parsed_args.devices)
     if 'project' in parsed_args and parsed_args.project is not None:
         project_id = nc_osc_utils.find_project(
             self.app.client_manager.identity,
             parsed_args.project,
             parsed_args.project_domain,
         ).id
         attrs['tenant_id'] = project_id
     body = _args2body(parsed_args)
     obj = client.post(object_path, body)[L2_GATEWAY]
     columns, display_columns = column_util.get_columns(obj, _attr_map)
     data = osc_utils.get_dict_properties(obj, columns,
                                          formatters=_formatters)
     return display_columns, data
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if parsed_args.description:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.mtu:
        attrs['mtu'] = parsed_args.mtu
    if parsed_args.enable:
        attrs['admin_state_up'] = True
    if parsed_args.disable:
        attrs['admin_state_up'] = False
    if parsed_args.initiator:
        attrs['initiator'] = parsed_args.initiator
    if parsed_args.dpd:
        vpn_utils.validate_dpd_dict(parsed_args.dpd)
        attrs['dpd'] = parsed_args.dpd
    if parsed_args.local_endpoint_group:
        _local_epg = client_manager.neutronclient.find_resource(
            'endpoint_group',
            parsed_args.local_endpoint_group,
            cmd_resource='endpoint_group')['id']
        attrs['local_ep_group_id'] = _local_epg
    if parsed_args.peer_endpoint_group:
        _peer_epg = client_manager.neutronclient.find_resource(
            'endpoint_group',
            parsed_args.peer_endpoint_group,
            cmd_resource='endpoint_group')['id']
        attrs['peer_ep_group_id'] = _peer_epg
    if parsed_args.peer_cidrs:
        attrs['peer_cidrs'] = parsed_args.peer_cidrs
    if parsed_args.local_id:
        attrs['local_id'] = parsed_args.local_id
    return attrs
示例#29
0
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if parsed_args.description:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.mtu:
        attrs['mtu'] = parsed_args.mtu
    if parsed_args.enable:
        attrs['admin_state_up'] = True
    if parsed_args.disable:
        attrs['admin_state_up'] = False
    if parsed_args.initiator:
        attrs['initiator'] = parsed_args.initiator
    if parsed_args.dpd:
        vpn_utils.validate_dpd_dict(parsed_args.dpd)
        attrs['dpd'] = parsed_args.dpd
    if parsed_args.local_endpoint_group:
        _local_epg = client_manager.neutronclient.find_resource(
            'endpoint_group',
            parsed_args.local_endpoint_group,
            cmd_resource='endpoint_group')['id']
        attrs['local_ep_group_id'] = _local_epg
    if parsed_args.peer_endpoint_group:
        _peer_epg = client_manager.neutronclient.find_resource(
            'endpoint_group',
            parsed_args.peer_endpoint_group,
            cmd_resource='endpoint_group')['id']
        attrs['peer_ep_group_id'] = _peer_epg
    if parsed_args.peer_cidrs:
        attrs['peer_cidrs'] = parsed_args.peer_cidrs
    if parsed_args.local_id:
        attrs['local_id'] = parsed_args.local_id
    return attrs
示例#30
0
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    client = client_manager.neutronclient
    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if parsed_args.name:
        attrs['name'] = str(parsed_args.name)
    if parsed_args.description:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.protocol:
        protocol = parsed_args.protocol
        attrs['protocol'] = None if protocol == 'any' else protocol
    if parsed_args.action:
        attrs['action'] = parsed_args.action
    if parsed_args.ip_version:
        attrs['ip_version'] = str(parsed_args.ip_version)
    if parsed_args.source_port:
        attrs['source_port'] = parsed_args.source_port
    if parsed_args.no_source_port:
        attrs['source_port'] = None
    if parsed_args.source_ip_address:
        attrs['source_ip_address'] = parsed_args.source_ip_address
    if parsed_args.no_source_ip_address:
        attrs['source_ip_address'] = None
    if parsed_args.destination_port:
        attrs['destination_port'] = str(parsed_args.destination_port)
    if parsed_args.no_destination_port:
        attrs['destination_port'] = None
    if parsed_args.destination_ip_address:
        attrs['destination_ip_address'] = str(
            parsed_args.destination_ip_address)
    if parsed_args.no_destination_ip_address:
        attrs['destination_ip_address'] = None
    if parsed_args.enable_rule:
        attrs['enabled'] = True
    if parsed_args.disable_rule:
        attrs['enabled'] = False
    if parsed_args.share or parsed_args.public:
        attrs['shared'] = True
    if parsed_args.no_share or parsed_args.private:
        attrs['shared'] = False
    if parsed_args.source_firewall_group:
        attrs['source_firewall_group_id'] = client.find_resource(
            const.FWG,
            parsed_args.source_firewall_group,
            cmd_resource=const.CMD_FWG)['id']
    if parsed_args.no_source_firewall_group:
        attrs['source_firewall_group_id'] = None
    if parsed_args.destination_firewall_group:
        attrs['destination_firewall_group_id'] = client.find_resource(
            const.FWG,
            parsed_args.destination_firewall_group,
            cmd_resource=const.CMD_FWG)['id']
    if parsed_args.no_destination_firewall_group:
        attrs['destination_firewall_group_id'] = None
    return attrs
def _get_common_attrs(client_manager, parsed_args, is_create=True):
    attrs = {}
    client = client_manager.neutronclient

    if is_create:
        if 'project' in parsed_args and parsed_args.project is not None:
            attrs['tenant_id'] = osc_utils.find_project(
                client_manager.identity,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
    if (parsed_args.ingress_firewall_policy
            and parsed_args.no_ingress_firewall_policy):
        attrs['ingress_firewall_policy_id'] = client.find_resource(
            const.FWP,
            parsed_args.ingress_firewall_policy,
            cmd_resource=const.CMD_FWP)['id']
    elif parsed_args.ingress_firewall_policy:
        attrs['ingress_firewall_policy_id'] = client.find_resource(
            const.FWP,
            parsed_args.ingress_firewall_policy,
            cmd_resource=const.CMD_FWP)['id']
    elif parsed_args.no_ingress_firewall_policy:
        attrs['ingress_firewall_policy_id'] = None
    if (parsed_args.egress_firewall_policy
            and parsed_args.no_egress_firewall_policy):
        attrs['egress_firewall_policy_id'] = client.find_resource(
            const.FWP,
            parsed_args.egress_firewall_policy,
            cmd_resource=const.CMD_FWP)['id']
    elif parsed_args.egress_firewall_policy:
        attrs['egress_firewall_policy_id'] = client.find_resource(
            const.FWP,
            parsed_args.egress_firewall_policy,
            cmd_resource=const.CMD_FWP)['id']
    elif parsed_args.no_egress_firewall_policy:
        attrs['egress_firewall_policy_id'] = None
    if parsed_args.share:
        attrs['shared'] = True
    if parsed_args.no_share:
        attrs['shared'] = False
    if parsed_args.enable:
        attrs['admin_state_up'] = True
    if parsed_args.disable:
        attrs['admin_state_up'] = False
    if parsed_args.name:
        attrs['name'] = str(parsed_args.name)
    if parsed_args.description:
        attrs['description'] = str(parsed_args.description)
    if parsed_args.port and parsed_args.no_port:
        attrs['ports'] = sorted([
            client.find_resource('port', p)['id']
            for p in set(parsed_args.port)
        ])
    elif parsed_args.port:
        ports = []
        for p in set(parsed_args.port):
            ports.append(client.find_resource('port', p)['id'])
        if not is_create:
            ports += client.find_resource(const.FWG,
                                          parsed_args.firewall_group,
                                          cmd_resource=const.CMD_FWG)['ports']
        attrs['ports'] = sorted(set(ports))
    elif parsed_args.no_port:
        attrs['ports'] = []
    return attrs