get_input
get_input通常用于获取模板文件中inputs区域中定义的输入参数的值。除此之外还可以引用系统伪参数,详情请参见系统伪参数。
语法
get_input: [paramName ]
参数说明
参数 |
是否必填 |
描述 |
---|---|---|
paramName |
是 |
在模板文件的inputs区域中定义的输入参数的名称。 |
返回值
对应参数的值。
示例
通过get_input获取inputs区域参数的值。
tosca_definitions_version: huaweicloud_tosca_version_1_0 inputs: name: default: test-vpc cidr: default: 10.0.0.0/8 node_templates: my-first-vpc: type: HuaweiCloud.VPC.VPC properties: name: {get_input: name} cidr: {get_input: cidr}
系统伪参数
- HuaweiCloud.UserId: 获取当前资源栈创建者的用户ID。
- HuaweiCloud.ProjectId: 获取当前资源栈所在的项目ID。
- HuaweiCloud.DomainId:获取当前资源栈所在的租户ID。
- HuaweiCloud.Region:获取当前资源栈所在的区域ID。
- HuaweiCloud.StackName:获取当前资源栈的名称。
系统伪参数可以与mappings、get_in_map功能结合使用,用于获取预定义的配置信息。
例如,一个ecs虚拟机可以部署在华北区、华南区或华东区。通过在映射表中预先定义好不同region对应的镜像、虚拟机规格信息,在资源栈创建时可以通过{get_input: HuaweiCloud.Region}获取当前资源栈所在的区域,从映射表中得到所需的镜像、flavor等配置信息。
mappings: regionMap: cn-east-3: #华东区定义 flavor: c2.medium #使用华东区虚拟机规格 image_id: f2003c7b-99c4-4616-be19-334beaca81b1 #使用华东区镜像id cn-north-1: #华北区定义 flavor: c1.medium #使用华北区虚拟机规格 image_id: 42f34d95-a538-4d17-be48-e690b48c1643 #使用华北区镜像id cn-south-1: #华南区定义 flavor: c1.medium #使用华南区虚拟机规格 image_id: a3934478-bfeb-4a02-b257-9089779f0380 #使用华南区镜像id node_templates: myecs: type: HuaweiCloud.ECS.CloudServer properties: availabilityZone: cn-south-1a flavor: get_in_map: - regionMap - get_input: HuaweiCloud.Region - flavor imageId: get_in_map: - regionMap - get_input: HuaweiCloud.Region - image_id ...