更新时间:2024-04-17 GMT+08:00
get_input
get_input通常用于获取模板文件中inputs区域中定义的输入参数的值。除此之外还可以引用系统伪参数,详情请参见系统伪参数。
语法
get_input: [paramName ]
参数说明
参数 |
是否必填 |
描述 |
---|---|---|
paramName |
是 |
在模板文件的inputs区域中定义的输入参数的名称。 |
返回值
对应参数的值。
示例
通过get_input获取inputs区域参数的值。
tosca_definitions_version: cloud_tosca_version_1_0 inputs: name: default: test-vpc cidr: default: 10.0.0.0/8 node_templates: my-first-vpc: type: Cloud.VPC.VPC properties: name: {get_input: name} cidr: {get_input: cidr}
系统伪参数
get_input除了可以引用模板中定义的参数外,还可以引用系统伪参数。目前支持的系统伪参数主要有如下几个:
- Cloud.UserId: 获取当前堆栈创建者的用户ID。
- Cloud.ProjectId: 获取当前堆栈所在的项目ID。
- Cloud.DomainId:获取当前堆栈所在的租户ID。
- Cloud.Region:获取当前堆栈所在的区域ID。
- Cloud.StackName:获取当前堆栈的名称。
系统伪参数可以与mappings、get_in_map功能结合使用,用于获取预定义的配置信息。
例如,一个ecs虚拟机可以部署在不同的区域。通过在映射表中预先定义好不同region对应的镜像、虚拟机规格信息,在堆栈创建时可以通过{get_input: Cloud.Region}获取当前堆栈所在的区域,从映射表中得到所需的镜像、flavor等配置信息。
mappings: regionMap: ae-ad-1: flavor: c2.medium image_id: f2003c7b-99c4-4616-be19-334beaca81b1 node_templates: myecs: type: Cloud.ECS.CloudServer properties: availabilityZone: ae-ad-1a flavor: get_in_map: - regionMap - get_input: Cloud.Region - flavor imageId: get_in_map: - regionMap - get_input: Cloud.Region - image_id ...
父主题: 内置函数