API 参考

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)
config_filename

config_filename 是加载配置的文件名(如果存在)。

secure_config_filename

secure_config_filename 是加载安全配置的文件名(如果存在)。

cloud_config

cloud_config 包含加载的组合配置。

get_extra_config(key, defaults=None)

获取任意额外的配置块,并应用默认值。

参数:
  • key (string) – 要获取的配置节的名称

  • defaults (dict) – (可选) 要合并到找到的配置下的默认值

register_argparse_arguments(parser, argv, service_keys=None)

注册所有常用的 argparse 选项。

给定一个 argparse 解析器,注册 keystoneauth Session 参数、keystoneauth Auth Plugin 选项和 os-cloud。此外,查看 argv 以查看是否应注册所有 auth 插件选项,还是仅注册已配置的选项。

参数:
  • argparse.ArgumentParser – 要附加 argparse 选项的解析器

  • argv – 应用程序提供的参数

  • service_keys (string) – 如果已知,此 argparse 应专门针对的服务或服务列表。列表中的第一个项目将用作 service_type 的默认值(可选)

:raises exceptions.ConfigException 如果请求了无效的 auth-type

auth_config_hook(config)

允许在加载 auth 插件之前检查配置值

OpenStackClient 将覆盖此功能以对 auth_type 执行其他检查。

option_prompt(config, p_opt)

提示用户输入需要值的选项

magic_fixes(config)

执行一组神奇的参数修复

get_one(cloud=None, validate=True, argparse=None, **kwargs)

检索单个 CloudRegion 并合并其他选项

参数:
  • cloud (string) – 从 clouds.yaml 加载配置的名称

  • validate (boolean) – 验证配置。将此设置为 False 不会创建任何 auth 插件。它仅对测试有用。

  • argparse (Namespace) – 一个 argparse Namespace 对象;允许直接将 argparse 选项传递到云配置。None 和 '' 的值将被删除。

  • region_name – 云的区域名称。

  • kwargs – 额外的配置选项

返回值:

openstack.config.cloud_region.CloudRegion

引发:

keystoneauth1.exceptions.MissingRequiredOptions 缺少所需的 auth 参数

get_one_cloud_osc(cloud=None, validate=True, argparse=None, **kwargs)

检索单个 CloudRegion 并合并其他选项

参数:
  • cloud (string) – 从 clouds.yaml 加载配置的名称

  • validate (boolean) – 验证配置。将此设置为 False 不会创建任何 auth 插件。它仅对测试有用。

  • argparse (Namespace) – 一个 argparse Namespace 对象;允许直接将 argparse 选项传递到云配置。None 和 '' 的值将被删除。

  • region_name – 云的区域名称。

  • kwargs – 额外的配置选项

引发:

keystoneauth1.exceptions.MissingRequiredOptions 缺少所需的 auth 参数

static set_one_cloud(config_file, cloud, set_config=None)

设置单个云配置。

参数:
  • config_file (string) – 要编辑的配置文件路径。如果此文件不存在,则将创建它。

  • cloud (string) – 要保存到 clouds.yaml 的配置名称

  • set_config (dict) – 要设置的配置选项

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)

OpenStack 云区域的配置。

CloudRegion 封装了连接云区域中所有服务所需的配置信息。

参数:
  • name

  • region_name – 所有服务的默认区域名称。如果同时指定了 region_nameconfig['region_name'],则 kwargs 优先。可以通过 config dict 中的 ${service}_region_name 键为给定的 ${service} 覆盖。

  • config

    CloudRegion 及其服务的配置值的字典。特定 ${service} 的 ${config_option} 的键应为 ${service}_${config_option}。例如,要配置 block_storage 服务的 endpoint_override,config dict 应包含

    'block_storage_endpoint_override': 'http://...'
    

    要提供默认值,如果未提供特定于服务的覆盖,只需使用未加前缀的 ${config_option} 作为服务键,例如:

    'interface': 'public'
    

  • force_ipv4

  • auth_plugin

  • openstack_config

  • session_constructor

  • app_name

  • app_version

  • session

  • discovery_cache

  • extra_config

  • cache_expiration_time

  • cache_expirations

  • cache_path

  • cache_class

  • cache_arguments

  • password_callback

  • statsd_host

  • statsd_port

  • statsd_prefix

  • influxdb_config

  • collector_registry

  • cache_auth

property full_name

返回可用于标识符的字符串。

始终返回有效的字符串。它将具有 name 和 region_name,或者如果仅设置了其中一个,则仅具有其中一个,或者为“unknown”。

set_session_constructor(session_constructor)

设置 Session 构造函数。

get_requests_verify_args()

返回 requests 库的 verify 和 cert 值。

get_services()

返回我们了解的服务类型的列表。

get_endpoint_from_catalog(service_type, interface=None, region_name=None)

返回在目录中找到的给定服务的端点。

对于尊重端点覆盖的值,请参阅 endpoint_for()

参数:
  • service_type – 要搜索的端点的服务类型。

  • interface – 要搜索的端点的接口。可选,默认为此连接的接口的配置值。

  • region_name – 要搜索的端点的区域名称。可选,默认为此连接的 region_name 的配置值。

返回值:

服务的端点,如果未找到则为 None。

get_auth()

从身份验证凭据返回一个 keystoneauth 插件。

insert_user_agent()

将 sdk 信息设置到 Session 的用户代理中。

警告

此方法用于 os-client-config。它存在于此作为一个挂钩点,以便 os-client-config 可以提供向后兼容性,并且仍然在直接使用 os-client-config 的用户代理中。

SDK 的普通使用者应该使用 app_name 和 app_version。但是,如果有人编写 CloudRegion 的子类,这可能是期望的。

get_session()

基于身份验证凭据返回一个 keystoneauth 会话。

get_service_catalog()

辅助方法,用于获取服务目录。

get_all_version_data(service_type)

检索给定服务的版本数据。

参数:

service_type – 获取版本数据的服务。

返回值:

一个 ~keystoneauth1.discover.VersionData 对象,包含请求服务的版本数据。

get_session_client(service_type, version=None, constructor=<class 'openstack.proxy.Proxy'>, **kwargs)

为给定的服务返回一个准备好的 keystoneauth Adapter。

这对于对“挂载”端点进行直接请求调用很有用。也就是说,如果您执行

client = get_session_client(‘compute’)

那么您可以执行

client.get(‘/flavors’)

它将像您认为的那样工作。

get_session_endpoint(service_type, min_version=None, max_version=None)

从配置或目录返回端点。

如果配置列出了服务的显式端点,则返回该端点。否则,从 keystone 会话获取服务目录,并返回适当的端点。

参数:

service_type – 服务的官方服务类型

get_cache_resource_expiration(resource, default=None)

获取资源的过期时间

参数:
  • resource – 资源类型的名称

  • default – 如果未找到则返回的默认值(可选,默认为 None)

返回值:

资源的过期时间,为浮点数或默认值

requires_floating_ip()

返回此云是否需要浮动 IP。

返回值:

如果已知,则为 True 或 False,如果需要发现,则为 None。如果未配置 requires_floating_ip,但已知云不提供浮动 IP,则将返回 False。

get_external_networks()

获取外部网络的网络名称列表。

get_external_ipv4_networks()

获取外部 IPv4 网络的网络名称列表。

get_external_ipv6_networks()

获取外部 IPv6 网络的网络名称列表。

get_internal_networks()

获取内部网络的网络名称列表。

get_internal_ipv4_networks()

获取内部 IPv4 网络的网络名称列表。

get_internal_ipv6_networks()

获取内部 IPv6 网络的网络名称列表。

get_default_network()

获取用于默认交互的网络。

get_nat_destination()

获取用于 NAT 目标的网络。

get_nat_source()

获取用于 NAT 源的网络。

get_client_config(name=None, defaults=None)

获取命名客户端的配置设置。

设置也会在名为“client”的部分中查找。如果在两个部分中都找到设置,则来自命名部分的设置将优先于来自 client 部分的设置,并且两者都优先于提供的默认值。

参数:
  • name (string) – 要查找的配置部分的名称。

  • defaults (dict) – 要使用的默认设置。

返回值:

一个字典,包含来自命名部分、client 部分和默认值的合并设置。