资源栈模板是一个UTF8编码格式的文件。
基于模板可快速创建资源栈,用户在模板中定义所需的云资源、资源间的依赖关系、资源配置等,资源编排将解析模板,自动完成所有资源的创建和配置。
{ "ZStackTemplateFormatVersion" : "YYYY-MM-DD", "Description" : "模板描述信息,可用于说明模板的适用场景、架构说明等。", "Parameters" : { // 定义创建资源栈时,用户可以定制化的参数。 }, "Mappings" : { // 定义映射信息表,映射信息是一种多层的Map结构。 }, "Resources" : { // 所需资源的详细定义,包括资源间的依赖关系、配置细节等。 }, "Outputs" : { // 用于输出一些资源属性等有用信息,可以通过API获取输出的内容。 }
ZStackTemplateFormatVersion
(必需)YYYY-MM-DD
Description
(可选)Parameters
(可选)Mappings
(可选)Fn::FindInMap
函数选择key
对应的值。key
查找映射表。Resources
(可选)Outputs
(可选)Label
字段定义友好的参数名。属性 | 描述 | 是否必需 | 举例 |
---|---|---|---|
Type | 参数类型,默认支持:
| 是 | "Type": "String" |
Lable | 参数别名,生成预览或正式表单时用 | 否 | "Lable": "云主机密码" |
Description | 参数描述 | 否 | "Description": "云主机登录密码" |
NoEcho | 该字段是否用***** 替代,不填则不替代 | 否 | "NoEcho": true 说明: 暂不支持 |
DefaultValue | 参数默认值 | 否 | "DefaultValue": "password" |
Parameters
中定义(也不可定义)。常量名 | 描述 |
---|---|
ZStack::StackName | 当前栈的名称 |
ZStack::StackUuid | 当前栈的UUID |
ZStack::AccountUuid | 当前栈的AccountUuid |
ZStack::AccountName | 当前栈的AccountName |
"Parameters" : { "username" : { "Label": "登录名", "Description" : "登录名", "DefaultValue": "root", "Type" : "String" }, "password" : { "Label": "密码", "NoEcho" : "true", "Description" : "主机登录密码", "Type" : "String", } }
Parameters
声明两个参数:username
username
的默认值也必须符合长度限制和允许值限制。password
NoEcho
属性设置为true,可阻止查询栈接口返回参数值。NoEcho
属性设置暂不支持。Resources
可引用前述Parameters
、Mappings
、以及Functions
的内容。Resources
可被其他Resources
和Outputs
所引用。{ }
括起。,
分隔开。关键字 | 描述 | 是否必需 | 举例 |
---|---|---|---|
Type | 资源类型,包括以下两种类型:
| 是 |
|
Properties | 资源属性,为资源指定创建参数 | 是 | 详情请参考资源属性(Properties) |
DependsOn | 资源依赖,定义资源所依赖的资源 | 否 |
|
DeletionPolicy | 删除策略
| 否 |
|
Description | 资源描述 | 否 |
|
"Resources" : { "UUID-1" : { "Description" : "资源描述", "Type" : "资源类型", "Properties" : { 资源属性描述 } }, "UUID-2" : { "Description" : "资源描述" "Type" : "资源类型", "Properties" : { 资源属性描述 }, "DependsOn":"要依赖的资源,如UUID-1,注意上下文中必须包含此资源", "DeletionPolicy":"删除策略" } }
Resources
声明两个资源,关键字说明如下:UUID-1
、UUID-2
均为资源逻辑UUID,且均为变量。"Type": "ZStack::Resource::VmInstance"
表示云主机实例,"Type": "ZStack::Action::AddIpRange"
表示添加IP范围。"Resources" : { "InstanceOffering" : { "Type" : "ZStack::InstanceOffering", "Properties" : { "cpuNum" : "1", "cpuSpeed" : "1", "memorySize" : "1073741824", "name" : "instance-offering", "type" : "UserVm", "sortKey": 0, "allocatorStrategy": "LeastVmPreferredHostAllocatorStrategy" } } }
" "
括起来。[ ]
括起来。{ }
括起来。"Properties" : { "String" : "string", "LiteralList" : [ "value1", "value2" ], "Boolean" : "true" "ReferenceForOneValue" : { "Ref" : "ResourceID" } , "FunctionResultWithFunctionParams" : { "Fn::Join" : [ "%", [ "Key=", { "Ref" : "SomeParameter" } ] ] } }
DependsOn
属性后,该资源仅在DependsOn
属性中指定的资源之后创建。{ "ZStackTemplateFormatVersion" : "2018-06-18", "Resources" : { "WebServer": { "Type": "ZStack::Resource::VmInstance", "DependsOn": "DatabseServer" }, "DatabseServer": { "Type": "ZStack::Resource::VmInstance", "Properties": { "name": {"Fn::Join":["-",[{"Ref":"ZStack::StackName"},"VM"]]}, "instanceOfferingUuid": {"Ref":"InstanceOfferingUuid"}, "imageUuid":{"Ref":"ImageUuid"}, "l3NetworkUuids":[{"Ref":"PrivateNetworkUuid"}], "dataDiskOfferingUuids":[{"Ref":"DiskOfferingUuid"}], "hostUuid":{"Ref":"HostUuid"} } } } }
本例表示WebServer将在DatabaseServer创建成功后才开始创建。
DeletionPolicy
属性,可以声明资源栈被删除时是否保留资源。DeletionPolicy
有Retain
和Delete
两个选项。Delete
,表示删除资源栈默认会删除栈内编排创建的所有资源。DeletionPolicy
设置为Retain
,表示资源栈被删除时可保留资源。此时,该资源所依赖的资源也要保留(系统自动为其保留)。"Resources" : { "VMInstance" : { "Type" : "ZStack::Resource::VmInstance", "Properties": { "name": {"Fn::Join":["-",[{"Ref":"ZStack::StackName"},"VM"]]}, "instanceOfferingUuid": {"Ref":"InstanceOfferingUuid"}, "imageUuid":{"Ref":"ImageUuid"}, "l3NetworkUuids":[{"Ref":"PrivateNetworkUuid"}], "dataDiskOfferingUuids":[{"Ref":"DiskOfferingUuid"}], "hostUuid":{"Ref":"HostUuid"} }, "DeletionPolicy" : "Retain" } }
学习路径
ZStack Cloud 产品学习路径
快速梳理文档,点击相应文本链接,快速跳转到相应文档的页面,学习 ZStack Cloud 产品。
业务咨询:
400-962-2212 转 1售后咨询:
400-962-2212 转 2其他(漏洞提交、投诉举报等)
400-962-2212 转 3业务咨询:
400-962-2212 转 1ZStack学院:
training@zstack.io业务咨询:
400-962-2212 转 1售后咨询:
400-962-2212 转 2其他(漏洞提交、投诉举报等)
400-962-2212 转 3业务咨询:
400-962-2212 转 1售后咨询:
400-962-2212 转 2其他(漏洞提交、投诉举报等)
400-962-2212 转 3业务咨询:
400-962-2212 转 1商务联系:
channel@zstack.io业务咨询:
400-962-2212 转 1商务联系:
channel@zstack.io下载链接已发送至您的邮箱。
如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。 当您收到电子邮件后,请点击 URL 链接,以完成下载。感谢您使用 ZStack 产品和服务。
成功提交申请。
我们将安排工作人员尽快与您取得联系。感谢您使用 ZStack 产品和服务。
信息提交成功。
我们将安排工作人员尽快与您取得联系,请保持电话畅通。感谢您使用 ZStack 产品和服务。
商务咨询:
400-962-2212 转 1售后咨询:
400-962-2212 转 2商务联系:
sales@zstack.io成功提交申请。
我们将安排工作人员尽快与您取得联系。感谢您使用 ZStack 产品和服务。