heat.engine.environment 模块

class heat.engine.environment.ClassResourceInfo(registry, path, value)[source]

基类: ResourceInfo

存储资源名称到 Python 类实现的映射。

description = 'Plugin'
get_class(files=None)[source]
class heat.engine.environment.Environment(env=None, user_env=True)[source]

基类: object

env_as_dict()[source]

将整个环境作为字典获取。

get_class(resource_type, resource_name=None, files=None)[source]
get_class_to_instantiate(resource_type, resource_name=None)[source]
get_constraint(name)[source]
get_event_sinks()[source]
get_resource_info(resource_type, resource_name=None, registry_type=None, ignore=None)[source]
get_stack_lifecycle_plugins()[source]
get_types(cnxt=None, support_status=None, type_name=None, version=None, with_description=False)[source]
load(env_snippet)[source]
register_class(resource_type, resource_class, path=None)[source]
register_constraint(constraint_name, constraint)[source]
register_event_sink(event_sink_name, event_sink_class)[source]
register_stack_lifecycle_plugin(stack_lifecycle_name, stack_lifecycle_class)[source]
user_env_as_dict()[source]

获取环境作为字典,仅允许用户键。

class heat.engine.environment.GlobResourceInfo(registry, path, value)[source]

基类: MapResourceInfo

存储一种资源类型到另一种资源类型的映射(带有通配符)。

例如:OS::Networking::* -> OS::Neutron::*

也支持多对一映射(主要与特殊的“OS::Heat::None”资源一起使用)

例如:OS::* -> OS::Heat::None

description = 'Wildcard 映射'
get_resource_info(resource_type=None, resource_name=None)[source]
matches(resource_type)[source]
class heat.engine.environment.MapResourceInfo(registry, path, value)[source]

基类: ResourceInfo

存储一种资源类型到另一种资源类型的映射。

例如:OS::Networking::FloatingIp -> OS::Neutron::FloatingIp

description = 'Mapping'
get_class(files=None)[source]
get_resource_info(resource_type=None, resource_name=None)[source]
class heat.engine.environment.ResourceInfo(registry, path, value)[source]

基类: object

资源类型到实现的基类映射。

get_class()[source]
get_class_to_instantiate()[source]
get_resource_info(resource_type=None, resource_name=None)[source]
matches(resource_type)[source]
name
path
property registry
user_resource
value
class heat.engine.environment.ResourceRegistry(global_registry, param_defaults)[source]

基类: object

通过查看环境,找到资源实现。

as_dict()[source]

以字典格式返回用户资源。

get_class(resource_type, resource_name=None, files=None)[source]
get_class_to_instantiate(resource_type, resource_name=None)[source]
get_resource_info(resource_type, resource_name=None, registry_type=None, ignore=None)[source]

查找与资源类型和名称的可能匹配项。

串联来自全局和用户注册表的结果以找到匹配项。

get_rsrc_restricted_actions(resource_name)[source]

返回一组受限制的操作。

对于给定的资源,我们获得受限制操作的集合。

操作通过 resources 格式设置。

{
    "restricted_actions": [update, replace]
}

restricted_actions 值可以是 updatereplace 或这些值的列表。资源支持通配符匹配。星号 (*) 匹配所有内容。

get_types(cnxt=None, support_status=None, type_name=None, version=None, with_description=False)[source]

返回有效的资源类型列表。

iterable_by(resource_type, resource_name=None)[source]
load(json_snippet)[source]
log_resource_info(show_all=False, prefix=None)[source]
matches_hook(resource_name, hook)[source]

返回资源是否在环境中设置了钩子。

对于给定的资源和钩子类型,我们检查传递的资源组是否与名称关联的正确钩子。

钩子通过 resources 格式设置。

{
    "res_name": {
        "hooks": [pre-create, pre-update]
    },
    "*_suffix": {
        "hooks": pre-create
    },
    "prefix_*": {
        "hooks": pre-update
    }
}

钩子值可以是 pre-createpre-update 或这些值的列表。资源支持通配符匹配。星号 (*) 匹配所有内容。

register_class(resource_type, resource_class, path=None)[source]
remove_item(info)[source]
remove_resources_except(resource_name)[source]
class heat.engine.environment.TemplateResourceInfo(registry, path, value)[source]

基类: ResourceInfo

存储启动 TemplateResource 所需的信息。

description = 'Template'
get_class(files=None)[source]
get_class_to_instantiate()[source]
template_name
heat.engine.environment.get_child_environment(parent_env, child_params, item_to_remove=None, child_resource_name=None)[source]

使用父环境和参数构建子环境。

这由 child_params 和父环境构建,因此某些资源可以使用用户提供的参数,就好像它们来自环境一样。

  1. 必须合并 resource_registry(子环境应在父环境之后加载以优先)。

  2. 子参数必须覆盖父参数,因为它们在子模板中无关紧要。

如果提供了 child_resource_name,则注册表中的资源将被替换为匹配的子资源的内容以及任何通过通配符匹配的内容。

heat.engine.environment.is_hook_definition(key, value)[source]
heat.engine.environment.is_valid_restricted_action(key, value)[source]
heat.engine.environment.read_global_environment(env, env_dir=None)[source]
heat.engine.environment.valid_hook_type(hook)[source]
heat.engine.environment.valid_restricted_actions(action)[source]