全部产品
云市场

参数(Parameter)

更新时间:2019-06-28 11:01:46

在创建和执行模板时,使用参数(Parameters)可提高模板灵活性和可复用性。

定义参数

根据模版的需要,您可以在模板(Template)中的Parameters字段内定义参数,包括参数名、参数描述和参数类型、默认值以及校验规则等。

参数语法

  • YAML格式
  1. Parameters:
  2. parameter-name-1: # 参数名,有效字符为[a-zA-Z0-9\_-],不允许有空格。建议采用首字母小写的骆驼式风格,如instanceId。
  3. Type: String # 可选, 类型,支持List, Number, String, Boolean, Object。默认: String
  4. Description: description # 可选,描述,描述参数的用途
  5. Default: default-value # 可选, 默认值,参数的默认值
  6. AllowedValues: # 可选,包含参数允许值的列表。。
  7. - value1
  8. - value2
  9. AllowedPattern: regular-expression # 可选,参数的值必须匹配的正则表达式,适用于String
  10. MinLength: 1 # 可选,参数值的最小长度(即参数值长度 = MinLength),适用于String
  11. MaxLength: 10 # 可选,参数值的最大长度(即参数值长度 = MaxLength),适用于String
  • JSON格式(请参考YAML注释说明)
  1. {
  2. "Parameters": {
  3. "parameter-name-1": {
  4. "Type": "String",
  5. "Description": "description",
  6. "Default": "default-value",
  7. "AllowedValues": [
  8. "value1",
  9. "value2"
  10. ],
  11. "AllowedPattern": "regular-expression",
  12. "MinLength": 1,
  13. "MaxLength": 10
  14. }
  15. }
  16. }

引用参数

在Tasks字段的属性内您可以引用上述定义的参数。引用的语法如下:

  1. "some text {{ parameter_name }} some text {{parameter_name_2}} ..."

举例如下:

注意,因为YAML的语法特点,引用参数时,需要在英文半角的双引号(“ “)内进行。

  1. "{{ parameter-name }}" # 直接引用
  2. "this is the {{ parameter-name }}" # 在一个固定的字符串中引用
  3. "hello {{ parameter-last-name }} {{ parameter-first-name }}" # 在一个固定的字符串中引用多个参数

伪参数

为了方便获取执行中的执行环境等信息,OOS提供了伪参数,这些参数您无需定义即可直接使用。目前支持的伪参数如下,如您需要更多的伪参数,请开工单联系我们并提供您的使用场景,我们将尽快反馈和支持:

名称 类型 用途 举例
ACS::TemplateName String 执行使用的模板名称 ACS-ECS-StartInstances br /或MyTemplate1
ACS::ExecutionId String 执行ID exec-21234455677892ac
ACS::Region String 执行所在的地域 cn-hangzhou
ACS::AccountId String 执行所在的账号 12345678901234