def take_action(self, parsed_args): client = self.app.client_manager.tackerclient failure = False deleted_ids = [] failed_items = {} resources = getattr(parsed_args, self.resource, []) for resource_id in resources: try: vnf_package = client.show_vnf_package(resource_id) client.delete_vnf_package(vnf_package['id']) deleted_ids.append(resource_id) except Exception as e: failure = True failed_items[resource_id] = e if failure: msg = '' if deleted_ids: msg = (_('Successfully deleted %(resource)s(s):' ' %(deleted_list)s') % {'deleted_list': ', '.join(deleted_ids), 'resource': self.resource}) err_msg = _("\n\nUnable to delete the below" " 'vnf_package'(s):") for failed_id, error in failed_items.items(): err_msg += (_('\n Cannot delete %(failed_id)s: %(error)s') % {'failed_id': failed_id, 'error': error}) msg += err_msg raise exceptions.CommandError(msg) else: print((_('All specified %(resource)s(s) deleted successfully') % {'resource': self.resource})) return
def get_parser(self, prog_name): LOG.debug('get_parser(%s)', prog_name) parser = super(UploadVnfPackage, self).get_parser(prog_name) parser.add_argument( 'vnf_package', metavar="<vnf-package>", help=_("VNF package ID") ) file_source = parser.add_mutually_exclusive_group(required=True) file_source.add_argument( "--path", metavar="<file>", help=_("Upload VNF CSAR package from local file"), ) file_source.add_argument( "--url", metavar="<Uri>", help=_("Uri of the VNF package content"), ) parser.add_argument( "--user-name", metavar="<user-name>", help=_("User name for authentication"), ) parser.add_argument( "--password", metavar="<password>", help=_("Password for authentication"), ) return parser
def get_parser(self, prog_name): parser = super(CreateNS, self).get_parser(prog_name) parser.add_argument('name', metavar='NAME', help=_('Name for NS')) parser.add_argument('--tenant-id', metavar='TENANT_ID', help=_('The owner tenant ID')) parser.add_argument('--description', help=_('Set description for the NS')) nsd_group = parser.add_mutually_exclusive_group(required=True) nsd_group.add_argument( '--nsd-id', help=_('NSD ID to use as template to create NS')) nsd_group.add_argument('--nsd-template', help=_('NSD file to create NS')) nsd_group.add_argument( '--nsd-name', help=_('NSD name to use as template to create NS')) vim_group = parser.add_mutually_exclusive_group() vim_group.add_argument( '--vim-id', help=_('VIM ID to use to create NS on the specified VIM')) vim_group.add_argument( '--vim-name', help=_('VIM name to use to create NS on the specified VIM')) parser.add_argument( '--vim-region-name', help=_('VIM Region to use to create NS on the specified VIM')) parser.add_argument('--param-file', help=_('Specify parameter YAML file')) return parser
def add_known_arguments(self, parser): parser.add_argument( '--config-file', help=_('YAML file with VNF configuration')) parser.add_argument( '--config', help=_('Specify config yaml data'))
def take_action(self, parsed_args): client = self.app.client_manager.tackerclient failure = False deleted_ids = [] failed_items = {} for resource_id in parsed_args.ns: try: obj = tackerV10.find_resourceid_by_name_or_id( client, _NS, resource_id) client.delete_ns(obj) deleted_ids.append(resource_id) except Exception as e: failure = True failed_items[resource_id] = e if failure: msg = '' if deleted_ids: msg = (_('Successfully deleted %(resource)s(s):' ' %(deleted_list)s') % {'deleted_list': ', '.join(deleted_ids), 'resource': _NS}) err_msg = _("\n\nUnable to delete the below" " %s(s):") % _NS for failed_id, error in failed_items.iteritems(): err_msg += (_('\n Cannot delete %(failed_id)s: %(error)s') % {'failed_id': failed_id, 'error': error}) msg += err_msg raise exceptions.CommandError(msg) else: print((_('All specified %(resource)s(s) deleted successfully') % {'resource': _NS})) return
def add_known_arguments(self, parser): parser.add_argument( 'name', metavar='NAME', help=_('Set a name for the VNF')) parser.add_argument( '--description', help=_('Set description for the VNF')) vnfd_group = parser.add_mutually_exclusive_group(required=True) vnfd_group.add_argument( '--vnfd-id', help=_('VNFD ID to use as template to create VNF')) vnfd_group.add_argument( '--vnfd-name', help=_('VNFD Name to use as template to create VNF')) vnfd_group.add_argument( '--vnfd-template', help=_("VNFD file to create VNF")) vim_group = parser.add_mutually_exclusive_group() vim_group.add_argument( '--vim-id', help=_('VIM ID to use to create VNF on the specified VIM')) vim_group.add_argument( '--vim-name', help=_('VIM name to use to create VNF on the specified VIM')) parser.add_argument( '--vim-region-name', help=_('VIM Region to use to create VNF on the specified VIM')) parser.add_argument( '--config-file', help=_('YAML file with VNF configuration')) parser.add_argument( '--param-file', help=_('Specify parameter yaml file'))
def take_action(self, parsed_args): client = self.app.client_manager.tackerclient failure = False deleted_ids = [] failed_items = {} for resource_id in parsed_args.vnfd: try: obj = tackerV10.find_resourceid_by_name_or_id( client, _VNFD, resource_id) client.delete_vnfd(obj) deleted_ids.append(resource_id) except Exception as e: failure = True failed_items[resource_id] = e if failure: msg = '' if deleted_ids: msg = (_('Successfully deleted %(resource)s(s):' ' %(deleted_list)s') % { 'deleted_list': ', '.join(deleted_ids), 'resource': _VNFD }) err_msg = _("\n\nUnable to delete the below" " %s(s):") % _VNFD for failed_id, error in failed_items.iteritems(): err_msg += (_('\n Cannot delete %(failed_id)s: %(error)s') % { 'failed_id': failed_id, 'error': error }) msg += err_msg raise exceptions.CommandError(msg) else: print((_('All specified %(resource)s(s) deleted successfully') % { 'resource': _VNFD })) return
def get_parser(self, prog_name): parser = super(CreateNS, self).get_parser(prog_name) parser.add_argument( 'name', metavar='NAME', help=_('Name for NS')) parser.add_argument( '--tenant-id', metavar='TENANT_ID', help=_('The owner tenant ID')) parser.add_argument( '--description', help=_('Set description for the NS')) nsd_group = parser.add_mutually_exclusive_group(required=True) nsd_group.add_argument( '--nsd-id', help=_('NSD ID to use as template to create NS')) nsd_group.add_argument( '--nsd-template', help=_('NSD file to create NS')) nsd_group.add_argument( '--nsd-name', help=_('NSD name to use as template to create NS')) vim_group = parser.add_mutually_exclusive_group() vim_group.add_argument( '--vim-id', help=_('VIM ID to use to create NS on the specified VIM')) vim_group.add_argument( '--vim-name', help=_('VIM name to use to create NS on the specified VIM')) parser.add_argument( '--vim-region-name', help=_('VIM Region to use to create NS on the specified VIM')) parser.add_argument( '--param-file', help=_('Specify parameter YAML file')) return parser
def add_known_arguments(self, parser): parser.add_argument('--vnfd-file', help=_('Specify VNFD file')) parser.add_argument('name', metavar='NAME', help=_('Set a name for the VNFD')) parser.add_argument('--description', help=_('Set a description for the VNFD'))
def retry_request(self, method, action, body=None, headers=None, params=None): """Call do_request with the default retry configuration. Only idempotent requests should retry failed connection attempts. :raises: ConnectionFailed if the maximum # of retries is exceeded """ max_attempts = self.retries + 1 for i in range(max_attempts): try: return self.do_request(method, action, body=body, headers=headers, params=params) except exceptions.ConnectionFailed: # Exception has already been logged by do_request() if i < self.retries: _logger.debug('Retrying connection to Tacker service') time.sleep(self.retry_interval) elif self.raise_errors: raise if self.retries: msg = (_("Failed to connect to Tacker server after %d attempts") % max_attempts) else: msg = _("Failed to connect Tacker server") raise exceptions.ConnectionFailed(reason=msg)
def add_known_arguments(self, parser): parser.add_argument('--vnfd-file', help=_('Specify VNFD file')) parser.add_argument( 'name', metavar='NAME', help=_('Set a name for the VNFD')) parser.add_argument( '--description', help=_('Set a description for the VNFD'))
def get_parser(self, prog_name): parser = super(ListSFC, self).get_parser(prog_name) parser.add_argument('--nfp-id', help=_('List SFC(s) with specific nfp id')) parser.add_argument('--tenant-id', metavar='TENANT_ID', help=_('The owner tenant ID or project ID')) return parser
def add_known_arguments(self, parser): group = parser.add_mutually_exclusive_group(required=True) group.add_argument('--vnfd-file', help=_('Specify VNFD file')) group.add_argument('--vnfd', help=_('Specify VNFD (DEPRECATED)')) parser.add_argument('name', metavar='NAME', help=_('Set a name for the VNFD')) parser.add_argument('--description', help=_('Set a description for the VNFD'))
def add_known_arguments(self, parser): vnf_group = parser.add_mutually_exclusive_group(required=True) vnf_group.add_argument('--vnf-id', help=_('VNF ID')) vnf_group.add_argument('--vnf-name', help=_('VNF name')) parser.add_argument('--scaling-policy-name', help=_('VNF policy name used to scale')) parser.add_argument( '--scaling-type', help=_('VNF scaling type, it could be either "out" or "in"'))
def get_parser(self, prog_name): parser = super(ListSFC, self).get_parser(prog_name) parser.add_argument( '--nfp-id', help=_('List SFC(s) with specific nfp id')) parser.add_argument( '--tenant-id', metavar='TENANT_ID', help=_('The owner tenant ID or project ID')) return parser
def add_known_arguments(self, parser): parser.add_argument( '--vnf-mapping', help=_('List of logical VNFD name to VNF instance name mapping. ' 'Example: VNF1:my_vnf1,VNF2:my_vnf2')) parser.add_argument( '--symmetrical', metavar='{True,False}', help=_('Should a reverse path be created for the NFP'))
def check_non_negative_int(value): try: value = int(value) except ValueError: raise argparse.ArgumentTypeError(_("invalid int value: %r") % value) if value < 0: raise argparse.ArgumentTypeError( _("input value %d is negative") % value) return value
def check_non_negative_int(value): try: value = int(value) except ValueError: raise argparse.ArgumentTypeError(_("invalid int value: %r") % value) if value < 0: raise argparse.ArgumentTypeError(_("input value %d is negative") % value) return value
def get_parser(self, prog_name): parser = super(ListVNFResources, self).get_parser(prog_name) if self.allow_names: help_str = _('ID or name of %s to look up') else: help_str = _('ID of %s to look up') parser.add_argument( 'id', metavar=self.get_id(), help=help_str % self.resource) return parser
def add_known_arguments(self, parser): parser.add_argument( 'name', metavar='NAME', help=_('Set a name for the NS')) parser.add_argument( '--description', help=_('Set description for the NS')) nsd_group = parser.add_mutually_exclusive_group(required=True) nsd_group.add_argument( '--nsd-id', help=_('NSD ID to use as template to create NS')) nsd_group.add_argument( '--nsd-template', help=_('NSD file to create NS')) nsd_group.add_argument( '--nsd-name', help=_('NSD name to use as template to create NS')) vim_group = parser.add_mutually_exclusive_group() vim_group.add_argument( '--vim-id', help=_('VIM ID to use to create NS on the specified VIM')) vim_group.add_argument( '--vim-name', help=_('VIM name to use to create NS on the specified VIM')) parser.add_argument( '--vim-region-name', help=_('VIM Region to use to create NS on the specified VIM')) parser.add_argument( '--param-file', help=_('Specify parameter yaml file'))
def get_parser(self, prog_name): parser = super(CreateVNFFG, self).get_parser(prog_name) parser.add_argument( 'name', metavar='NAME', help=_('Set a name for the VNFFG')) parser.add_argument( '--tenant-id', metavar='TENANT_ID', help=_('The owner tenant ID')) vnffgd_group = parser.add_mutually_exclusive_group(required=True) vnffgd_group.add_argument( '--vnffgd-id', help=_('VNFFGD ID to use as template to create VNFFG')) vnffgd_group.add_argument( '--vnffgd-name', help=_('VNFFGD Name to use as template to create VNFFG')) vnffgd_group.add_argument( '--vnffgd-template', help=_('VNFFGD file to create VNFFG')) parser.add_argument( '--vnf-mapping', help=_('List of logical VNFD name to VNF instance name mapping. ' 'Example: VNF1:my_vnf1,VNF2:my_vnf2')) parser.add_argument( '--symmetrical', action='store_true', default=False, help=_('Should a reverse path be created for the NFP ' '(True or False)')) parser.add_argument( '--param-file', help=_('YAML file with specific VNFFG parameters')) parser.add_argument( '--description', help=_('Set a description for the VNFFG')) return parser
def get_parser(self, prog_name): parser = super(CreateVNFFG, self).get_parser(prog_name) parser.add_argument('name', metavar='NAME', help=_('Set a name for the VNFFG')) parser.add_argument('--tenant-id', metavar='TENANT_ID', help=_('The owner tenant ID')) vnffgd_group = parser.add_mutually_exclusive_group(required=True) vnffgd_group.add_argument( '--vnffgd-id', help=_('VNFFGD ID to use as template to create VNFFG')) vnffgd_group.add_argument( '--vnffgd-name', help=_('VNFFGD Name to use as template to create VNFFG')) vnffgd_group.add_argument('--vnffgd-template', help=_('VNFFGD file to create VNFFG')) parser.add_argument( '--vnf-mapping', help=_('List of logical VNFD name to VNF instance name mapping. ' 'Example: VNF1:my_vnf1,VNF2:my_vnf2')) parser.add_argument('--symmetrical', action='store_true', default=False, help=_( 'Should a reverse path be created for the NFP ' '(True or False)')) parser.add_argument('--param-file', help=_('YAML file with specific VNFFG parameters')) parser.add_argument('--description', help=_('Set a description for the VNFFG')) return parser
def add_known_arguments(self, parser): parser.add_argument('name', metavar='NAME', help=_('Set a name for the NS')) parser.add_argument('--description', help=_('Set description for the NS')) nsd_group = parser.add_mutually_exclusive_group(required=True) nsd_group.add_argument( '--nsd-id', help=_('NSD ID to use as template to create NS')) nsd_group.add_argument('--nsd-template', help=_('NSD file to create NS')) nsd_group.add_argument( '--nsd-name', help=_('NSD name to use as template to create NS')) vim_group = parser.add_mutually_exclusive_group() vim_group.add_argument( '--vim-id', help=_('VIM ID to use to create NS on the specified VIM')) vim_group.add_argument( '--vim-name', help=_('VIM name to use to create NS on the specified VIM')) parser.add_argument( '--vim-region-name', help=_('VIM Region to use to create NS on the specified VIM')) parser.add_argument('--param-file', help=_('Specify parameter yaml file'))
def build_option_parser(self, description, version): """Return an argparse option parser for this application. Subclasses may override this method to extend the parser with more global options. :param description: full description of the application :paramtype description: str :param version: version number for the application :paramtype version: str """ parser = argparse.ArgumentParser( description=description, add_help=False, ) parser.add_argument( '--version', action='version', version=__version__, ) parser.add_argument( '-v', '--verbose', '--debug', action='count', dest='verbose_level', default=self.DEFAULT_VERBOSE_LEVEL, help=_('Increase verbosity of output and show tracebacks on' ' errors. You can repeat this option.')) parser.add_argument( '-q', '--quiet', action='store_const', dest='verbose_level', const=0, help=_('Suppress output except warnings and errors.')) parser.add_argument( '-h', '--help', action=HelpAction, nargs=0, default=self, # tricky help=_("Show this help message and exit.")) parser.add_argument( '-r', '--retries', metavar="NUM", type=check_non_negative_int, default=0, help=_("How many times the request to the Tacker server should " "be retried if it fails.")) # FIXME(bklei): this method should come from python-keystoneclient self._append_global_identity_args(parser) return parser
def get_parser(self, prog_name): parser = super(ScaleVNF, self).get_parser(prog_name) parser.add_argument('--scaling-policy-name', help=_('VNF policy name used to scale')) parser.add_argument( '--scaling-type', help=_('VNF scaling type, it could be either "out" or "in"')) parser.add_argument(_VNF, metavar="<VNF>", help=_("VNF to scale (name or ID)")) return parser
def get_parser(self, prog_name): parser = super(DeleteNS, self).get_parser(prog_name) parser.add_argument(_NS, metavar="<NS>", nargs="+", help=_("NS(s) to delete (name or ID)")) parser.add_argument('--force', default=False, action='store_true', help=_('Force delete Network Service')) return parser
def get_parser(self, prog_name): parser = super(UpdateVNF, self).get_parser(prog_name) config_group = parser.add_mutually_exclusive_group(required=True) config_group.add_argument('--config-file', help=_('YAML file with VNF configuration')) config_group.add_argument('--config', help=_('Specify config YAML data')) parser.add_argument(_VNF, metavar="<VNF>", help=_("VNF to update (name or ID)")) return parser
def get_parser(self, prog_name): parser = super(CreateVNFD, self).get_parser(prog_name) parser.add_argument('name', metavar='NAME', help=_('Name for VNFD')) parser.add_argument('--tenant-id', metavar='TENANT_ID', help=_('The owner tenant ID or project ID')) parser.add_argument('--vnfd-file', required=True, help=_('YAML file with VNFD parameters')) parser.add_argument('--description', help=_('Set a description for the VNFD')) return parser
def add_known_arguments(self, parser): parser.add_argument('--vnffgd-template', help=_('VNFFGD file to update VNFFG')) parser.add_argument( '--vnf-mapping', help=_('List of logical VNFD name to VNF instance name mapping. ' 'Example: VNF1:my_vnf1,VNF2:my_vnf2')) parser.add_argument( '--symmetrical', action='store_true', default=False, help=_('Should a reverse path be created for the NFP'))
def get_parser(self, prog_name): parser = super(ScaleVNF, self).get_parser(prog_name) parser.add_argument( '--scaling-policy-name', help=_('VNF policy name used to scale')) parser.add_argument( '--scaling-type', help=_('VNF scaling type, it could be either "out" or "in"')) parser.add_argument( _VNF, metavar="<VNF>", help=_("VNF to scale (name or ID)")) return parser
def add_known_arguments(self, parser): parser.add_argument( '--config-file', required=False, help=_('YAML file with VIM configuration parameters')) parser.add_argument('--name', help=_('New name for the VIM')) parser.add_argument('--description', help=_('New description for the VIM')) parser.add_argument( '--is-default', type=strutils.bool_from_string, metavar='{True,False}', help=_('Indicate whether the VIM is used as default'))
def get_parser(self, prog_name): parser = super(DeleteVNF, self).get_parser(prog_name) parser.add_argument( _VNF, metavar="<VNF>", nargs="+", help=_("VNF(s) to delete (name or ID)")) parser.add_argument( '--force', default=False, action='store_true', help=_('Force delete VNF instance')) return parser
def add_known_arguments(self, parser): parser.add_argument( '--config-file', required=True, help=_('YAML file with VIM configuration parameters')) parser.add_argument('name', metavar='NAME', help=_('Set a name for the VIM')) parser.add_argument('--description', help=_('Set a description for the VIM')) parser.add_argument('--is-default', action='store_true', default=False, help=_('Set as default VIM'))
def get_parser(self, prog_name): parser = super(UpdateVNF, self).get_parser(prog_name) config_group = parser.add_mutually_exclusive_group(required=True) config_group.add_argument( '--config-file', help=_('YAML file with VNF configuration')) config_group.add_argument( '--config', help=_('Specify config YAML data')) parser.add_argument( _VNF, metavar="<VNF>", help=_("VNF to update (name or ID)")) return parser
def add_known_arguments(self, parser): parser.add_argument( '--vnffgd-template', help=_('VNFFGD file to update VNFFG') ) parser.add_argument( '--vnf-mapping', help=_('List of logical VNFD name to VNF instance name mapping. ' 'Example: VNF1:my_vnf1,VNF2:my_vnf2')) parser.add_argument( '--symmetrical', action='store_true', default=False, help=_('Should a reverse path be created for the NFP'))
def add_known_arguments(self, parser): vnf_group = parser.add_mutually_exclusive_group(required=True) vnf_group.add_argument( '--vnf-id', help=_('VNF ID')) vnf_group.add_argument( '--vnf-name', help=_('VNF name')) parser.add_argument( '--scaling-policy-name', help=_('VNF policy name used to scale')) parser.add_argument( '--scaling-type', help=_('VNF scaling type, it could be either "out" or "in"'))
def _from_xml(self, datastring): if datastring is None: return None plurals = set(self.metadata.get('plurals', {})) try: node = etree.fromstring(datastring) root_tag = self._get_key(node.tag) links = self._get_links(root_tag, node) result = self._from_xml_node(node, plurals) # There is no case where root_tag = constants.VIRTUAL_ROOT_KEY # and links is not None because of the way data are serialized if root_tag == constants.VIRTUAL_ROOT_KEY: return result return dict({root_tag: result}, **links) except Exception as e: parseError = False # Python2.7 if (hasattr(etree, 'ParseError') and isinstance(e, getattr(etree, 'ParseError'))): parseError = True # Python2.6 elif isinstance(e, expat.ExpatError): parseError = True if parseError: msg = _("Cannot understand XML") raise exception.MalformedResponseBody(reason=msg) else: raise
def get_parser(self, prog_name): parser = super(CreateNSD, self).get_parser(prog_name) parser.add_argument( 'name', metavar='NAME', help=_('Name for NSD')) parser.add_argument( '--tenant-id', metavar='TENANT_ID', help=_('The owner tenant ID or project ID')) parser.add_argument( '--nsd-file', required=True, help=_('YAML file with NSD parameters')) parser.add_argument( '--description', help=_('Set a description for the NSD')) return parser
def get_parser(self, prog_name): parser = super(ListVNFResources, self).get_parser(prog_name) parser.add_argument( _VNF, metavar="<VNF>", help=_("VNF to display (name or ID)")) return parser
def add_known_arguments(self, parser): parser.add_argument( '--config-file', required=True, help=_('YAML file with VIM configuration parameters')) parser.add_argument( 'name', metavar='NAME', help=_('Set a name for the VIM')) parser.add_argument( '--description', help=_('Set a description for the VIM')) parser.add_argument( '--is-default', action='store_true', default=False, help=_('Set as default VIM'))
def add_known_arguments(self, parser): parser.add_argument( '--config-file', required=False, help=_('YAML file with VIM configuration parameters')) parser.add_argument( '--name', help=_('New name for the VIM')) parser.add_argument( '--description', help=_('New description for the VIM')) parser.add_argument( '--is-default', type=strutils.bool_from_string, metavar='{True,False}', help=_('Indicate whether the VIM is used as default'))
class CreateVnfPackage(command.ShowOne): _description = _("Create a new VNF Package") def get_parser(self, prog_name): LOG.debug('get_parser(%s)', prog_name) parser = super(CreateVnfPackage, self).get_parser(prog_name) parser.add_argument( '--user-data', metavar='<key=value>', action=parseractions.KeyValueAction, help=_('User defined data for the VNF package ' '(repeat option to set multiple user defined data)'), ) return parser def args2body(self, parsed_args): body = {} if parsed_args.user_data: body["userDefinedData"] = parsed_args.user_data return body def take_action(self, parsed_args): client = self.app.client_manager.tackerclient vnf_package = client.create_vnf_package(self.args2body(parsed_args)) display_columns, columns = _get_columns(vnf_package) data = utils.get_item_properties( sdk_utils.DictModel(vnf_package), columns, mixed_case_fields=_mixed_case_fields) return (display_columns, data)
def get_parser(self, prog_name): parser = super(DeleteNS, self).get_parser(prog_name) parser.add_argument(_NS, metavar="<NS>", nargs="+", help=_("NS(s) to delete (name or ID)")) return parser
def _from_xml(self, datastring): if datastring is None: return None plurals = set(self.metadata.get("plurals", {})) try: node = etree.fromstring(datastring) root_tag = self._get_key(node.tag) links = self._get_links(root_tag, node) result = self._from_xml_node(node, plurals) # There is no case where root_tag = constants.VIRTUAL_ROOT_KEY # and links is not None because of the way data are serialized if root_tag == constants.VIRTUAL_ROOT_KEY: return result return dict({root_tag: result}, **links) except Exception as e: parseError = False # Python2.7 if hasattr(etree, "ParseError") and isinstance(e, getattr(etree, "ParseError")): parseError = True # Python2.6 elif isinstance(e, expat.ExpatError): parseError = True if parseError: msg = _("Cannot understand XML") raise exception.MalformedResponseBody(reason=msg) else: raise
def get_parser(self, prog_name): parser = super(DeleteVNFD, self).get_parser(prog_name) parser.add_argument(_VNFD, metavar="<VNFD>", nargs="+", help=_("VNFD(s) to delete (name or ID)")) return parser
def get_parser(self, prog_name): parser = super(ListVIM, self).get_parser(prog_name) parser.add_argument( '--long', action='store_true', help=_("List additional fields in output") ) return parser
def get_parser(self, prog_name): parser = super(ShowTemplateVNFFGD, self).get_parser(prog_name) parser.add_argument( _VNFFGD, metavar="<VNFFGD>", help=_("VNFFGD to display (name or ID)") ) return parser
def authenticate(self): if self.auth_strategy == 'keystone': self._authenticate_keystone() elif self.auth_strategy == 'noauth': self._authenticate_noauth() else: err_msg = _('Unknown auth strategy: %s') % self.auth_strategy raise exceptions.Unauthorized(message=err_msg)
def get_parser(self, prog_name): parser = super(ShowVNFFG, self).get_parser(prog_name) parser.add_argument( _VNFFG, metavar="<VNFFG>", help=_('VNFFG to display (name or ID)') ) return parser
def get_parser(self, prog_name): parser = super(ShowNFP, self).get_parser(prog_name) parser.add_argument( _NFP, metavar="<NFP>", help=_('NFP to display (name or ID)') ) return parser
def get_parser(self, prog_name): parser = super(ShowFC, self).get_parser(prog_name) parser.add_argument( _FC, metavar="<Classifier ID>", help=_('Flow Classifier to display (name or ID)') ) return parser
def get_parser(self, prog_name): parser = super(ShowSFC, self).get_parser(prog_name) parser.add_argument( _SFC, metavar="<SFC>", help=_('SFC to display (name or ID)') ) return parser
def get_parser(self, prog_name): parser = super(ShowVIM, self).get_parser(prog_name) parser.add_argument( _VIM, metavar="<VIM>", help=_("VIM to display (name or ID)") ) return parser
def get_parser(self, prog_name): parser = super(ShowNS, self).get_parser(prog_name) parser.add_argument( _NS, metavar="<NS>", help=_("NS to display (name or ID)") ) return parser