参数(Parameters)
更新时间:2024-09-25
下述内容即将下线,后续参考最新版本的参数。
参数可用于在资源栈创建时覆盖模板中的某些值,用来提高模板的灵活性和可复用性。
"Parameters": {
"InstanceType": {
"Type": "String",
"Description": "instancetype",
"Label": "InstanceType",
"Default": "N3",
"AllowedValues": [
"N1",
"N2",
"N3",
"N4",
"C1",
"C2",
"S1",
"F1",
"G1"
]
}
}
上面定义的 InstanceType 参数,允许在用户使用模板创建资源栈时重新赋值。如果用户不设置参数值则使用默认的N3。在资源定义时,可以引用此参数:
"Resources": {
"bcc": {
"Type": "BCE::BCC::Instance",
"Properties": {
"InstanceType": {
"Ref": "InstanceType"
}
}
}
}
语法
每个参数由参数名称和参数属性组成。
参数名称必须为字母数字,并且在同一个模板中不能与其它参数名称重复。可以用 Label 字段来定义友好的参数名,一般在把模板动态生成为 Web 表单时很有用。
参数属性列表:
属性 | 是否必选 | 描述 |
---|---|---|
Type | 是 | 参数的数据类型。 String字符串。如:”N3”。 Number整数或浮点数。如:4。 CommaDelimitedList一组用逗号分隔的字符串或数字,可通过 Fn::Select 函数索引值。如:”2,5,7”。 Boolean一个布尔值。如:true 或者 false。 |
Default | 否 | 在创建资源栈时,如果用户没有传入指定值,编排服务会检查模板中是否有定义默认值,如果有定义默认值,则使用默认值,否则报错。 |
AllowedValues | 否 | 包含参数允许值的列表。 |
AllowedPattern | 否 | 一个正则表达式,用于检查用户输入的字符串类型的参数是否匹配,如果用户输入的不是字符串类型,则报错。 |
MaxLength | 否 | 一个整数值,确定要允许 String 类型使用的字符的最大数目。 |
MinLength | 否 | 一个整数值,确定要允许 String 类型使用的字符的最小数目。 |
MaxValue | 否 | 一个数字值,确定要允许 Number 类型使用的最大数字值。 |
MinValue | 否 | 一个数字值,确定要允许 Number 类型使用的最小数字值。 |
NoEcho | 否 | 当调用查询堆栈时是否输出参数值。如果将值设置为 true,则只输出星号 (**)。 |
Description | 否 | 用于描述参数的字符串。 |
ConstraintDescription | 否 | 用于在违反该参数约束条件时说明该约束条件的字符串。 |
Label | 否 | 参数别名,支持 UTF-8 字符,通过模板生成 Web 表单时可映射为 label。 |
示例
"Parameters": {
"InstanceType": {
"Type": "String",
"Description": "instancetype",
"Label": "InstanceType",
"Default": "N3",
"AllowedValues": [
"N1",
"N2",
"N3",
"N4",
"C1",
"C2",
"S1",
"F1",
"G1"
]
},
"ImageId": {
"Type": "String",
"Description": "imageId",
"Label": "ImageId",
"Default": "m-kDwAHHal",
"AllowedValues": [
"m-kDwAHHal",
"m-LQncFnPs",
"m-8cbKXk4j",
"m-BZpMInID",
"m-hSpptm8P"
]
},
"ZoneName": {
"Type": "String",
"Description": "zonename",
"Label": "ZoneName",
"Default": "zoneA",
"AllowedValues": [
"zoneA",
"zoneB",
"zoneC"
]
},
"Cpu": {
"Type": "Number",
"Description": "cpucount",
"Label": "Cpu",
"Default": 1
},
"Memory": {
"Type": "Number",
"Description": "memorycapacityinGB",
"Label": "Memory",
"Default": 4
},
"Network": {
"Type": "Number",
"Description": "networkcapacityinMbps",
"Label": "Network",
"Default": 1
},
"CdsSize": {
"Type": "Number",
"Description": "cdssizeinGB",
"Label": "CdsSize",
"Default": 5
},
"CdsStorageType": {
"Type": "String",
"Description": "cdsstoragetype",
"Label": "CdsStorageType",
"Default": "hp1",
"AllowedValues": [
"hp1",
"std1",
"cloud_hp1"
]
}
}