参数(Parameters)
更新时间:2024-09-25
下述内容即将下线,后续参考最新版本的参数。
参数可用于在资源栈创建时覆盖模板中的某些值,用来提高模板的灵活性和可复用性。
Plain Text
1"Parameters": {
2 "InstanceType": {
3 "Type": "String",
4 "Description": "instancetype",
5 "Label": "InstanceType",
6 "Default": "N3",
7 "AllowedValues": [
8 "N1",
9 "N2",
10 "N3",
11 "N4",
12 "C1",
13 "C2",
14 "S1",
15 "F1",
16 "G1"
17 ]
18 }
19 }
20
上面定义的 InstanceType 参数,允许在用户使用模板创建资源栈时重新赋值。如果用户不设置参数值则使用默认的N3。在资源定义时,可以引用此参数:
Plain Text
1"Resources": {
2 "bcc": {
3 "Type": "BCE::BCC::Instance",
4 "Properties": {
5 "InstanceType": {
6 "Ref": "InstanceType"
7 }
8 }
9 }
10 }
11
12
语法
每个参数由参数名称和参数属性组成。
参数名称必须为字母数字,并且在同一个模板中不能与其它参数名称重复。可以用 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。 |
示例
Plain Text
1"Parameters": {
2 "InstanceType": {
3 "Type": "String",
4 "Description": "instancetype",
5 "Label": "InstanceType",
6 "Default": "N3",
7 "AllowedValues": [
8 "N1",
9 "N2",
10 "N3",
11 "N4",
12 "C1",
13 "C2",
14 "S1",
15 "F1",
16 "G1"
17 ]
18 },
19 "ImageId": {
20 "Type": "String",
21 "Description": "imageId",
22 "Label": "ImageId",
23 "Default": "m-kDwAHHal",
24 "AllowedValues": [
25 "m-kDwAHHal",
26 "m-LQncFnPs",
27 "m-8cbKXk4j",
28 "m-BZpMInID",
29 "m-hSpptm8P"
30 ]
31 },
32 "ZoneName": {
33 "Type": "String",
34 "Description": "zonename",
35 "Label": "ZoneName",
36 "Default": "zoneA",
37 "AllowedValues": [
38 "zoneA",
39 "zoneB",
40 "zoneC"
41 ]
42 },
43 "Cpu": {
44 "Type": "Number",
45 "Description": "cpucount",
46 "Label": "Cpu",
47 "Default": 1
48 },
49 "Memory": {
50 "Type": "Number",
51 "Description": "memorycapacityinGB",
52 "Label": "Memory",
53 "Default": 4
54 },
55 "Network": {
56 "Type": "Number",
57 "Description": "networkcapacityinMbps",
58 "Label": "Network",
59 "Default": 1
60 },
61 "CdsSize": {
62 "Type": "Number",
63 "Description": "cdssizeinGB",
64 "Label": "CdsSize",
65 "Default": 5
66 },
67 "CdsStorageType": {
68 "Type": "String",
69 "Description": "cdsstoragetype",
70 "Label": "CdsStorageType",
71 "Default": "hp1",
72 "AllowedValues": [
73 "hp1",
74 "std1",
75 "cloud_hp1"
76 ]
77 }
78 }