更新时间: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
...
父主题: 内置函数