资源栈模板是一个UTF8编码格式的文件。
基于模板可快速创建资源栈,用户在模板中定义所需的云资源、资源间的依赖关系、资源配置等,资源编排将解析模板,自动完成所有资源的创建和配置。
{     "ZStackTemplateFormatVersion" : "YYYY-MM-DD",     "Description" : "模板描述信息,可用于说明模板的适用场景、架构说明等。",     "Parameters" : {       // 定义创建资源栈时,用户可以定制化的参数。     },     "Mappings" : {       // 定义映射信息表,映射信息是一种多层的Map结构。     },     "Resources" : {       // 所需资源的详细定义,包括资源间的依赖关系、配置细节等。     },     "Outputs" : {       // 用于输出一些资源属性等有用信息,可以通过API获取输出的内容。   }ZStackTemplateFormatVersion(必需)YYYY-MM-DDDescription(可选)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声明两个参数:usernameusername的默认值也必须符合长度限制和允许值限制。passwordNoEcho属性设置为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 产品和服务。