def build_option_parser(self, description, version): parser = super(OpenStackShell, self).build_option_parser( description, version) parser = clientmanager.build_plugin_option_parser(parser) parser = auth.build_auth_plugins_option_parser(parser) return parser
def get_client_manager(): """Return a client_manager instance.""" opts = clientmanager.build_plugin_option_parser(argparse.ArgumentParser()) cloud = os_client_config.OpenStackConfig().get_one_cloud() api_version = {} for mod in clientmanager.PLUGIN_MODULES: default_version = getattr(mod, 'DEFAULT_API_VERSION', None) option = mod.API_VERSION_OPTION.replace('os_', '') version_opt = cloud.config.get(option, default_version) if version_opt: api = mod.API_NAME api_version[api] = version_opt api_version['identity'] = 3 client_manager = clientmanager.ClientManager(cli_options=cloud, api_version=api_version) # https://bugs.launchpad.net/python-openstackclient/+bug/1463535 client_manager.auth_ref return client_manager
def build_option_parser(self, description, version): parser = super(OpenStackShell, self).build_option_parser(description, version) # service token auth argument parser.add_argument( '--os-cloud', metavar='<cloud-config-name>', dest='cloud', default=utils.env('OS_CLOUD'), help='Cloud name in clouds.yaml (Env: OS_CLOUD)', ) # Global arguments parser.add_argument( '--os-region-name', metavar='<auth-region-name>', dest='region_name', default=utils.env('OS_REGION_NAME'), help='Authentication region name (Env: OS_REGION_NAME)') parser.add_argument('--os-cacert', metavar='<ca-bundle-file>', dest='cacert', default=utils.env('OS_CACERT'), help='CA certificate bundle file (Env: OS_CACERT)') verify_group = parser.add_mutually_exclusive_group() verify_group.add_argument( '--verify', action='store_true', default=None, help='Verify server certificate (default)', ) verify_group.add_argument( '--insecure', action='store_true', default=None, help='Disable server certificate verification', ) parser.add_argument('--os-default-domain', metavar='<auth-domain>', dest='default_domain', default=utils.env('OS_DEFAULT_DOMAIN', default=DEFAULT_DOMAIN), help='Default domain ID, default=' + DEFAULT_DOMAIN + ' (Env: OS_DEFAULT_DOMAIN)') parser.add_argument('--os-endpoint-type', metavar='<endpoint-type>', dest='endpoint_type', choices=['admin', 'public', 'internal'], default=utils.env('OS_ENDPOINT_TYPE'), help='Select an endpoint type.' ' Valid endpoint types: [admin, public, internal].' ' (Env: OS_ENDPOINT_TYPE)') parser.add_argument( '--timing', default=False, action='store_true', help="Print API call timing info", ) return clientmanager.build_plugin_option_parser(parser)
def build_option_parser(self, description, version): parser = super(OpenStackShell, self).build_option_parser( description, version) # service token auth argument parser.add_argument( '--os-cloud', metavar='<cloud-config-name>', dest='cloud', default=utils.env('OS_CLOUD'), help='Cloud name in clouds.yaml (Env: OS_CLOUD)', ) # Global arguments parser.add_argument( '--os-region-name', metavar='<auth-region-name>', dest='region_name', default=utils.env('OS_REGION_NAME'), help='Authentication region name (Env: OS_REGION_NAME)') parser.add_argument( '--os-cacert', metavar='<ca-bundle-file>', dest='cacert', default=utils.env('OS_CACERT'), help='CA certificate bundle file (Env: OS_CACERT)') verify_group = parser.add_mutually_exclusive_group() verify_group.add_argument( '--verify', action='store_true', default=None, help='Verify server certificate (default)', ) verify_group.add_argument( '--insecure', action='store_true', default=None, help='Disable server certificate verification', ) parser.add_argument( '--os-default-domain', metavar='<auth-domain>', dest='default_domain', default=utils.env( 'OS_DEFAULT_DOMAIN', default=DEFAULT_DOMAIN), help='Default domain ID, default=' + DEFAULT_DOMAIN + ' (Env: OS_DEFAULT_DOMAIN)') parser.add_argument( '--timing', default=False, action='store_true', help="Print API call timing info", ) return clientmanager.build_plugin_option_parser(parser)
def build_option_parser(self, description, version): parser = super(OpenStackShell, self).build_option_parser(description, version) # service token auth argument parser.add_argument('--os-url', metavar='<url>', default=utils.env('OS_URL'), help='Defaults to env[OS_URL]') # Global arguments parser.add_argument( '--os-region-name', metavar='<auth-region-name>', default=utils.env('OS_REGION_NAME'), help='Authentication region name (Env: OS_REGION_NAME)') parser.add_argument('--os-cacert', metavar='<ca-bundle-file>', default=utils.env('OS_CACERT'), help='CA certificate bundle file (Env: OS_CACERT)') verify_group = parser.add_mutually_exclusive_group() verify_group.add_argument( '--verify', action='store_true', help='Verify server certificate (default)', ) verify_group.add_argument( '--insecure', action='store_true', help='Disable server certificate verification', ) parser.add_argument('--os-default-domain', metavar='<auth-domain>', default=utils.env('OS_DEFAULT_DOMAIN', default=DEFAULT_DOMAIN), help='Default domain ID, default=' + DEFAULT_DOMAIN + ' (Env: OS_DEFAULT_DOMAIN)') parser.add_argument( '--timing', default=False, action='store_true', help="Print API call timing info", ) return clientmanager.build_plugin_option_parser(parser)
# Do useful things with it # Look in the object store c_list = client_manager.object_store.container_list() print("Name\tCount\tBytes") for c in c_list: print("%s\t%d\t%d" % (c['name'], c['count'], c['bytes'])) if len(c_list) > 0: # See what is in the first container o_list = client_manager.object_store.object_list(c_list[0]['name']) print("\nObject") for o in o_list: print("%s" % o) # Look at the compute flavors flavor_list = client_manager.compute.flavors.list() print("\nFlavors:") for f in flavor_list: print("%s" % f) if __name__ == "__main__": parser = argparse.ArgumentParser(description='ClientManager Example') opts = common.base_parser( clientmanager.build_plugin_option_parser(parser), ).parse_args() common.configure_logging(opts) sys.exit(common.main(opts, run))
def build_option_parser(self, description, version): parser = super(OpenStackShell, self).build_option_parser( description, version) # service token auth argument parser.add_argument( '--os-cloud', metavar='<cloud-config-name>', dest='cloud', default=utils.env('OS_CLOUD'), help='Cloud name in clouds.yaml (Env: OS_CLOUD)', ) # Global arguments parser.add_argument( '--os-region-name', metavar='<auth-region-name>', dest='region_name', default=utils.env('OS_REGION_NAME'), help='Authentication region name (Env: OS_REGION_NAME)') parser.add_argument( '--os-cacert', metavar='<ca-bundle-file>', dest='cacert', default=utils.env('OS_CACERT'), help='CA certificate bundle file (Env: OS_CACERT)') verify_group = parser.add_mutually_exclusive_group() verify_group.add_argument( '--verify', action='store_true', default=None, help='Verify server certificate (default)', ) verify_group.add_argument( '--insecure', action='store_true', default=None, help='Disable server certificate verification', ) parser.add_argument( '--os-default-domain', metavar='<auth-domain>', dest='default_domain', default=utils.env( 'OS_DEFAULT_DOMAIN', default=DEFAULT_DOMAIN), help='Default domain ID, default=' + DEFAULT_DOMAIN + ' (Env: OS_DEFAULT_DOMAIN)') parser.add_argument( '--os-interface', metavar='<interface>', dest='interface', choices=['admin', 'public', 'internal'], default=utils.env('OS_INTERFACE'), help='Select an interface type.' ' Valid interface types: [admin, public, internal].' ' (Env: OS_INTERFACE)') parser.add_argument( '--timing', default=False, action='store_true', help="Print API call timing info", ) # osprofiler HMAC key argument if osprofiler_profiler: parser.add_argument('--profile', metavar='hmac-key', help='HMAC key to use for encrypting context ' 'data for performance profiling of operation. ' 'This key should be the value of one of the ' 'HMAC keys configured in osprofiler ' 'middleware in the projects user would like ' 'to profile. It needs to be specified in ' 'configuration files of the required ' 'projects.') return clientmanager.build_plugin_option_parser(parser)
def build_option_parser(self, description, version): parser = super(OpenStackShell, self).build_option_parser( description, version) # service token auth argument parser.add_argument( '--os-cloud', metavar='<cloud-config-name>', dest='cloud', default=utils.env('OS_CLOUD'), help=_('Cloud name in clouds.yaml (Env: OS_CLOUD)'), ) # Global arguments parser.add_argument( '--os-region-name', metavar='<auth-region-name>', dest='region_name', default=utils.env('OS_REGION_NAME'), help=_('Authentication region name (Env: OS_REGION_NAME)'), ) parser.add_argument( '--os-cacert', metavar='<ca-bundle-file>', dest='cacert', default=utils.env('OS_CACERT'), help=_('CA certificate bundle file (Env: OS_CACERT)'), ) parser.add_argument( '--os-cert', metavar='<certificate-file>', dest='cert', default=utils.env('OS_CERT'), help=_('Client certificate bundle file (Env: OS_CERT)'), ) parser.add_argument( '--os-key', metavar='<key-file>', dest='key', default=utils.env('OS_KEY'), help=_('Client certificate key file (Env: OS_KEY)'), ) verify_group = parser.add_mutually_exclusive_group() verify_group.add_argument( '--verify', action='store_true', default=None, help=_('Verify server certificate (default)'), ) verify_group.add_argument( '--insecure', action='store_true', default=None, help=_('Disable server certificate verification'), ) parser.add_argument( '--os-default-domain', metavar='<auth-domain>', dest='default_domain', default=utils.env( 'OS_DEFAULT_DOMAIN', default=DEFAULT_DOMAIN), help=_('Default domain ID, default=%s. ' '(Env: OS_DEFAULT_DOMAIN)') % DEFAULT_DOMAIN, ) parser.add_argument( '--os-interface', metavar='<interface>', dest='interface', choices=['admin', 'public', 'internal'], default=utils.env('OS_INTERFACE'), help=_('Select an interface type.' ' Valid interface types: [admin, public, internal].' ' (Env: OS_INTERFACE)'), ) parser.add_argument( '--timing', default=False, action='store_true', help=_("Print API call timing info"), ) parser.add_argument( '--os-beta-command', action='store_true', help=_("Enable beta commands which are subject to change"), ) # osprofiler HMAC key argument if osprofiler_profiler: parser.add_argument( '--os-profile', metavar='hmac-key', dest='profile', help=_('HMAC key for encrypting profiling context data'), ) # NOTE(dtroyer): This global option should have been named # --os-profile as --profile interferes with at # least one existing command option. Deprecate # --profile and remove after Apr 2017. parser.add_argument( '--profile', metavar='hmac-key', dest='old_profile', help=argparse.SUPPRESS, ) return clientmanager.build_plugin_option_parser(parser)
def build_option_parser(self, description, version): parser = super(OpenStackShell, self).build_option_parser(description, version) # service token auth argument parser.add_argument( '--os-cloud', metavar='<cloud-config-name>', dest='cloud', default=utils.env('OS_CLOUD'), help='Cloud name in clouds.yaml (Env: OS_CLOUD)', ) # Global arguments parser.add_argument( '--os-region-name', metavar='<auth-region-name>', dest='region_name', default=utils.env('OS_REGION_NAME'), help='Authentication region name (Env: OS_REGION_NAME)') parser.add_argument('--os-cacert', metavar='<ca-bundle-file>', dest='cacert', default=utils.env('OS_CACERT'), help='CA certificate bundle file (Env: OS_CACERT)') verify_group = parser.add_mutually_exclusive_group() verify_group.add_argument( '--verify', action='store_true', default=None, help='Verify server certificate (default)', ) verify_group.add_argument( '--insecure', action='store_true', default=None, help='Disable server certificate verification', ) parser.add_argument('--os-default-domain', metavar='<auth-domain>', dest='default_domain', default=utils.env('OS_DEFAULT_DOMAIN', default=DEFAULT_DOMAIN), help='Default domain ID, default=' + DEFAULT_DOMAIN + ' (Env: OS_DEFAULT_DOMAIN)') parser.add_argument( '--os-interface', metavar='<interface>', dest='interface', choices=['admin', 'public', 'internal'], default=utils.env('OS_INTERFACE'), help='Select an interface type.' ' Valid interface types: [admin, public, internal].' ' (Env: OS_INTERFACE)') parser.add_argument( '--timing', default=False, action='store_true', help="Print API call timing info", ) # osprofiler HMAC key argument if osprofiler_profiler: parser.add_argument('--profile', metavar='hmac-key', help='HMAC key to use for encrypting context ' 'data for performance profiling of operation. ' 'This key should be the value of one of the ' 'HMAC keys configured in osprofiler ' 'middleware in the projects user would like ' 'to profile. It needs to be specified in ' 'configuration files of the required ' 'projects.') return clientmanager.build_plugin_option_parser(parser)
def build_option_parser(self, description, version): parser = super(OpenStackShell, self).build_option_parser(description, version) # service token auth argument parser.add_argument( "--os-cloud", metavar="<cloud-config-name>", dest="cloud", default=utils.env("OS_CLOUD"), help="Cloud name in clouds.yaml (Env: OS_CLOUD)", ) # Global arguments parser.add_argument( "--os-region-name", metavar="<auth-region-name>", dest="region_name", default=utils.env("OS_REGION_NAME"), help="Authentication region name (Env: OS_REGION_NAME)", ) parser.add_argument( "--os-cacert", metavar="<ca-bundle-file>", dest="cacert", default=utils.env("OS_CACERT"), help="CA certificate bundle file (Env: OS_CACERT)", ) parser.add_argument( "--os-cert", metavar="<certificate-file>", dest="cert", default=utils.env("OS_CERT"), help="Client certificate bundle file (Env: OS_CERT)", ) parser.add_argument( "--os-key", metavar="<key-file>", dest="key", default=utils.env("OS_KEY"), help="Client certificate key file (Env: OS_KEY)", ) verify_group = parser.add_mutually_exclusive_group() verify_group.add_argument( "--verify", action="store_true", default=None, help="Verify server certificate (default)" ) verify_group.add_argument( "--insecure", action="store_true", default=None, help="Disable server certificate verification" ) parser.add_argument( "--os-default-domain", metavar="<auth-domain>", dest="default_domain", default=utils.env("OS_DEFAULT_DOMAIN", default=DEFAULT_DOMAIN), help="Default domain ID, default=" + DEFAULT_DOMAIN + " (Env: OS_DEFAULT_DOMAIN)", ) parser.add_argument( "--os-interface", metavar="<interface>", dest="interface", choices=["admin", "public", "internal"], default=utils.env("OS_INTERFACE"), help="Select an interface type." " Valid interface types: [admin, public, internal]." " (Env: OS_INTERFACE)", ) parser.add_argument("--timing", default=False, action="store_true", help="Print API call timing info") # osprofiler HMAC key argument if osprofiler_profiler: parser.add_argument( "--profile", metavar="hmac-key", help="HMAC key to use for encrypting context " "data for performance profiling of operation. " "This key should be the value of one of the " "HMAC keys configured in osprofiler " "middleware in the projects user would like " "to profile. It needs to be specified in " "configuration files of the required " "projects.", ) return clientmanager.build_plugin_option_parser(parser)
def build_option_parser(self, description, version): parser = super(OpenStackShell, self).build_option_parser(description, version) # service token auth argument parser.add_argument( '--os-cloud', metavar='<cloud-config-name>', dest='cloud', default=utils.env('OS_CLOUD'), help='Cloud name in clouds.yaml (Env: OS_CLOUD)', ) # Global arguments parser.add_argument( '--os-region-name', metavar='<auth-region-name>', dest='region_name', default=utils.env('OS_REGION_NAME'), help='Authentication region name (Env: OS_REGION_NAME)') parser.add_argument('--os-cacert', metavar='<ca-bundle-file>', dest='cacert', default=utils.env('OS_CACERT'), help='CA certificate bundle file (Env: OS_CACERT)') parser.add_argument( '--os-cert', metavar='<certificate-file>', dest='cert', default=utils.env('OS_CERT'), help='Client certificate bundle file (Env: OS_CERT)') parser.add_argument('--os-key', metavar='<key-file>', dest='key', default=utils.env('OS_KEY'), help='Client certificate key file (Env: OS_KEY)') verify_group = parser.add_mutually_exclusive_group() verify_group.add_argument( '--verify', action='store_true', default=None, help='Verify server certificate (default)', ) verify_group.add_argument( '--insecure', action='store_true', default=None, help='Disable server certificate verification', ) parser.add_argument('--os-default-domain', metavar='<auth-domain>', dest='default_domain', default=utils.env('OS_DEFAULT_DOMAIN', default=DEFAULT_DOMAIN), help='Default domain ID, default=' + DEFAULT_DOMAIN + ' (Env: OS_DEFAULT_DOMAIN)') parser.add_argument( '--os-interface', metavar='<interface>', dest='interface', choices=['admin', 'public', 'internal'], default=utils.env('OS_INTERFACE'), help='Select an interface type.' ' Valid interface types: [admin, public, internal].' ' (Env: OS_INTERFACE)') parser.add_argument( '--timing', default=False, action='store_true', help="Print API call timing info", ) # osprofiler HMAC key argument if osprofiler_profiler: parser.add_argument( '--os-profile', metavar='hmac-key', dest='profile', help='HMAC key for encrypting profiling context data', ) # NOTE(dtroyer): This global option should have been named # --os-profile as --profile interferes with at # least one existing command option. Deprecate # --profile and remove after Apr 2017. parser.add_argument( '--profile', metavar='hmac-key', dest='old_profile', help=argparse.SUPPRESS, ) return clientmanager.build_plugin_option_parser(parser)