heat.engine.hot.functions 模块¶
- class heat.engine.hot.functions.And(stack, fn_name, args)[source]¶
基类:
ConditionBoolean一个充当条件与运算符的函数。
形式如下
and: - <condition_1> - <condition_2> - ...
如果所有指定的条件都评估为真,则返回真,否则如果任何一个条件评估为假,则返回假。您包含的最小条件数是 2。
- class heat.engine.hot.functions.ConditionBoolean(stack, fn_name, args)[source]¶
基类:
Function布尔条件函数的抽象父类。
- class heat.engine.hot.functions.Contains(stack, fn_name, args)[source]¶
基类:
Function一个用于检查特定值是否在序列中的函数。
形式如下
contains: - <value> - <sequence>
该值可以是您想要检查的任何类型。如果特定值在序列中,则返回真,否则返回假。
- class heat.engine.hot.functions.Digest(stack, fn_name, args)[source]¶
基类:
Function一个用于执行摘要操作的函数。
形式如下
digest: - <algorithm> - <value>
有效的算法是本机由 hashlib (md5, sha1, sha224, sha256, sha384 和 sha512) 或 OpenSSL 提供的任何算法。
- class heat.engine.hot.functions.Equals(stack, fn_name, args)[source]¶
基类:
Function一个用于比较两个值是否相等的函数。
形式如下
equals: - <value_1> - <value_2>
该值可以是您想要比较的任何类型。如果两个值相等,则返回真,否则返回假。
- class heat.engine.hot.functions.Filter(stack, fn_name, args)[source]¶
基类:
Function一个用于从列表中过滤掉值的函数。
形式如下
filter: - <values> - <list>
返回不包含这些值的新的列表。
- class heat.engine.hot.functions.GetAtt(stack, fn_name, args)[source]¶
基类:
GetAttThenSelect一个用于解析资源属性的函数。
形式如下
get_attr: - <resource_name> - <attribute_name> - <path1> - ...
- class heat.engine.hot.functions.GetAttAllAttributes(stack, fn_name, args)[source]¶
基类:
GetAtt一个用于解析资源属性的函数。
形式如下
get_attr: - <resource_name> - <attributes_name> - <path1> - ...
其中 <attributes_name> 和 <path1>,… 是可选参数。如果没有 <attributes_name>,结果将是资源所有属性的字典。否则,函数返回解析的资源属性。
- class heat.engine.hot.functions.GetAttThenSelect(stack, fn_name, args)[source]¶
基类:
Function一个用于解析资源属性的函数。
形式如下
get_attr: - <resource_name> - <attribute_name> - <path1> - ...
- all_dep_attrs()[source]¶
返回引用所有属性的资源、属性名称对。
返回一个迭代器,该迭代器遍历引用此函数的所有属性的资源名称、属性名称元组。
可以使用特殊值 heat.engine.attributes.ALL_ATTRIBUTES 来指示需要资源的全部属性。
默认情况下,这将调用 dep_attrs() 方法,但子类可以覆盖以提供更高效的实现。
- class heat.engine.hot.functions.GetFile(stack, fn_name, args)[source]¶
基类:
Function一个用于内联包含文件的函数。
形式如下
get_file: <file_key>
并解析存储在 files 字典中给定键下的内容。
- class heat.engine.hot.functions.GetParam(stack, fn_name, args)[source]¶
基类:
Function一个用于解析参数引用的函数。
形式如下
get_param: <param_name>
或者
get_param: - <param_name> - <path1> - ...
- class heat.engine.hot.functions.GetResource(stack, fn_name, args)[source]¶
基类:
Function用于解析资源引用的函数。
形式如下
get_resource: <resource_name>
- class heat.engine.hot.functions.If(stack, fn_name, raw_args, parse_func, template)[source]¶
基类:
Macro根据条件评估返回相应值的函数。
形式如下
if: - <condition_name> - <value_if_true> - <value_if_false>
如果指定的条件评估为 true,则返回 value_if_true;如果指定的条件评估为 false,则返回 value_if_false。
- class heat.engine.hot.functions.IfNullable(stack, fn_name, raw_args, parse_func, template)[source]¶
基类:
If根据条件评估返回相应值的函数。
形式如下
if: - <condition_name> - <value_if_true> - <value_if_false>
如果指定的条件评估为 true,则返回 value_if_true;如果指定的条件评估为 false,则返回 value_if_false。
如果省略 value_if_false 并且条件为 false,则模板中的封闭项目(列表项、字典键/值对、属性定义)将被视为未在模板中提及。
if: - <condition_name> - <value_if_true>
- class heat.engine.hot.functions.Join(stack, fn_name, args)[source]¶
基类:
Function用于连接字符串的函数。
形式如下
list_join: - <delim> - - <string_1> - <string_2> - ...
并解析为
"<string_1><delim><string_2><delim>..."
- class heat.engine.hot.functions.JoinMultiple(stack, fn_name, args)[source]¶
基类:
Function用于连接一个或多个字符串列表的函数。
形式如下
list_join: - <delim> - - <string_1> - <string_2> - ... - - ...
并解析为
"<string_1><delim><string_2><delim>..."可以选择指定多个列表,这些列表也将被连接。
- class heat.engine.hot.functions.ListConcat(stack, fn_name, args)[source]¶
基类:
Function用于扩展列表的函数。
形式如下
list_concat: - [<value 1>, <value 2>] - [<value 3>, <value 4>]
并解析为
[<value 1>, <value 2>, <value 3>, <value 4>]
- class heat.engine.hot.functions.ListConcatUnique(stack, fn_name, args)[source]¶
基类:
ListConcat用于扩展具有唯一项目的列表的函数。
list_concat_unique 与 list_concat 函数相同,只是在返回列表中包含唯一项目。
- class heat.engine.hot.functions.MakeURL(stack, fn_name, args)[source]¶
基类:
Function用于对映射执行替换的函数。
形式如下
make_url: scheme: <protocol> username: <username> password: <password> host: <hostname or IP> port: <port> path: <path> query: <key1>: <value1> fragment: <fragment>
并解析为正确转义的 URL,该 URL 由各个组件构成。
- FRAGMENT = 'fragment'¶
- HOST = 'host'¶
- PASSWORD = 'password'¶
- PATH = 'path'¶
- PORT = 'port'¶
- QUERY = 'query'¶
- SCHEME = 'scheme'¶
- USERNAME = 'username'¶
- class heat.engine.hot.functions.MapMerge(stack, fn_name, args)[source]¶
基类:
Function用于合并映射的函数。
形式如下
map_merge: - <k1>: <v1> <k2>: <v2> - <k1>: <v3>
并解析为
{"<k1>": "<v3>", "<k2>": "<v2>"}
- class heat.engine.hot.functions.MapReplace(stack, fn_name, args)[source]¶
基类:
Function用于对映射执行替换的函数。
形式如下
map_replace: - <k1>: <v1> <k2>: <v2> - keys: <k1>: <K1> values: <v2>: <V2>
并解析为
{"<K1>": "<v1>", "<k2>": "<V2>"}
- class heat.engine.hot.functions.Not(stack, fn_name, args)[source]¶
基类:
ConditionBoolean充当条件 NOT 运算符的函数。
形式如下
not: <condition>
如果条件评估为 false,则返回 true,或者如果条件评估为 true,则返回 false。
- class heat.engine.hot.functions.Or(stack, fn_name, args)[source]¶
基类:
ConditionBoolean充当条件 OR 运算符的函数。
形式如下
or: - <condition_1> - <condition_2> - ...
如果指定的条件中的任何一个评估为 true,则返回 true;如果所有条件都评估为 false,则返回 false。您包含的最小条件数是 2。
- class heat.engine.hot.functions.Removed(stack, fn_name, args)[source]¶
基类:
Function此函数存在于 HOT 的早期版本中,但已被删除。
请查看 HOT 指南以获取等效的本机函数。
- class heat.engine.hot.functions.Repeat(stack, fn_name, args)[source]¶
基类:
Function用于迭代列表中的项目的函数。
形式如下
repeat: template: <body> for_each: <var>: <list>
结果是与 <list> 大小相同的新的列表,其中每个元素是 <body> 的副本,其中任何 <var> 都会被 <list> 的相应项目替换。
- class heat.engine.hot.functions.RepeatWithMap(stack, fn_name, args)[source]¶
基类:
Repeat用于迭代列表中的项目或键的字典的函数。
形式如下
repeat: template: <body> for_each: <var>: <list> or <dict>
结果是与 <list> 或 <dict> 大小相同的新的列表,其中每个元素是 <body> 的副本,其中任何 <var> 都会被 <list> 的相应项目或 <dict> 的键替换。
- class heat.engine.hot.functions.RepeatWithNestedLoop(stack, fn_name, args)[source]¶
基类:
RepeatWithMap用于迭代列表中的项目或键的字典的函数。
形式如下
repeat: template: <body> for_each: <var>: <list> or <dict>
结果是与 <list> 或 <dict> 大小相同的新的列表,其中每个元素是 <body> 的副本,其中任何 <var> 都会被 <list> 的相应项目或 <dict> 的键替换。
此函数还允许指定“permutations”来决定是否迭代给定列表中所有排列的嵌套循环。
形式如下
repeat: template: var: %var% bar: %bar% for_each: %var%: <list1> %bar%: <list2> permutations: false
如果未指定“permutations”,我们将其默认值设置为 true,以与之前的行为兼容。如果“permutations”为 False,则参数必须是列表而不是字典,因为字典中的键是无序的,并且所有列表参数的长度必须相同。
- class heat.engine.hot.functions.Replace(stack, fn_name, args)[source]¶
基类:
Function用于执行字符串替换的函数。
形式如下
str_replace: template: <key_1> <key_2> params: <key_1>: <value_1> <key_2>: <value_2> ...
并解析为
"<value_1> <value_2>"当模板中的键重叠时,较长的匹配优先。对于长度相同的键,按字典顺序较小的键优先。
- class heat.engine.hot.functions.ReplaceJson(stack, fn_name, args)[source]¶
基类:
Replace用于执行字符串替换的函数。
形式如下
str_replace: template: <key_1> <key_2> params: <key_1>: <value_1> <key_2>: <value_2> ...
并解析为
"<value_1> <value_2>"当模板中的键重叠时,较长的匹配优先。对于长度相同的键,按字典顺序较小的键优先。
非字符串参数值(例如映射或列表)在被替换之前会被序列化为 JSON。
- class heat.engine.hot.functions.ReplaceJsonStrict(stack, fn_name, args)[source]¶
基类:
ReplaceJson用于执行字符串替换的函数。
str_replace_strict 与 str_replace 函数相同,只是如果模板中缺少任何参数,则会引发 ValueError。
- class heat.engine.hot.functions.ReplaceJsonVeryStrict(stack, fn_name, args)[source]¶
-
用于执行字符串替换的函数。
str_replace_vstrict 与 str_replace_strict 函数相同,只是如果任何参数为 None 或为空,则会引发 ValueError。
- class heat.engine.hot.functions.ResourceFacade(stack, fn_name, args)[source]¶
基类:
Function用于从父提供程序模板中检索数据的函数。
用于从相应提供程序模板中的 facade 资源中获取数据的函数。
形式如下
resource_facade: <attribute_type>
其中有效的属性类型为“metadata”、“deletion_policy”和“update_policy”。
- DELETION_POLICY = 'deletion_policy'¶
- METADATA = 'metadata'¶
- UPDATE_POLICY = 'update_policy'¶
- class heat.engine.hot.functions.StrSplit(stack, fn_name, args)[source]¶
基类:
Function用于将分隔符字符串拆分为列表的函数。
可选地通过索引提取特定的列表成员。
形式如下
str_split: - <delimiter> - <string> - <index>
如果指定了 <index>,将返回指定的列表项,否则将返回整个列表,类似于使用基于路径的属性访问列表的 get_attr。