heat.engine.hot.functions 模块

class heat.engine.hot.functions.And(stack, fn_name, args)[source]

基类: ConditionBoolean

一个充当条件与运算符的函数。

形式如下

and:
  - <condition_1>
  - <condition_2>
  - ...

如果所有指定的条件都评估为真,则返回真,否则如果任何一个条件评估为假,则返回假。您包含的最小条件数是 2。

result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

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>

该值可以是您想要检查的任何类型。如果特定值在序列中,则返回真,否则返回假。

result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

class heat.engine.hot.functions.Digest(stack, fn_name, args)[source]

基类: Function

一个用于执行摘要操作的函数。

形式如下

digest:
  - <algorithm>
  - <value>

有效的算法是本机由 hashlib (md5, sha1, sha224, sha256, sha384 和 sha512) 或 OpenSSL 提供的任何算法。

digest(algorithm, value)[source]
result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

validate_usage(args)[source]
class heat.engine.hot.functions.Equals(stack, fn_name, args)[source]

基类: Function

一个用于比较两个值是否相等的函数。

形式如下

equals:
  - <value_1>
  - <value_2>

该值可以是您想要比较的任何类型。如果两个值相等,则返回真,否则返回假。

result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

class heat.engine.hot.functions.Filter(stack, fn_name, args)[source]

基类: Function

一个用于从列表中过滤掉值的函数。

形式如下

filter:
  - <values>
  - <list>

返回不包含这些值的新的列表。

result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

class heat.engine.hot.functions.GetAtt(stack, fn_name, args)[source]

基类: GetAttThenSelect

一个用于解析资源属性的函数。

形式如下

get_attr:
  - <resource_name>
  - <attribute_name>
  - <path1>
  - ...
result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

class heat.engine.hot.functions.GetAttAllAttributes(stack, fn_name, args)[source]

基类: GetAtt

一个用于解析资源属性的函数。

形式如下

get_attr:
  - <resource_name>
  - <attributes_name>
  - <path1>
  - ...

其中 <attributes_name> 和 <path1>,… 是可选参数。如果没有 <attributes_name>,结果将是资源所有属性的字典。否则,函数返回解析的资源属性。

result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

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() 方法,但子类可以覆盖以提供更高效的实现。

dep_attrs(resource_name)[source]

返回此函数引用的指定资源的属性。

返回一个迭代器,该迭代器遍历此函数引用的指定资源的任何属性。

可以使用特殊值 heat.engine.attributes.ALL_ATTRIBUTES 来指示需要资源的全部属性。

dependencies(path)[source]
result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

validate()[source]

在不解析函数的情况下验证参数。

函数子类必须覆盖此方法以验证其参数。

class heat.engine.hot.functions.GetFile(stack, fn_name, args)[source]

基类: Function

一个用于内联包含文件的函数。

形式如下

get_file: <file_key>

并解析存储在 files 字典中给定键下的内容。

result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

class heat.engine.hot.functions.GetParam(stack, fn_name, args)[source]

基类: Function

一个用于解析参数引用的函数。

形式如下

get_param: <param_name>

或者

get_param:
  - <param_name>
  - <path1>
  - ...
result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

class heat.engine.hot.functions.GetResource(stack, fn_name, args)[source]

基类: Function

用于解析资源引用的函数。

形式如下

get_resource: <resource_name>
dependencies(path)[source]
result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

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。

parse_args(parse_func)[source]

使用提供的解析函数解析宏。

宏子类应重写此方法以控制参数的解析。

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>..."
result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

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>..."

可以选择指定多个列表,这些列表也将被连接。

result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

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>]
result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

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'
result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

validate()[source]

在不解析函数的情况下验证参数。

函数子类必须覆盖此方法以验证其参数。

class heat.engine.hot.functions.MapMerge(stack, fn_name, args)[source]

基类: Function

用于合并映射的函数。

形式如下

map_merge:
  - <k1>: <v1>
    <k2>: <v2>
  - <k1>: <v3>

并解析为

{"<k1>": "<v3>", "<k2>": "<v2>"}
result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

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>"}
result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

class heat.engine.hot.functions.Not(stack, fn_name, args)[source]

基类: ConditionBoolean

充当条件 NOT 运算符的函数。

形式如下

not: <condition>

如果条件评估为 false,则返回 true,或者如果条件评估为 true,则返回 false。

result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

class heat.engine.hot.functions.Or(stack, fn_name, args)[source]

基类: ConditionBoolean

充当条件 OR 运算符的函数。

形式如下

or:
  - <condition_1>
  - <condition_2>
  - ...

如果指定的条件中的任何一个评估为 true,则返回 true;如果所有条件都评估为 false,则返回 false。您包含的最小条件数是 2。

result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

class heat.engine.hot.functions.Removed(stack, fn_name, args)[source]

基类: Function

此函数存在于 HOT 的早期版本中,但已被删除。

请查看 HOT 指南以获取等效的本机函数。

result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

validate()[source]

在不解析函数的情况下验证参数。

函数子类必须覆盖此方法以验证其参数。

class heat.engine.hot.functions.Repeat(stack, fn_name, args)[source]

基类: Function

用于迭代列表中的项目的函数。

形式如下

repeat:
    template:
        <body>
    for_each:
        <var>: <list>

结果是与 <list> 大小相同的新的列表,其中每个元素是 <body> 的副本,其中任何 <var> 都会被 <list> 的相应项目替换。

result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

validate()[source]

在不解析函数的情况下验证参数。

函数子类必须覆盖此方法以验证其参数。

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>"

当模板中的键重叠时,较长的匹配优先。对于长度相同的键,按字典顺序较小的键优先。

result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

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]

基类: ReplaceJsonStrict

用于执行字符串替换的函数。

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'
result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

class heat.engine.hot.functions.StrSplit(stack, fn_name, args)[source]

基类: Function

用于将分隔符字符串拆分为列表的函数。

可选地通过索引提取特定的列表成员。

形式如下

str_split:
  - <delimiter>
  - <string>
  - <index>

如果指定了 <index>,将返回指定的列表项,否则将返回整个列表,类似于使用基于路径的属性访问列表的 get_attr。

result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

class heat.engine.hot.functions.Yaql(stack, fn_name, args)[source]

基类: Function

用于执行 yaql 表达式的函数。

形式如下

yaql:
    expression:
        <body>
    data:
        <var>: <list>

在给定数据上评估表达式 <body>。

classmethod get_yaql_parser()[source]
result()[source]

返回函数解析的结果。

函数子类必须覆盖此方法以计算其结果。

validate()[source]

在不解析函数的情况下验证参数。

函数子类必须覆盖此方法以验证其参数。

heat.engine.hot.functions.list_opts()[source]