heat.engine.translation module

class heat.engine.translation.Translation(properties=None)[source]

基类: object

属性转换机制。

该机制允许处理属性 - 更新已弃用/隐藏的属性为新的属性,解析值,删除不必要的属性。它使用 TranslationRule 对象列表作为转换规则。

add(key, add_rule, prop_value=None, prop_data=None, validate=False)[source]
cast_key_to_rule(key)[source]
has_translation(key)[source]
is_deleted(key)[source]
is_replaced(key)[source]
replace(key, replace_rule, prop_value=None, prop_data=None, validate=False)[source]
set_rules(rules, client_resolve=True, ignore_resolve_error=False)[source]
translate(key, prop_value=None, prop_data=None, validate=False)[source]
class heat.engine.translation.TranslationRule(properties, rule, translation_path, value=None, value_name=None, value_path=None, client_plugin=None, finder=None, entity=None, custom_value_path=None)[source]

基类: object

属性转换机制。

该机制使用规则列表,每个规则由此类定义,并且可以执行。工作原理:在资源创建期间,在定义属性之后,资源会获取由方法 translation_rules 指定的规则列表,该方法应为每个资源重载(如果需要),并使用 translate_properties 方法执行每个规则。允许以下操作:

  • ADD。此规则允许将一些值添加到列表类型的属性中。仅

    可以向此类属性添加列表类型的值。在其他情况下使用是被禁止的,并会返回错误。

  • REPLACE。此规则允许将某个属性值替换为另一个值。用于

    所有类型的属性。请注意,如果属性具有列表类型,则值将替换为列表中所有元素,在需要时。如果属性中的元素必须由该属性的另一个元素的值替换,则必须定义 value_name。

  • DELETE。此规则允许删除某个属性。如果属性具有列表

    类型,则删除会影响列表中的所有值。

  • RESOLVE。此规则允许使用客户端和

    查找器函数解析某个属性。查找器可能需要额外的实体键。

ADD = 'Add'
DELETE = 'Delete'
REPLACE = 'Replace'
RESOLVE = 'Resolve'
RULE_KEYS = ('Add', 'Replace', 'Delete', 'Resolve')
get_value_absolute_path(full_value_name=False)[source]
validate()[source]
heat.engine.translation.get_value(path, props, validate=False)[source]
heat.engine.translation.resolve_and_find(value, cplugin, finder, entity=None, ignore_resolve_error=False)[source]