CloudFormation 兼容资源类型¶
AWS::AutoScaling::AutoScalingGroup¶
必需属性¶
可选属性¶
- Cooldown¶
- 冷却时间,以秒为单位。期望整数值。可以在不替换的情况下更新。
- DesiredCapacity¶
- 期望的初始实例数。期望整数值。可以在不替换的情况下更新。
- HealthCheckGracePeriod¶
注意
未实现。- HealthCheckType¶
注意
未实现。- InstanceId¶
- 用于创建自动伸缩组的现有实例的 ID。如果指定此属性,将使用现有实例而不是启动配置来创建组。期望字符串值。更新会导致替换。值必须是 nova.server 类型
- LaunchConfigurationName¶
- 对 LaunchConfiguration 资源的引用。期望字符串值。可以在不替换的情况下更新。
- LoadBalancerNames¶
- LoadBalancer 资源列表。期望列表值。更新会导致替换。
- Tags¶
- 要附加到此组的标签。期望列表值。更新会导致替换。列表内容
- VPCZoneIdentifier¶
- 仅与 Neutron 一起使用,以列出实例将附加到的内部子网;仅当存在多个子网时才需要;列表长度必须恰好为 1。期望列表值。更新会导致替换。列表内容
- 可选。实例将附加到的内部子网的 UUID。期望字符串值。更新会导致替换。
属性¶
update_policy¶
HOT 语法¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::AutoScaling::AutoScalingGroup
properties:
AvailabilityZones: [Value, Value, ...]
Cooldown: Integer
DesiredCapacity: Integer
InstanceId: String
LaunchConfigurationName: String
LoadBalancerNames: [Value, Value, ...]
MaxSize: Integer
MinSize: Integer
Tags: [{"Key": String, "Value": String}, {"Key": String, "Value": String}, ...]
VPCZoneIdentifier: [String, String, ...]
AWS::AutoScaling::LaunchConfiguration¶
可选属性¶
- BlockDeviceMappings¶
- 要附加到实例的块设备映射。期望列表值。更新会导致替换。列表内容
- ImageId¶
- Glance 镜像 ID 或名称。期望字符串值。更新会导致替换。值必须是 glance.image 类型
- InstanceId¶
- 您想要用于创建启动配置的现有实例的 ID。所有属性都从实例派生,除了 BlockDeviceMapping。期望字符串值。更新会导致替换。值必须是 nova.server 类型
- InstanceType¶
- Nova 实例类型(flavor)。期望字符串值。更新会导致替换。值必须是 nova.flavor 类型
- KernelId¶
注意
未实现。- KeyName¶
- 可选 Nova 密钥对名称。期望字符串值。更新会导致替换。值必须是 nova.keypair 类型
- NovaSchedulerHints¶
- 传递给 Nova 的调度器提示(Heat 扩展)。期望列表值。更新会导致替换。列表内容
- RamDiskId¶
注意
未实现。- SecurityGroups¶
- 要分配的安全组名称。期望列表值。更新会导致替换。
- UserData¶
- 要传递给实例的用户数据。期望字符串值。更新会导致替换。
属性¶
- show¶
资源的详细信息。
HOT 语法¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::AutoScaling::LaunchConfiguration
properties:
BlockDeviceMappings: [{"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "SnapshotId": String, "VolumeSize": String}}, {"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "SnapshotId": String, "VolumeSize": String}}, ...]
ImageId: String
InstanceId: String
InstanceType: String
KeyName: String
NovaSchedulerHints: [{"Key": String, "Value": String}, {"Key": String, "Value": String}, ...]
SecurityGroups: [Value, Value, ...]
UserData: String
AWS::AutoScaling::ScalingPolicy¶
必需属性¶
可选属性¶
属性¶
HOT 语法¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::AutoScaling::ScalingPolicy
properties:
AdjustmentType: String
AutoScalingGroupName: String
Cooldown: Integer
MinAdjustmentStep: Integer
ScalingAdjustment: Integer
AWS::CloudFormation::Stack¶
表示子堆栈,以允许模板的组合。
必需属性¶
- TemplateURL¶
- 指定要创建为资源的堆栈的模板的 URL。期望字符串值。可以在不替换的情况下更新。
可选属性¶
属性¶
- show¶
资源的详细信息。
HOT 语法¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::Stack
properties:
Parameters: {...}
TemplateURL: String
TimeoutInMinutes: Integer
AWS::CloudFormation::WaitCondition¶
必需属性¶
可选属性¶
- Count¶
- 在堆栈创建过程继续之前,必须接收到的成功信号的数量。期望整数值。可以在不替换的情况下更新。默认值为
1该值必须至少为 1。
属性¶
HOT 语法¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::WaitCondition
properties:
Count: Integer
Handle: String
Timeout: Integer
AWS::CloudFormation::WaitConditionHandle¶
AWS WaitConditionHandle 资源。
这个类的主要目的是:没有依赖关系(因此实例可以引用它)生成唯一的 URL(在引用中返回)然后 cfn-signal 将使用此 URL 进行发布,WaitCondition 将轮询它以查看是否已写入。
属性¶
- show¶
资源的详细信息。
HOT 语法¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::WaitConditionHandle
AWS::EC2::EIP¶
可选属性¶
属性¶
HOT 语法¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::EIP
properties:
InstanceId: String
AWS::EC2::EIPAssociation¶
可选属性¶
属性¶
- show¶
资源的详细信息。
HOT 语法¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::EIPAssociation
properties:
AllocationId: String
EIP: String
InstanceId: String
NetworkInterfaceId: String
AWS::EC2::Instance¶
必需属性¶
可选属性¶
- AvailabilityZone¶
- 在可用区中启动实例。期望字符串值。更新会导致替换。
- BlockDeviceMappings¶
- 要附加到实例的块设备映射。期望列表值。更新会导致替换。列表内容
- DisableApiTermination¶
注意
未实现。- KernelId¶
注意
未实现。- KeyName¶
- 可选 Nova 密钥对名称。期望字符串值。更新会导致替换。值必须是 nova.keypair 类型
- Monitoring¶
注意
未实现。- NetworkInterfaces¶
- 网络接口与实例关联。期望列表值。可以在不替换的情况下更新。
- NovaSchedulerHints¶
- 传递给 Nova 的调度器提示(Heat 扩展)。期望列表值。更新会导致替换。列表内容
- PlacementGroupName¶
注意
未实现。- PrivateIpAddress¶
注意
未实现。- RamDiskId¶
注意
未实现。- SecurityGroupIds¶
- 要分配的安全组 ID。期望列表值。更新会导致替换。
- SecurityGroups¶
- 要分配的安全组名称。期望列表值。更新会导致替换。
- SourceDestCheck¶
注意
未实现。- SubnetId¶
- 启动实例的子网 ID。期望字符串值。可以在不替换的情况下更新。
- Tags¶
- 要附加到实例的标签。期望列表值。可以在不替换的情况下更新。列表内容
- Tenancy¶
注意
未实现。- UserData¶
- 要传递给实例的用户数据。期望字符串值。更新会导致替换。
- Volumes¶
- 要附加到实例的卷。期望列表值。更新会导致替换。默认为
[]列表内容
Attributes¶
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::Instance
properties:
AvailabilityZone: String
BlockDeviceMappings: [{"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "SnapshotId": String, "VolumeSize": String}}, {"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "SnapshotId": String, "VolumeSize": String}}, ...]
ImageId: String
InstanceType: String
KeyName: String
NetworkInterfaces: [Value, Value, ...]
NovaSchedulerHints: [{"Key": String, "Value": String}, {"Key": String, "Value": String}, ...]
SecurityGroupIds: [Value, Value, ...]
SecurityGroups: [Value, Value, ...]
SubnetId: String
Tags: [{"Key": String, "Value": String}, {"Key": String, "Value": String}, ...]
UserData: String
Volumes: [{"Device": String, "VolumeId": String}, {"Device": String, "VolumeId": String}, ...]
AWS::EC2::InternetGateway¶
可选属性¶
- Tags¶
- 期望列表值。更新会导致替换。列表内容
- 未实现。
Attributes¶
- show¶
资源的详细信息。
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::InternetGateway
properties:
Tags: [{"Key": String, "Value": String}, {"Key": String, "Value": String}, ...]
AWS::EC2::NetworkInterface¶
必需属性¶
- SubnetId¶
- 与此接口关联的子网 ID。期望字符串值。更新会导致替换。Value 必须是 neutron.subnet 类型
可选属性¶
Attributes¶
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::NetworkInterface
properties:
Description: String
GroupSet: [Value, Value, ...]
PrivateIpAddress: String
SubnetId: String
Tags: [{"Key": String, "Value": String}, {"Key": String, "Value": String}, ...]
AWS::EC2::RouteTable¶
必需属性¶
- VpcId¶
- 创建路由表 VPC 的 ID。期望字符串值。更新会导致替换。
可选属性¶
- Tags¶
- 期望列表值。更新会导致替换。列表内容
- 未实现。
Attributes¶
- show¶
资源的详细信息。
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::RouteTable
properties:
Tags: [{"Key": String, "Value": String}, {"Key": String, "Value": String}, ...]
VpcId: String
AWS::EC2::SecurityGroup¶
必需属性¶
- GroupDescription¶
- 安全组的描述。期望字符串值。更新会导致替换。
可选属性¶
Attributes¶
- show¶
资源的详细信息。
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::SecurityGroup
properties:
GroupDescription: String
SecurityGroupEgress: [{"CidrIp": String, "FromPort": String, "ToPort": String, "IpProtocol": String, "SourceSecurityGroupId": String, "SourceSecurityGroupName": String}, {"CidrIp": String, "FromPort": String, "ToPort": String, "IpProtocol": String, "SourceSecurityGroupId": String, "SourceSecurityGroupName": String}, ...]
SecurityGroupIngress: [{"CidrIp": String, "FromPort": String, "ToPort": String, "IpProtocol": String, "SourceSecurityGroupId": String, "SourceSecurityGroupName": String}, {"CidrIp": String, "FromPort": String, "ToPort": String, "IpProtocol": String, "SourceSecurityGroupId": String, "SourceSecurityGroupName": String}, ...]
VpcId: String
AWS::EC2::Subnet¶
必需属性¶
可选属性¶
Attributes¶
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::Subnet
properties:
AvailabilityZone: String
CidrBlock: String
Tags: [{"Key": String, "Value": String}, {"Key": String, "Value": String}, ...]
VpcId: String
AWS::EC2::SubnetRouteTableAssociation¶
必需属性¶
Attributes¶
- show¶
资源的详细信息。
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::SubnetRouteTableAssociation
properties:
RouteTableId: String
SubnetId: String
AWS::EC2::VPC¶
可选属性¶
Attributes¶
- show¶
资源的详细信息。
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::VPC
properties:
CidrBlock: String
Tags: [{"Key": String, "Value": String}, {"Key": String, "Value": String}, ...]
AWS::EC2::VPCGatewayAttachment¶
必需属性¶
- VpcId¶
- 此网关关联的 VPC ID。期望字符串值。更新会导致替换。
可选属性¶
Attributes¶
- show¶
资源的详细信息。
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::VPCGatewayAttachment
properties:
InternetGatewayId: String
VpcId: String
AWS::EC2::Volume¶
必需属性¶
- AvailabilityZone¶
- 将创建卷的可用区。期望字符串值。不支持更新。任何尝试更新此属性的资源更新都将失败。
可选属性¶
Attributes¶
- show¶
资源的详细信息。
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::Volume
properties:
AvailabilityZone: String
Size: Integer
SnapshotId: String
Tags: [{"Key": String, "Value": String}, {"Key": String, "Value": String}, ...]
AWS::EC2::VolumeAttachment¶
必需属性¶
Attributes¶
- show¶
资源的详细信息。
HOT Syntax¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::VolumeAttachment
properties:
Device: String
InstanceId: String
VolumeId: String
AWS::ElasticLoadBalancing::LoadBalancer¶
将基于 HAProxy 的实例实现为嵌套堆栈。
嵌套堆栈的模板可以使用 loadbalancer_template 选项在 heat.conf 中重新定义。
通常,实例使用的镜像必须安装以下软件包,或在运行时可供安装
- heat-cfntools and its dependencies like python-psutil
- cronie
- socat
- haproxy
当前默认的内置模板使用 Fedora 21 x86_64 基本云镜像 (https://getfedora.org/cloud/download/),除了安装软件包外,还会由于 heat-cfntools 的特性而围绕 SELinux 进行一些操作。
必需属性¶
可选属性¶
属性¶
HOT 语法¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::ElasticLoadBalancing::LoadBalancer
properties:
AvailabilityZones: [Value, Value, ...]
HealthCheck: {"HealthyThreshold": Integer, "Interval": Integer, "Target": String, "Timeout": Integer, "UnhealthyThreshold": Integer}
Instances: [Value, Value, ...]
Listeners: [{"InstancePort": Integer, "LoadBalancerPort": Integer, "Protocol": String}, {"InstancePort": Integer, "LoadBalancerPort": Integer, "Protocol": String}, ...]
SecurityGroups: [Value, Value, ...]
AWS::IAM::AccessKey¶
必需属性¶
- UserName¶
- 新密钥将属于的用户名。期望字符串值。更新会导致替换。
可选属性¶
属性¶
HOT 语法¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::IAM::AccessKey
properties:
UserName: String
AWS::IAM::User¶
可选属性¶
属性¶
- show¶
资源的详细信息。
HOT 语法¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::IAM::User
properties:
Groups: [Value, Value, ...]
LoginProfile: {"Password": String}
Path: String
Policies: [Value, Value, ...]
AWS::S3::Bucket¶
可选属性¶
属性¶
HOT 语法¶
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::S3::Bucket
properties:
AccessControl: String
Tags: [{"Key": String, "Value": String}, {"Key": String, "Value": String}, ...]
WebsiteConfiguration: {"IndexDocument": String, "ErrorDocument": String}