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_name和config['region_name'],则 kwargs 优先。可以通过configdict 中的 ${service}_region_name 键为给定的 ${service} 覆盖。config –
CloudRegion 及其服务的配置值的字典。特定 ${service} 的 ${config_option} 的键应为 ${service}_${config_option}。例如,要配置 block_storage 服务的 endpoint_override,
configdict 应包含'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 部分和默认值的合并设置。