+def nsi_op_show(ctx, id, filter):
+ logger.debug("")
+ # try:
+ check_client_version(ctx.obj, ctx.command.name)
+ op_info = ctx.obj.nsi.get_op(id)
+ # except ClientException as e:
+ # print(str(e))
+ # exit(1)
+
+ table = PrettyTable(['field', 'value'])
+ for k, v in list(op_info.items()):
+ if not filter or k in filter:
+ table.add_row([k, json.dumps(v, indent=2)])
+ table.align = 'l'
+ print(table)
+
+
+@cli_osm.command(name='nsi-op-show', short_help='shows the info of an operation over a Network Slice Instance(NSI)')
+@click.argument('id')
+@click.option('--filter', multiple=True,
+ help='restricts the information to the fields in the filter')
+@click.pass_context
+def nsi_op_show1(ctx, id, filter):
+ """shows the info of an operation over a Network Slice Instance(NSI)
+
+ ID: operation identifier
+ """
+ logger.debug("")
+ nsi_op_show(ctx, id, filter)
+
+
+@cli_osm.command(name='netslice-instance-op-show', short_help='shows the info of an operation over a Network Slice Instance(NSI)')
+@click.argument('id')
+@click.option('--filter', multiple=True,
+ help='restricts the information to the fields in the filter')
+@click.pass_context
+def nsi_op_show2(ctx, id, filter):
+ """shows the info of an operation over a Network Slice Instance(NSI)
+
+ ID: operation identifier
+ """
+ logger.debug("")
+ nsi_op_show(ctx, id, filter)
+
+
+@cli_osm.command(name='pdu-show', short_help='shows the content of a Physical Deployment Unit (PDU)')
+@click.argument('name')
+@click.option('--literal', is_flag=True,
+ help='print literally, no pretty table')
+@click.option('--filter', multiple=True,
+ help='restricts the information to the fields in the filter')
+@click.pass_context
+def pdu_show(ctx, name, literal, filter):
+ """shows the content of a Physical Deployment Unit (PDU)
+
+ NAME: name or ID of the PDU
+ """
+ logger.debug("")
+ # try:
+ check_client_version(ctx.obj, ctx.command.name)
+ pdu = ctx.obj.pdu.get(name)
+ # except ClientException as e:
+ # print(str(e))
+ # exit(1)
+
+ if literal:
+ print(yaml.safe_dump(pdu, indent=4, default_flow_style=False))
+ return
+
+ table = PrettyTable(['field', 'value'])
+
+ for k, v in list(pdu.items()):
+ if not filter or k in filter:
+ table.add_row([k, json.dumps(v, indent=2)])
+
+ table.align = 'l'
+ print(table)
+
+
+####################
+# CREATE operations
+####################
+
+def nsd_create(ctx, filename, overwrite, skip_charm_build, repo, vendor, version):
+ logger.debug("")
+ # try:
+ check_client_version(ctx.obj, ctx.command.name)
+ if repo:
+ filename = ctx.obj.osmrepo.get_pkg('ns', filename, repo, vendor, version)
+ ctx.obj.nsd.create(filename, overwrite=overwrite, skip_charm_build=skip_charm_build)
+ # except ClientException as e:
+ # print(str(e))
+ # exit(1)
+
+
+@cli_osm.command(name='nsd-create', short_help='creates a new NSD/NSpkg')
+@click.argument('filename')
+@click.option('--overwrite', 'overwrite', default=None, # hidden=True,
+ help='Deprecated. Use override')
+@click.option('--override', 'overwrite', default=None,
+ help='overrides fields in descriptor, format: '
+ '"key1.key2...=value[;key3...=value;...]"')
+@click.option('--skip-charm-build', default=False, is_flag=True,
+ help='The charm will not be compiled, it is assumed to already exist')
+@click.option('--repo', default=None,
+ help='[repository]: Repository name')
+@click.option('--vendor', default=None,
+ help='[repository]: filter by vendor]')
+@click.option('--version', default='latest',
+ help='[repository]: filter by version. Default: latest')
+@click.pass_context
+def nsd_create1(ctx, filename, overwrite, skip_charm_build, repo, vendor, version):
+ """onboards a new NSpkg (alias of nspkg-create) (TO BE DEPRECATED)
+
+ \b
+ FILENAME: NF Package tar.gz file, NF Descriptor YAML file or NF Package folder
+ If FILENAME is a file (NF Package tar.gz or NF Descriptor YAML), it is onboarded.
+ If FILENAME is an NF Package folder, it is built and then onboarded.
+ """
+ logger.debug("")
+ nsd_create(ctx, filename, overwrite=overwrite, skip_charm_build=skip_charm_build, repo=repo, vendor=vendor,
+ version=version)
+
+
+@cli_osm.command(name='nspkg-create', short_help='creates a new NSD/NSpkg')
+@click.argument('filename')
+@click.option('--overwrite', 'overwrite', default=None, # hidden=True,
+ help='Deprecated. Use override')
+@click.option('--override', 'overwrite', default=None,
+ help='overrides fields in descriptor, format: '
+ '"key1.key2...=value[;key3...=value;...]"')
+@click.option('--skip-charm-build', default=False, is_flag=True,
+ help='The charm will not be compiled, it is assumed to already exist')
+@click.option('--repo', default=None,
+ help='[repository]: Repository name')
+@click.option('--vendor', default=None,
+ help='[repository]: filter by vendor]')
+@click.option('--version', default='latest',
+ help='[repository]: filter by version. Default: latest')
+@click.pass_context
+def nsd_pkg_create(ctx, filename, overwrite, skip_charm_build, repo, vendor, version):
+ """onboards a new NSpkg
+ \b
+ FILENAME: NF Package tar.gz file, NF Descriptor YAML file or NF Package folder
+ If FILENAME is a file (NF Package tar.gz or NF Descriptor YAML), it is onboarded.
+ If FILENAME is an NF Package folder, it is built and then onboarded.
+ """
+ logger.debug("")
+ nsd_create(ctx, filename, overwrite=overwrite, skip_charm_build=skip_charm_build, repo=repo, vendor=vendor,
+ version=version)
+
+
+def vnfd_create(ctx, filename, overwrite, skip_charm_build, override_epa, override_nonepa, override_paravirt,
+ repo, vendor, version):
+ logger.debug("")
+ # try:
+ check_client_version(ctx.obj, ctx.command.name)
+ if repo:
+ filename = ctx.obj.osmrepo.get_pkg('vnf', filename, repo, vendor, version)
+ ctx.obj.vnfd.create(filename, overwrite=overwrite, skip_charm_build=skip_charm_build,
+ override_epa=override_epa, override_nonepa=override_nonepa,
+ override_paravirt=override_paravirt)
+ # except ClientException as e:
+ # print(str(e))
+ # exit(1)
+
+
+@cli_osm.command(name='vnfd-create', short_help='creates a new VNFD/VNFpkg')
+@click.argument('filename')
+@click.option('--overwrite', 'overwrite', default=None,
+ help='overwrite deprecated, use override')
+@click.option('--override', 'overwrite', default=None,
+ help='overrides fields in descriptor, format: '
+ '"key1.key2...=value[;key3...=value;...]"')
+@click.option('--skip-charm-build', default=False, is_flag=True,
+ help='The charm will not be compiled, it is assumed to already exist')
+@click.option('--override-epa', required=False, default=False, is_flag=True,
+ help='adds guest-epa parameters to all VDU')
+@click.option('--override-nonepa', required=False, default=False, is_flag=True,
+ help='removes all guest-epa parameters from all VDU')
+@click.option('--override-paravirt', required=False, default=False, is_flag=True,
+ help='overrides all VDU interfaces to PARAVIRT')
+@click.option('--repo', default=None,
+ help='[repository]: Repository name')
+@click.option('--vendor', default=None,
+ help='[repository]: filter by vendor]')
+@click.option('--version', default='latest',
+ help='[repository]: filter by version. Default: latest')
+@click.pass_context
+def vnfd_create1(ctx, filename, overwrite, skip_charm_build, override_epa, override_nonepa, override_paravirt,
+ repo,vendor, version):
+ """creates a new VNFD/VNFpkg
+ \b
+ FILENAME: NF Package tar.gz file, NF Descriptor YAML file or NF Package folder
+ If FILENAME is a file (NF Package tar.gz or NF Descriptor YAML), it is onboarded.
+ If FILENAME is an NF Package folder, it is built and then onboarded.
+ """
+ logger.debug("")
+ vnfd_create(ctx, filename, overwrite=overwrite, skip_charm_build=skip_charm_build,
+ override_epa=override_epa, override_nonepa=override_nonepa, override_paravirt=override_paravirt,
+ repo=repo, vendor=vendor, version=version)
+
+
+@cli_osm.command(name='vnfpkg-create', short_help='creates a new VNFD/VNFpkg')
+@click.argument('filename')
+@click.option('--overwrite', 'overwrite', default=None, # hidden=True,
+ help='Deprecated. Use override')
+@click.option('--override', 'overwrite', default=None,
+ help='overrides fields in descriptor, format: '
+ '"key1.key2...=value[;key3...=value;...]"')
+@click.option('--skip-charm-build', default=False, is_flag=True,
+ help='The charm will not be compiled, it is assumed to already exist')
+@click.option('--override-epa', required=False, default=False, is_flag=True,
+ help='adds guest-epa parameters to all VDU')
+@click.option('--override-nonepa', required=False, default=False, is_flag=True,
+ help='removes all guest-epa parameters from all VDU')
+@click.option('--override-paravirt', required=False, default=False, is_flag=True,
+ help='overrides all VDU interfaces to PARAVIRT')
+@click.option('--repo', default=None,
+ help='[repository]: Repository name')
+@click.option('--vendor', default=None,
+ help='[repository]: filter by vendor]')
+@click.option('--version', default='latest',
+ help='[repository]: filter by version. Default: latest')
+@click.pass_context
+def vnfd_create2(ctx, filename, overwrite, skip_charm_build, override_epa, override_nonepa, override_paravirt,
+ repo, vendor, version):
+ """creates a new VNFD/VNFpkg
+ \b
+ FILENAME: NF Package tar.gz file, NF Descriptor YAML file or NF Package folder
+ If FILENAME is a file (NF Package tar.gz or NF Descriptor YAML), it is onboarded.
+ If FILENAME is an NF Package folder, it is built and then onboarded.
+ """
+ logger.debug("")
+ vnfd_create(ctx, filename, overwrite=overwrite, skip_charm_build=skip_charm_build,
+ override_epa=override_epa, override_nonepa=override_nonepa, override_paravirt=override_paravirt,
+ repo=repo, vendor=vendor, version=version)
+
+@cli_osm.command(name='nfpkg-create', short_help='creates a new NFpkg')
+@click.argument('filename')
+@click.option('--overwrite', 'overwrite', default=None, # hidden=True,
+ help='Deprecated. Use override')
+@click.option('--override', 'overwrite', default=None,
+ help='overrides fields in descriptor, format: '
+ '"key1.key2...=value[;key3...=value;...]"')
+@click.option('--skip-charm-build', default=False, is_flag=True,
+ help='The charm will not be compiled, it is assumed to already exist')
+@click.option('--override-epa', required=False, default=False, is_flag=True,
+ help='adds guest-epa parameters to all VDU')
+@click.option('--override-nonepa', required=False, default=False, is_flag=True,
+ help='removes all guest-epa parameters from all VDU')
+@click.option('--override-paravirt', required=False, default=False, is_flag=True,
+ help='overrides all VDU interfaces to PARAVIRT')
+@click.option('--repo', default=None,
+ help='[repository]: Repository name')
+@click.option('--vendor', default=None,
+ help='[repository]: filter by vendor]')
+@click.option('--version', default='latest',
+ help='[repository]: filter by version. Default: latest')
+@click.pass_context
+def nfpkg_create(ctx, filename, overwrite, skip_charm_build, override_epa, override_nonepa, override_paravirt,
+ repo, vendor, version):
+ """creates a new NFpkg
+
+ \b
+ FILENAME: NF Package tar.gz file, NF Descriptor YAML file or NF Package folder
+ If FILENAME is a file (NF Package tar.gz or NF Descriptor YAML), it is onboarded.
+ If FILENAME is an NF Package folder, it is built and then onboarded.
+ """
+ logger.debug("")
+ vnfd_create(ctx, filename, overwrite=overwrite, skip_charm_build=skip_charm_build,
+ override_epa=override_epa, override_nonepa=override_nonepa, override_paravirt=override_paravirt,
+ repo=repo, vendor=vendor, version=version)
+
+
+@cli_osm.command(name='ns-create', short_help='creates a new Network Service instance')
+@click.option('--ns_name',
+ prompt=True, help='name of the NS instance')
+@click.option('--nsd_name',
+ prompt=True, help='name of the NS descriptor')