资源(Resources)__模板语法_资源编排-阿里云
描述堆栈中每一个资源的属性和依赖关系。一个资源可以被其他资源和 Output 所引用。
语法
资源部分由资源 ID 和资源描述组成。所有资源描述都被括在括号里。如果您声明多个资源,则可用逗号将它们分隔开。以下代码段描述了 Resources 的语法结构:
"Resources" : {"资源1 ID" : {"Type" : "资源类型","Properties" : {资源属性描述}},"资源2 ID" : {"Type" : "资源类型","Properties" : {资源属性描述}}}
资源 ID
资源 ID 在模板中具有唯一性。可使用资源 ID 在模板的其他部分中引用资源。
资源类型
资源类型标识您正在声明的资源的类型。例如,ALIYUN::ECS::Instance 声明阿里云 ECS 实例。有关所有资源的列表,请参阅 资源列表。
资源属性
资源属性是可以为资源指定的附加选项。例如,对于每个阿里云 ECS 实例,必须为该实例指定一个 Image ID。如以下代码段所示:
"Resources" : {"ECSInstance" : {"Type" : "ALIYUN::ECS::Instance","Properties" : {"ImageId" : "m-25l0rcfjo"}}}
如果资源不需要声明任何属性,那么您可以忽略该资源的属性部分。
属性值可以是文本字符串、字符串列表、布尔值、参数引用或者函数返回的值。如果属性值为文件字符串,该值会被双引号括起来。如果值为任一类型的列表结果,则它会被中括号 ([ ]) 括起来。如果值为内部函数或引用的结果,则它会被大括号 ({ }) 括起来。当您将文字、列表、参考和函数合并起来获取值时,上述规则适用。以下示例说明如何声明不同的属性值类型:
"Properties" : {"String" : "string","LiteralList" : [ "value1", "value2" ],"Boolean" : "true""ReferenceForOneValue" : { "Ref" : "ResourceID" } ,"FunctionResultWithFunctionParams" : {"Fn::Join" : [ "%", [ "Key=", { "Ref" : "SomeParameter" } ] ] }}
DeletionPolicy
利用 DeletionPolicy 属性,用户可以在某个资源的堆栈被删除时保留该资源。如以下代码段所示:
"Resources" : {"ECSInstance" : {"Type" : "ALIYUN::ECS::Instance","Properties" : {"ImageId" : "m-25l0rcfjo"},"DeletionPolicy" : "Retain"}}
在上例中,如果模板对应的堆栈被删除,则会保留 ECSInstance 资源。
DependsOn
使用 DependsOn 属性可以指定特定资源紧跟着另一个资源创建。在您为资源添加 DependsOn 属性时,该资源仅在创建 DependsOn 属性中指定的资源之后创建。
如以下代码段所示,WebServer 将在 DatabaseServer 创建成功后才开始创建:
{"ROSTemplateFormatVersion" : "2015-09-01","Resources" : {"WebServer": {"Type": "ALIYUN::ECS::Instance","DependsOn": "DatabseServer"},"DatabseServer": {"Type": "ALIYUN::ECS::Instance","Properties": {"ImageId" : "m-25l0rcfjo","InstanceType": "ecs.t1.small"}}}}
示例
以下示例显示的是典型的资源声明。
"Resources" : {"WebServer": {"Type": "ALIYUN::ECS::Instance","Properties": {"ImageId" : "m-25l0rcfjo","InstanceType": "ecs.t1.small","SecurityGroupId": "sg-25zwc3se0","ZoneId": "cn-beijing-b","Tags": [{"Key": "tiantt","Value": "ros"},{"Key": "tiantt1","Value": "ros1"}]}},"ScalingConfiguration": {"Type": "ALIYUN::ESS::ScalingConfiguration","Properties": {"ImageId": "ubuntu1404_64_20G_aliaegis_20150325.vhd","InstanceType": "ecs.t1.small","InstanceId": "i-25xhhcqbu","InternetChargeType": "PayByTraffic","InternetMaxBandwidthIn": 1,"InternetMaxBandwidthOut": 20,"SystemDisk_Category": "cloud","ScalingGroupId": "bwhtvpcBcKYac9fe3vd0kv7E","SecurityGroupId": "sg-25zwc3se0","DiskMappings": [{"Size": 10},{"Category": "cloud","Size": 10}]}}}
最后更新:2016-11-23 16:04:02
上一篇:
参数(Parameters)__模板语法_资源编排-阿里云
下一篇:
输出(Outputs)__模板语法_资源编排-阿里云
通过控制台发送邮件__发送邮件_使用手册_邮件推送-阿里云
修改数据复制方式__实例管理_用户指南_云数据库 RDS 版-阿里云
使用集群__命令行工具_批量计算-阿里云
统计分析__使用手册(new)_机器学习-阿里云
升级系统服务__集群管理_用户指南_容器服务-阿里云
阿里云Link城市物联网平台生态战略与合作伙伴案例亮相云栖大会
C-SDK使用(threadx)__SDK使用参考_设备端接入手册_阿里云物联网套件-阿里云
SDK接口简介__数据订阅_用户指南_数据传输-阿里云
Linux 系统虚拟主机 .htaccess 限制 IP 访问的方法___安全问题_技术分享_云虚机主机-阿里云
优势__产品简介_云服务器 ECS-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云