API Reference¶
- class openstack.config.OpenStackConfig(config_files=None, vendor_files=None, override_defaults=None, force_ipv4=None, envvar_prefix=None, secure_files=None, pw_func=None, session_constructor=None, app_name=None, app_version=None, load_yaml_config=True, load_envvars=True, statsd_host=None, statsd_port=None, statsd_prefix=None, influxdb_config=None)¶
- get_extra_config(key, defaults=None)¶
Fetch an arbitrary extra chunk of config, laying in defaults.
- Parameters:
key (string) – name of the config section to fetch
defaults (dict) – (optional) default values to merge under the found config
- register_argparse_arguments(parser, argv, service_keys=None)¶
Register all of the common argparse options needed.
Given an argparse parser, register the keystoneauth Session arguments, the keystoneauth Auth Plugin Options and os-cloud. Also, peek in the argv to see if all of the auth plugin options should be registered or merely the ones already configured.
- Parameters:
argparse.ArgumentParser – parser to attach argparse options to
argv – the arguments provided to the application
service_keys (string) – Service or list of services this argparse should be specialized for, if known. The first item in the list will be used as the default value for service_type (optional)
:raises exceptions.ConfigException if an invalid auth-type is requested
- auth_config_hook(config)¶
Allow examination of config values before loading auth plugin
OpenStackClient will override this to perform additional checks on auth_type.
- option_prompt(config, p_opt)¶
Prompt user for option that requires a value
- magic_fixes(config)¶
Perform the set of magic argument fixups
- get_one(cloud=None, validate=True, argparse=None, **kwargs)¶
Retrieve a single CloudRegion and merge additional options
- Parameters:
cloud (string) – The name of the configuration to load from clouds.yaml
validate (boolean) – Validate the config. Setting this to False causes no auth plugin to be created. It’s really only useful for testing.
argparse (Namespace) – An argparse Namespace object; allows direct passing in of argparse options to be added to the cloud config. Values of None and ‘’ will be removed.
region_name – Name of the region of the cloud.
kwargs – Additional configuration options
- Returns:
openstack.config.cloud_region.CloudRegion
- Raises:
keystoneauth1.exceptions.MissingRequiredOptions on missing required auth parameters
- get_one_cloud(cloud=None, validate=True, argparse=None, **kwargs)¶
Retrieve a single CloudRegion and merge additional options
- Parameters:
cloud (string) – The name of the configuration to load from clouds.yaml
validate (boolean) – Validate the config. Setting this to False causes no auth plugin to be created. It’s really only useful for testing.
argparse (Namespace) – An argparse Namespace object; allows direct passing in of argparse options to be added to the cloud config. Values of None and ‘’ will be removed.
region_name – Name of the region of the cloud.
kwargs – Additional configuration options
- Returns:
openstack.config.cloud_region.CloudRegion
- Raises:
keystoneauth1.exceptions.MissingRequiredOptions on missing required auth parameters
- get_one_cloud_osc(cloud=None, validate=True, argparse=None, **kwargs)¶
Retrieve a single CloudRegion and merge additional options
- Parameters:
cloud (string) – The name of the configuration to load from clouds.yaml
validate (boolean) – Validate the config. Setting this to False causes no auth plugin to be created. It’s really only useful for testing.
argparse (Namespace) – An argparse Namespace object; allows direct passing in of argparse options to be added to the cloud config. Values of None and ‘’ will be removed.
region_name – Name of the region of the cloud.
kwargs – Additional configuration options
- Raises:
keystoneauth1.exceptions.MissingRequiredOptions on missing required auth parameters
- static set_one_cloud(config_file, cloud, set_config=None)¶
Set a single cloud configuration.
- Parameters:
config_file (string) – The path to the config file to edit. If this file does not exist it will be created.
cloud (string) – The name of the configuration to save to clouds.yaml
set_config (dict) – Configuration options to be set
- class openstack.config.cloud_region.CloudRegion(name=None, region_name=None, config=None, force_ipv4=False, auth_plugin=None, openstack_config=None, session_constructor=None, app_name=None, app_version=None, session=None, discovery_cache=None, extra_config=None, cache_expiration_time=0, cache_expirations=None, cache_path=None, cache_class='dogpile.cache.null', cache_arguments=None, password_callback=None, statsd_host=None, statsd_port=None, statsd_prefix=None, influxdb_config=None, collector_registry=None, cache_auth=False)¶
The configuration for a Region of an OpenStack Cloud.
A CloudRegion encapsulates the config information needed for connections to all of the services in a Region of a Cloud.
- Parameters:
region_name (str) – The default region name for all services in this CloudRegion. If both
region_name
andconfig['region_name'] are specified, the kwarg takes precedence. May be overridden for a given ${service} via a ${service}_region_name key in the ``config
dict.config (dict) –
A dict of configuration values for the CloudRegion and its services. The key for a ${config_option} for a specific ${service} should be ${service}_${config_option}. For example, to configure the endpoint_override for the block_storage service, the
config
dict should contain:'block_storage_endpoint_override': 'http://...'
To provide a default to be used if no service-specific override is present, just use the unprefixed ${config_option} as the service key, e.g.:
'interface': 'public'
- property full_name¶
Return a string that can be used as an identifier.
Always returns a valid string. It will have name and region_name or just one of the two if only one is set, or else ‘unknown’.
- set_session_constructor(session_constructor)¶
Sets the Session constructor.
- get_requests_verify_args()¶
Return the verify and cert values for the requests library.
- get_services()¶
Return a list of service types we know something about.
- get_endpoint_from_catalog(service_type, interface=None, region_name=None)¶
Return the endpoint for a given service as found in the catalog.
For values respecting endpoint overrides, see
endpoint_for()
- Parameters:
service_type – Service Type of the endpoint to search for.
interface – Interface of the endpoint to search for. Optional, defaults to the configured value for interface for this Connection.
region_name – Region Name of the endpoint to search for. Optional, defaults to the configured value for region_name for this Connection.
- Returns:
The endpoint of the service, or None if not found.
- get_auth()¶
Return a keystoneauth plugin from the auth credentials.
- insert_user_agent()¶
Set sdk information into the user agent of the Session.
Warning
This method is here to be used by os-client-config. It exists as a hook point so that os-client-config can provice backwards compatibility and still be in the User Agent for people using os-client-config directly.
Normal consumers of SDK should use app_name and app_version. However, if someone else writes a subclass of
CloudRegion
it may be desirable.
- get_session()¶
Return a keystoneauth session based on the auth credentials.
- get_service_catalog()¶
Helper method to grab the service catalog.
- get_session_client(service_type, version=None, constructor=<class 'openstack.proxy.Proxy'>, **kwargs)¶
Return a prepped keystoneauth Adapter for a given service.
This is useful for making direct requests calls against a ‘mounted’ endpoint. That is, if you do:
client = get_session_client(‘compute’)
then you can do:
client.get(‘/flavors’)
and it will work like you think.
- get_session_endpoint(service_type, min_version=None, max_version=None)¶
Return the endpoint from config or the catalog.
If a configuration lists an explicit endpoint for a service, return that. Otherwise, fetch the service catalog from the keystone session and return the appropriate endpoint.
- Parameters:
service_type – Official service type of service
- get_cache_resource_expiration(resource, default=None)¶
Get expiration time for a resource
- Parameters:
resource – Name of the resource type
default – Default value to return if not found (optional, defaults to None)
- Returns:
Expiration time for the resource type as float or default
- requires_floating_ip()¶
Return whether or not this cloud requires floating ips.
- Returns:
True of False if know, None if discovery is needed. If requires_floating_ip is not configured but the cloud is known to not provide floating ips, will return False.
- get_external_networks()¶
Get list of network names for external networks.
- get_external_ipv4_networks()¶
Get list of network names for external IPv4 networks.
- get_external_ipv6_networks()¶
Get list of network names for external IPv6 networks.
- get_internal_networks()¶
Get list of network names for internal networks.
- get_internal_ipv4_networks()¶
Get list of network names for internal IPv4 networks.
- get_internal_ipv6_networks()¶
Get list of network names for internal IPv6 networks.
- get_default_network()¶
Get network used for default interactions.
- get_nat_destination()¶
Get network used for NAT destination.
- get_nat_source()¶
Get network used for NAT source.
- get_client_config(name=None, defaults=None)¶
Get config settings for a named client.
Settings will also be looked for in a section called ‘client’. If settings are found in both, they will be merged with the settings from the named section winning over the settings from client section, and both winning over provided defaults.
- Parameters:
name (string) – Name of the config section to look for.
defaults (dict) – Default settings to use.
- Returns:
A dict containing merged settings from the named section, the client section and the defaults.