heat.engine.cfn.functions 模块

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

基类: And

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

形式如下

{ "Fn::And" : [ "<condition_1>", "<condition_2>", ... ] }

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

class heat.engine.cfn.functions.Base64(stack, fn_name, args)[source]

基类: Function

一个占位符函数,用于转换为 base64。

形式如下

{ "Fn::Base64" : "<string>" }

此函数实际上不执行任何转换。它包含在模板中,用于将 UserData 转换为 Base64。Heat 接受纯文本格式的 UserData。

result()[source]

返回函数解析的结果。

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

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

基类: Equals

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

形式如下

{ "Fn::Equals" : [ "<value_1>", "<value_2>" ] }

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

class heat.engine.cfn.functions.FindInMap(stack, fn_name, args)[source]

基类: Function

一个用于解析模板映射中键的函数。

形式如下

{ "Fn::FindInMap" : [ "mapping",
                      "key",
                      "value" ] }
result()[source]

返回函数解析的结果。

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

class heat.engine.cfn.functions.GetAZs(stack, fn_name, args)[source]

基类: Function

一个用于检索可用区的函数。

形式如下

{ "Fn::GetAZs" : "<region>" }
result()[source]

返回函数解析的结果。

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

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

基类: GetAttThenSelect

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

形式如下

{ "Fn::GetAtt" : [ "<resource_name>",
                   "<attribute_name>" ] }
class heat.engine.cfn.functions.If(stack, fn_name, raw_args, parse_func, template)[source]

基类: If

一个函数,根据条件评估返回相应的值。

形式如下

{ "Fn::If" : [ "<condition_name>",
               "<value_if_true>",
               "<value_if_false>" ] }

如果指定的条件评估为 true,则返回 value_if_true,如果指定的条件评估为 false,则返回 value_if_false。

class heat.engine.cfn.functions.Join(stack, fn_name, args)[source]

基类: Join

一个用于连接字符串的函数。

形式如下

{ "Fn::Join" : [ "<delim>", [ "<string_1>", "<string_2>", ... ] ] }

解析为

"<string_1><delim><string_2><delim>..."
class heat.engine.cfn.functions.MemberListToMap(stack, fn_name, args)[source]

基类: Function

一个将带有枚举键和值的列表转换为映射的函数。

形式如下

{ 'Fn::MemberListToMap' : [ 'Name',
                            'Value',
                            [ '.member.0.Name=<key_0>',
                              '.member.0.Value=<value_0>',
                              ... ] ] }

解析为

{ "<key_0>" : "<value_0>", ... }

前两个参数是键和值的名称。

result()[source]

返回函数解析的结果。

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

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

基类: Not

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

形式如下

{ "Fn::Not" : [ "<condition>" ] }

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

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

基类: Or

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

形式如下

{ "Fn::Or" : [ "<condition_1>", "<condition_2>", ... ] }

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

class heat.engine.cfn.functions.ParamRef(stack, fn_name, args)[source]

基类: Function

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

形式如下

{ "Ref" : "<param_name>" }
result()[source]

返回函数解析的结果。

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

heat.engine.cfn.functions.Ref(stack, fn_name, args)[source]

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

形式如下

{ "Ref" : "<param_name>" }

或者

{ "Ref" : "<resource_name>" }
class heat.engine.cfn.functions.Replace(stack, fn_name, args)[source]

基类: Replace

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

形式如下

{ "Fn::Replace" : [
    { "<key_1>": "<value_1>", "<key_2>": "<value_2>", ... },
    "<key_1> <key_2>"
  ] }

解析为

"<value_1> <value_2>"

当模板中的键重叠时,较长的匹配项优先。对于长度相同的键,词法较小的键优先。

class heat.engine.cfn.functions.ResourceFacade(stack, fn_name, args)[source]

基类: ResourceFacade

一个用于检索父提供程序模板中的数据的函数。

一个用于从相应提供程序模板中的 facade 资源中获取数据的函数。

形式如下

{ "Fn::ResourceFacade": "<attribute_type>" }

其中有效的属性类型是“Metadata”、“DeletionPolicy”和“UpdatePolicy”。

DELETION_POLICY = 'DeletionPolicy'
METADATA = 'Metadata'
UPDATE_POLICY = 'UpdatePolicy'
class heat.engine.cfn.functions.Select(stack, fn_name, args)[source]

基类: Function

一个用于从列表或映射中选择项目的函数。

形式如下(用于列表查找)

{ "Fn::Select" : [ "<index>", [ "<value_1>", "<value_2>", ... ] ] }

或者(用于映射查找)

{ "Fn::Select" : [ "<index>", { "<key_1>": "<value_1>", ... } ] }

如果选择的索引未找到,则此函数解析为空字符串。

result()[source]

返回函数解析的结果。

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

class heat.engine.cfn.functions.Split(stack, fn_name, args)[source]

基类: Function

一个用于拆分字符串的函数。

形式如下

{ "Fn::Split" : [ "<delim>", "<string_1><delim><string_2>..." ] }

解析为

[ "<string_1>", "<string_2>", ... ]
result()[source]

返回函数解析的结果。

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