Note
Available since 2014.1 (Icehouse)
Not Implemented.
Updates cause replacement.
Required property.
Cooldown period, in seconds.
Can be updated without replacement.
Optional property.
Desired initial number of instances.
Can be updated without replacement.
Optional property.
Note
Not implemented.
Note
Not implemented.
The ID of an existing instance to use to create the Auto Scaling group. If specify this property, will create the group use an existing instance instead of a launch configuration.
Updates cause replacement.
Optional property.
Value must be of type nova.server
The reference to a LaunchConfiguration resource.
Can be updated without replacement.
Optional property.
List of LoadBalancer resources.
Updates cause replacement.
Optional property.
Maximum number of instances in the group.
Can be updated without replacement.
Required property.
Minimum number of instances in the group.
Can be updated without replacement.
Required property.
Tags to attach to this group.
Updates cause replacement.
Optional property.
List contents:
Updates cause replacement.
Optional property.
Map properties:
Updates cause replacement.
Required property.
Updates cause replacement.
Required property.
Use only with Neutron, to list the internal subnet to which the instance will be attached; needed only if multiple exist; list length must be exactly 1.
Updates cause replacement.
Optional property.
List contents:
UUID of the internal subnet to which the instance will be attached.
Updates cause replacement.
Optional property.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::AutoScaling::AutoScalingGroup
properties:
AvailabilityZones: [Value, Value, ...]
Cooldown: Number
DesiredCapacity: Integer
InstanceId: String
LaunchConfigurationName: String
LoadBalancerNames: [Value, Value, ...]
MaxSize: Integer
MinSize: Integer
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
VPCZoneIdentifier: [String, String, ...]
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::AutoScaling::AutoScalingGroup
Properties:
AvailabilityZones: [Value, Value, ...]
Cooldown: Number
DesiredCapacity: Integer
InstanceId: String
LaunchConfigurationName: String
LoadBalancerNames: [Value, Value, ...]
MaxSize: Integer
MinSize: Integer
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
VPCZoneIdentifier: [String, String, ...]
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::AutoScaling::AutoScalingGroup",
"Properties": {
"AvailabilityZones": [Value, Value, ...],
"Cooldown": Number,
"DesiredCapacity": Integer,
"InstanceId": String,
"LaunchConfigurationName": String,
"LoadBalancerNames": [Value, Value, ...],
"MaxSize": Integer,
"MinSize": Integer,
"Tags": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...],
"VPCZoneIdentifier": [String, String, ...]
}
}
}
}
Block device mappings to attach to instance.
Updates cause replacement.
Optional property.
List contents:
Updates cause replacement.
Optional property.
Map properties:
A device name where the volume will be attached in the system at /dev/device_name.e.g. vdb
Updates cause replacement.
Required property.
The ebs volume to attach to the instance.
Updates cause replacement.
Optional property.
Map properties:
Indicate whether the volume should be deleted when the instance is terminated.
Updates cause replacement.
Optional property, defaults to “True”.
Note
Not implemented.
The ID of the snapshot to create a volume from.
Updates cause replacement.
Optional property.
Value must be of type cinder.snapshot
The size of the volume, in GB. Must be equal or greater than the size of the snapshot. It is safe to leave this blank and have the Compute service infer the size.
Updates cause replacement.
Optional property.
Note
Not implemented.
Note
Not implemented.
Note
Not implemented.
Glance image ID or name.
Updates cause replacement.
Optional property.
Value must be of type glance.image
The ID of an existing instance you want to use to create the launch configuration. All properties are derived from the instance with the exception of BlockDeviceMapping.
Updates cause replacement.
Optional property.
Value must be of type nova.server
Nova instance type (flavor).
Updates cause replacement.
Optional property.
Value must be of type nova.flavor
Note
Not implemented.
Optional Nova keypair name.
Updates cause replacement.
Optional property.
Value must be of type nova.keypair
Scheduler hints to pass to Nova (Heat extension).
Updates cause replacement.
Optional property.
List contents:
Updates cause replacement.
Optional property.
Map properties:
Updates cause replacement.
Required property.
Updates cause replacement.
Required property.
Note
Not implemented.
Security group names to assign.
Updates cause replacement.
Optional property.
User data to pass to instance.
Updates cause replacement.
Optional property.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::AutoScaling::LaunchConfiguration
properties:
BlockDeviceMappings: [{"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, {"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, ...]
ImageId: String
InstanceId: String
InstanceType: String
KeyName: String
NovaSchedulerHints: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
SecurityGroups: [Value, Value, ...]
UserData: String
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::AutoScaling::LaunchConfiguration
Properties:
BlockDeviceMappings: [{"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, {"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, ...]
ImageId: String
InstanceId: String
InstanceType: String
KeyName: String
NovaSchedulerHints: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
SecurityGroups: [Value, Value, ...]
UserData: String
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::AutoScaling::LaunchConfiguration",
"Properties": {
"BlockDeviceMappings": [{"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, {"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, ...],
"ImageId": String,
"InstanceId": String,
"InstanceType": String,
"KeyName": String,
"NovaSchedulerHints": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...],
"SecurityGroups": [Value, Value, ...],
"UserData": String
}
}
}
}
Type of adjustment (absolute or percentage).
Can be updated without replacement.
Required property.
Allowed values: ChangeInCapacity, ExactCapacity, PercentChangeInCapacity
AutoScaling group name to apply policy to.
Updates cause replacement.
Required property.
Cooldown period, in seconds.
Can be updated without replacement.
Optional property.
Size of adjustment.
Can be updated without replacement.
Required property.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::AutoScaling::ScalingPolicy
properties:
AdjustmentType: String
AutoScalingGroupName: String
Cooldown: Number
ScalingAdjustment: Number
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::AutoScaling::ScalingPolicy
Properties:
AdjustmentType: String
AutoScalingGroupName: String
Cooldown: Number
ScalingAdjustment: Number
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::AutoScaling::ScalingPolicy",
"Properties": {
"AdjustmentType": String,
"AutoScalingGroupName": String,
"Cooldown": Number,
"ScalingAdjustment": Number
}
}
}
}
A Resource representing a child stack to allow composition of templates.
The set of parameters passed to this nested stack.
Can be updated without replacement.
Optional property.
The URL of a template that specifies the stack to be created as a resource.
Can be updated without replacement.
Required property.
The length of time, in minutes, to wait for the nested stack creation.
Can be updated without replacement.
Optional property.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::CloudFormation::Stack
properties:
Parameters: {...}
TemplateURL: String
TimeoutInMinutes: Number
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::CloudFormation::Stack
Properties:
Parameters: {...}
TemplateURL: String
TimeoutInMinutes: Number
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::CloudFormation::Stack",
"Properties": {
"Parameters": {...},
"TemplateURL": String,
"TimeoutInMinutes": Number
}
}
}
}
Note
Available since 2014.1 (Icehouse)
The number of success signals that must be received before the stack creation process continues.
Can be updated without replacement.
Optional property, defaults to “1”.
The value must be at least 1.
A reference to the wait condition handle used to signal this wait condition.
Updates cause replacement.
Required property.
The number of seconds to wait for the correct number of signals to arrive.
Updates cause replacement.
Required property.
The value must be in the range 1 to 43200.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::CloudFormation::WaitCondition
properties:
Count: Number
Handle: String
Timeout: Number
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::CloudFormation::WaitCondition
Properties:
Count: Number
Handle: String
Timeout: Number
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::CloudFormation::WaitCondition",
"Properties": {
"Count": Number,
"Handle": String,
"Timeout": Number
}
}
}
}
Note
Available since 2014.1 (Icehouse)
the main point of this class is to : have no dependencies (so the instance can reference it) generate a unique url (to be returned in the reference) then the cfn-signal will use this url to post to and WaitCondition will poll it to see if has been written to.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::CloudFormation::WaitConditionHandle
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::CloudFormation::WaitConditionHandle
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::CloudFormation::WaitConditionHandle"
}
}
}
Can be updated without replacement.
Optional property.
Can be updated without replacement.
Optional property.
Can be updated without replacement.
Required property.
Allowed values: GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold
Can be updated without replacement.
Optional property.
Can be updated without replacement.
Required property.
Can be updated without replacement.
Optional property.
Can be updated without replacement.
Required property.
Can be updated without replacement.
Optional property.
Can be updated without replacement.
Optional property.
Can be updated without replacement.
Required property.
Can be updated without replacement.
Required property.
Allowed values: SampleCount, Average, Sum, Minimum, Maximum
Can be updated without replacement.
Required property.
Can be updated without replacement.
Optional property.
Allowed values: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::CloudWatch::Alarm
properties:
AlarmActions: [Value, Value, ...]
AlarmDescription: String
ComparisonOperator: String
Dimensions: [Value, Value, ...]
EvaluationPeriods: String
InsufficientDataActions: [Value, Value, ...]
MetricName: String
Namespace: String
OKActions: [Value, Value, ...]
Period: String
Statistic: String
Threshold: String
Units: String
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmActions: [Value, Value, ...]
AlarmDescription: String
ComparisonOperator: String
Dimensions: [Value, Value, ...]
EvaluationPeriods: String
InsufficientDataActions: [Value, Value, ...]
MetricName: String
Namespace: String
OKActions: [Value, Value, ...]
Period: String
Statistic: String
Threshold: String
Units: String
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::CloudWatch::Alarm",
"Properties": {
"AlarmActions": [Value, Value, ...],
"AlarmDescription": String,
"ComparisonOperator": String,
"Dimensions": [Value, Value, ...],
"EvaluationPeriods": String,
"InsufficientDataActions": [Value, Value, ...],
"MetricName": String,
"Namespace": String,
"OKActions": [Value, Value, ...],
"Period": String,
"Statistic": String,
"Threshold": String,
"Units": String
}
}
}
}
Set to “vpc” to have IP address allocation associated to your VPC.
Updates cause replacement.
Optional property.
Allowed values: vpc
Instance ID to associate with EIP.
Can be updated without replacement.
Optional property.
Value must be of type nova.server
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::EC2::EIP
properties:
Domain: String
InstanceId: String
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::EC2::EIP
Properties:
Domain: String
InstanceId: String
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::EC2::EIP",
"Properties": {
"Domain": String,
"InstanceId": String
}
}
}
}
Allocation ID for VPC EIP address.
Can be updated without replacement.
Optional property.
EIP address to associate with instance.
Can be updated without replacement.
Optional property.
Instance ID to associate with EIP specified by EIP property.
Can be updated without replacement.
Optional property.
Value must be of type nova.server
Network interface ID to associate with EIP.
Can be updated without replacement.
Optional property.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::EC2::EIPAssociation
properties:
AllocationId: String
EIP: String
InstanceId: String
NetworkInterfaceId: String
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::EC2::EIPAssociation
Properties:
AllocationId: String
EIP: String
InstanceId: String
NetworkInterfaceId: String
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::EC2::EIPAssociation",
"Properties": {
"AllocationId": String,
"EIP": String,
"InstanceId": String,
"NetworkInterfaceId": String
}
}
}
}
Availability zone to launch the instance in.
Updates cause replacement.
Optional property.
Block device mappings to attach to instance.
Updates cause replacement.
Optional property.
List contents:
Updates cause replacement.
Optional property.
Map properties:
A device name where the volume will be attached in the system at /dev/device_name.e.g. vdb
Updates cause replacement.
Required property.
The ebs volume to attach to the instance.
Updates cause replacement.
Optional property.
Map properties:
Indicate whether the volume should be deleted when the instance is terminated.
Updates cause replacement.
Optional property, defaults to “True”.
Note
Not implemented.
The ID of the snapshot to create a volume from.
Updates cause replacement.
Optional property.
Value must be of type cinder.snapshot
The size of the volume, in GB. Must be equal or greater than the size of the snapshot. It is safe to leave this blank and have the Compute service infer the size.
Updates cause replacement.
Optional property.
Note
Not implemented.
Note
Not implemented.
Note
Not implemented.
Note
Not implemented.
Glance image ID or name.
Updates cause replacement.
Required property.
Value must be of type glance.image
Nova instance type (flavor).
Can be updated without replacement.
Required property.
Value must be of type nova.flavor
Note
Not implemented.
Optional Nova keypair name.
Updates cause replacement.
Optional property.
Value must be of type nova.keypair
Note
Not implemented.
Network interfaces to associate with instance.
Can be updated without replacement.
Optional property.
Scheduler hints to pass to Nova (Heat extension).
Updates cause replacement.
Optional property.
List contents:
Updates cause replacement.
Optional property.
Map properties:
Updates cause replacement.
Required property.
Updates cause replacement.
Required property.
Note
Not implemented.
Note
Not implemented.
Note
Not implemented.
Security group IDs to assign.
Updates cause replacement.
Optional property.
Security group names to assign.
Updates cause replacement.
Optional property.
Note
Not implemented.
Subnet ID to launch instance in.
Can be updated without replacement.
Optional property.
Tags to attach to instance.
Can be updated without replacement.
Optional property.
List contents:
Updates cause replacement.
Optional property.
Map properties:
Updates cause replacement.
Required property.
Updates cause replacement.
Required property.
Note
Not implemented.
User data to pass to instance.
Updates cause replacement.
Optional property.
Volumes to attach to instance.
Updates cause replacement.
Optional property, defaults to “[]”.
List contents:
Updates cause replacement.
Optional property.
Map properties:
The device where the volume is exposed on the instance. This assignment may not be honored and it is advised that the path /dev/disk/by-id/virtio-<VolumeId> be used instead.
Updates cause replacement.
Required property.
The ID of the volume to be attached.
Updates cause replacement.
Required property.
Value must be of type cinder.volume
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::EC2::Instance
properties:
AvailabilityZone: String
BlockDeviceMappings: [{"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, {"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, ...]
ImageId: String
InstanceType: String
KeyName: String
NetworkInterfaces: [Value, Value, ...]
NovaSchedulerHints: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
SecurityGroupIds: [Value, Value, ...]
SecurityGroups: [Value, Value, ...]
SubnetId: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
UserData: String
Volumes: [{"Device": String, "VolumeId": String}, {"Device": String, "VolumeId": String}, ...]
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::EC2::Instance
Properties:
AvailabilityZone: String
BlockDeviceMappings: [{"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, {"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, ...]
ImageId: String
InstanceType: String
KeyName: String
NetworkInterfaces: [Value, Value, ...]
NovaSchedulerHints: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
SecurityGroupIds: [Value, Value, ...]
SecurityGroups: [Value, Value, ...]
SubnetId: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
UserData: String
Volumes: [{"Device": String, "VolumeId": String}, {"Device": String, "VolumeId": String}, ...]
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::EC2::Instance",
"Properties": {
"AvailabilityZone": String,
"BlockDeviceMappings": [{"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, {"DeviceName": String, "Ebs": {"DeleteOnTermination": Boolean, "VolumeSize": String, "SnapshotId": String}}, ...],
"ImageId": String,
"InstanceType": String,
"KeyName": String,
"NetworkInterfaces": [Value, Value, ...],
"NovaSchedulerHints": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...],
"SecurityGroupIds": [Value, Value, ...],
"SecurityGroups": [Value, Value, ...],
"SubnetId": String,
"Tags": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...],
"UserData": String,
"Volumes": [{"Device": String, "VolumeId": String}, {"Device": String, "VolumeId": String}, ...]
}
}
}
}
Updates cause replacement.
Optional property.
List contents:
Note
Not implemented.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::EC2::InternetGateway
properties:
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::EC2::InternetGateway
Properties:
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::EC2::InternetGateway",
"Properties": {
"Tags": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
}
}
}
}
Description for this interface.
Updates cause replacement.
Optional property.
List of security group IDs associated with this interface.
Can be updated without replacement.
Optional property.
Updates cause replacement.
Optional property.
Note
Not implemented.
Subnet ID to associate with this interface.
Updates cause replacement.
Required property.
Value must be of type neutron.subnet
Updates cause replacement.
Optional property.
List contents:
Note
Not implemented.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::EC2::NetworkInterface
properties:
Description: String
GroupSet: [Value, Value, ...]
PrivateIpAddress: String
SubnetId: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::EC2::NetworkInterface
Properties:
Description: String
GroupSet: [Value, Value, ...]
PrivateIpAddress: String
SubnetId: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::EC2::NetworkInterface",
"Properties": {
"Description": String,
"GroupSet": [Value, Value, ...],
"PrivateIpAddress": String,
"SubnetId": String,
"Tags": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
}
}
}
}
Note
Available since 2014.1 (Icehouse)
Updates cause replacement.
Optional property.
List contents:
Note
Not implemented.
VPC ID for where the route table is created.
Updates cause replacement.
Required property.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::EC2::RouteTable
properties:
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
VpcId: String
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::EC2::RouteTable
Properties:
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
VpcId: String
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::EC2::RouteTable",
"Properties": {
"Tags": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...],
"VpcId": String
}
}
}
}
Description of the security group.
Updates cause replacement.
Required property.
Can be updated without replacement.
Optional property.
List contents:
List of security group egress rules.
Updates cause replacement.
Optional property.
Map properties:
Updates cause replacement.
Optional property.
Updates cause replacement.
Optional property.
Updates cause replacement.
Optional property.
Updates cause replacement.
Optional property.
Updates cause replacement.
Optional property.
Note
Not implemented.
Updates cause replacement.
Optional property.
Can be updated without replacement.
Optional property.
List contents:
List of security group ingress rules.
Updates cause replacement.
Optional property.
Map properties:
Updates cause replacement.
Optional property.
Updates cause replacement.
Optional property.
Updates cause replacement.
Optional property.
Updates cause replacement.
Optional property.
Updates cause replacement.
Optional property.
Note
Not implemented.
Updates cause replacement.
Optional property.
Physical ID of the VPC. Not implemented.
Updates cause replacement.
Optional property.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::EC2::SecurityGroup
properties:
GroupDescription: String
SecurityGroupEgress: [{"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, {"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, ...]
SecurityGroupIngress: [{"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, {"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, ...]
VpcId: String
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: String
SecurityGroupEgress: [{"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, {"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, ...]
SecurityGroupIngress: [{"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, {"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, ...]
VpcId: String
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription": String,
"SecurityGroupEgress": [{"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, {"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, ...],
"SecurityGroupIngress": [{"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, {"CidrIp": String, "SourceSecurityGroupId": String, "FromPort": String, "SourceSecurityGroupName": String, "ToPort": String, "IpProtocol": String}, ...],
"VpcId": String
}
}
}
}
Availability zone in which you want the subnet.
Updates cause replacement.
Optional property.
CIDR block to apply to subnet.
Updates cause replacement.
Required property.
Updates cause replacement.
Optional property.
List contents:
Note
Not implemented.
Ref structure that contains the ID of the VPC on which you want to create the subnet.
Updates cause replacement.
Required property.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::EC2::Subnet
properties:
AvailabilityZone: String
CidrBlock: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
VpcId: String
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::EC2::Subnet
Properties:
AvailabilityZone: String
CidrBlock: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
VpcId: String
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::EC2::Subnet",
"Properties": {
"AvailabilityZone": String,
"CidrBlock": String,
"Tags": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...],
"VpcId": String
}
}
}
}
Route table ID.
Updates cause replacement.
Required property.
Subnet ID.
Updates cause replacement.
Required property.
Value must be of type neutron.subnet
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::EC2::SubnetRouteTableAssociation
properties:
RouteTableId: String
SubnetId: String
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
RouteTableId: String
SubnetId: String
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::EC2::SubnetRouteTableAssociation",
"Properties": {
"RouteTableId": String,
"SubnetId": String
}
}
}
}
CIDR block to apply to the VPC.
Updates cause replacement.
Optional property.
Note
Not implemented.
Updates cause replacement.
Optional property.
List contents:
Note
Not implemented.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::EC2::VPC
properties:
CidrBlock: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::EC2::VPC
Properties:
CidrBlock: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::EC2::VPC",
"Properties": {
"CidrBlock": String,
"Tags": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
}
}
}
}
ID of the InternetGateway.
Updates cause replacement.
Optional property.
VPC ID for this gateway association.
Updates cause replacement.
Required property.
Note
Not implemented.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::EC2::VPCGatewayAttachment
properties:
InternetGatewayId: String
VpcId: String
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::EC2::VPCGatewayAttachment
Properties:
InternetGatewayId: String
VpcId: String
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::EC2::VPCGatewayAttachment",
"Properties": {
"InternetGatewayId": String,
"VpcId": String
}
}
}
}
The availability zone in which the volume will be created.
Updates are not supported. Resource update will fail on any attempt to update this property.
Required property.
The size of the volume in GB.
Updates are not supported. Resource update will fail on any attempt to update this property.
Optional property.
The value must be at least 1.
If specified, the backup used as the source to create the volume.
Updates are not supported. Resource update will fail on any attempt to update this property.
Optional property.
The list of tags to associate with the volume.
Updates are not supported. Resource update will fail on any attempt to update this property.
Optional property.
List contents:
Updates cause replacement.
Optional property.
Map properties:
Updates cause replacement.
Required property.
Updates cause replacement.
Required property.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::EC2::Volume
properties:
AvailabilityZone: String
Size: Integer
SnapshotId: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::EC2::Volume
Properties:
AvailabilityZone: String
Size: Integer
SnapshotId: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::EC2::Volume",
"Properties": {
"AvailabilityZone": String,
"Size": Integer,
"SnapshotId": String,
"Tags": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
}
}
}
}
The device where the volume is exposed on the instance. This assignment may not be honored and it is advised that the path /dev/disk/by-id/virtio-<VolumeId> be used instead.
Updates are not supported. Resource update will fail on any attempt to update this property.
Required property.
Value must match pattern: /dev/vd[b-z]
The ID of the instance to which the volume attaches.
Updates are not supported. Resource update will fail on any attempt to update this property.
Required property.
Value must be of type nova.server
The ID of the volume to be attached.
Updates are not supported. Resource update will fail on any attempt to update this property.
Required property.
Value must be of type cinder.volume
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::EC2::VolumeAttachment
properties:
Device: String
InstanceId: String
VolumeId: String
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::EC2::VolumeAttachment
Properties:
Device: String
InstanceId: String
VolumeId: String
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::EC2::VolumeAttachment",
"Properties": {
"Device": String,
"InstanceId": String,
"VolumeId": String
}
}
}
}
Implements a HAProxy-bearing instance as a nested stack.
The template for the nested stack can be redefined with loadbalancer_template option in heat.conf.
Generally the image used for the instance must have the following packages installed or available for installation at runtime:
- heat-cfntools and its dependencies like python-psutil
- cronie
- socat
- haproxy
Current default builtin template uses Fedora 21 x86_64 base cloud image (https://getfedora.org/cloud/download/) and apart from installing packages goes through some hoops around SELinux due to pecularities of heat-cfntools.
Note
Not implemented.
The Availability Zones in which to create the load balancer.
Updates cause replacement.
Required property.
An application health check for the instances.
Updates cause replacement.
Optional property.
Map properties:
The number of consecutive health probe successes required before moving the instance to the healthy state.
Updates cause replacement.
Required property.
The approximate interval, in seconds, between health checks of an individual instance.
Updates cause replacement.
Required property.
The port being checked.
Updates cause replacement.
Required property.
Health probe timeout, in seconds.
Updates cause replacement.
Required property.
The number of consecutive health probe failures required before moving the instance to the unhealthy state
Updates cause replacement.
Required property.
The list of instance IDs load balanced.
Can be updated without replacement.
Optional property.
Note
Not implemented.
One or more listeners for this load balancer.
Updates cause replacement.
Required property.
List contents:
Updates cause replacement.
Optional property.
Map properties:
TCP port on which the instance server is listening.
Updates cause replacement.
Required property.
The external load balancer port number.
Updates cause replacement.
Required property.
Note
Not implemented.
The load balancer transport protocol to use.
Updates cause replacement.
Required property.
Allowed values: TCP, HTTP
Note
Not implemented.
Note
Not implemented.
Note
Not implemented.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::ElasticLoadBalancing::LoadBalancer
properties:
AvailabilityZones: [Value, Value, ...]
HealthCheck: {"HealthyThreshold": Number, "Interval": Number, "Target": String, "Timeout": Number, "UnhealthyThreshold": Number}
Instances: [Value, Value, ...]
Listeners: [{"InstancePort": Number, "LoadBalancerPort": Number, "Protocol": String}, {"InstancePort": Number, "LoadBalancerPort": Number, "Protocol": String}, ...]
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::ElasticLoadBalancing::LoadBalancer
Properties:
AvailabilityZones: [Value, Value, ...]
HealthCheck: {"HealthyThreshold": Number, "Interval": Number, "Target": String, "Timeout": Number, "UnhealthyThreshold": Number}
Instances: [Value, Value, ...]
Listeners: [{"InstancePort": Number, "LoadBalancerPort": Number, "Protocol": String}, {"InstancePort": Number, "LoadBalancerPort": Number, "Protocol": String}, ...]
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::ElasticLoadBalancing::LoadBalancer",
"Properties": {
"AvailabilityZones": [Value, Value, ...],
"HealthCheck": {"HealthyThreshold": Number, "Interval": Number, "Target": String, "Timeout": Number, "UnhealthyThreshold": Number},
"Instances": [Value, Value, ...],
"Listeners": [{"InstancePort": Number, "LoadBalancerPort": Number, "Protocol": String}, {"InstancePort": Number, "LoadBalancerPort": Number, "Protocol": String}, ...]
}
}
}
}
Note
Not implemented.
Note
Not implemented.
The name of the user that the new key will belong to.
Updates cause replacement.
Required property.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::IAM::AccessKey
properties:
UserName: String
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::IAM::AccessKey
Properties:
UserName: String
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::IAM::AccessKey",
"Properties": {
"UserName": String
}
}
}
}
Not Implemented.
Updates cause replacement.
Optional property.
A login profile for the user.
Updates cause replacement.
Optional property.
Map properties:
Updates cause replacement.
Optional property.
Not Implemented.
Updates cause replacement.
Optional property.
Access policies to apply to the user.
Updates cause replacement.
Optional property.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::IAM::User
properties:
Groups: [Value, Value, ...]
LoginProfile: {"Password": String}
Path: String
Policies: [Value, Value, ...]
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::IAM::User
Properties:
Groups: [Value, Value, ...]
LoginProfile: {"Password": String}
Path: String
Policies: [Value, Value, ...]
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::IAM::User",
"Properties": {
"Groups": [Value, Value, ...],
"LoginProfile": {"Password": String},
"Path": String,
"Policies": [Value, Value, ...]
}
}
}
}
Can be updated without replacement.
Required property.
Can be updated without replacement.
Required property.
Can be updated without replacement.
Required property.
Can be updated without replacement.
Optional property.
Can be updated without replacement.
Required property.
Allowed values: MySQL
Can be updated without replacement.
Optional property.
Can be updated without replacement.
Required property.
Can be updated without replacement.
Required property.
Can be updated without replacement.
Optional property.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::RDS::DBInstance
properties:
AllocatedStorage: String
DBInstanceClass: String
DBName: String
DBSecurityGroups: [Value, Value, ...]
Engine: String
KeyName: String
MasterUserPassword: String
MasterUsername: String
Port: String
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::RDS::DBInstance
Properties:
AllocatedStorage: String
DBInstanceClass: String
DBName: String
DBSecurityGroups: [Value, Value, ...]
Engine: String
KeyName: String
MasterUserPassword: String
MasterUsername: String
Port: String
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::RDS::DBInstance",
"Properties": {
"AllocatedStorage": String,
"DBInstanceClass": String,
"DBName": String,
"DBSecurityGroups": [Value, Value, ...],
"Engine": String,
"KeyName": String,
"MasterUserPassword": String,
"MasterUsername": String,
"Port": String
}
}
}
}
A predefined access control list (ACL) that grants permissions on the bucket.
Updates cause replacement.
Optional property.
Allowed values: Private, PublicRead, PublicReadWrite, AuthenticatedRead, BucketOwnerRead, BucketOwnerFullControl
Tags to attach to the bucket.
Updates cause replacement.
Optional property.
List contents:
Updates cause replacement.
Optional property.
Map properties:
The tag key name.
Updates cause replacement.
Required property.
The tag value.
Updates cause replacement.
Required property.
Information used to configure the bucket as a static website.
Updates cause replacement.
Optional property.
Map properties:
The name of the error document.
Updates cause replacement.
Optional property.
The name of the index document.
Updates cause replacement.
Optional property.
heat_template_version: 2013-05-23
...
resources:
...
the_resource:
type: AWS::S3::Bucket
properties:
AccessControl: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
WebsiteConfiguration: {"IndexDocument": String, "ErrorDocument": String}
HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
...
TheResource:
Type: AWS::S3::Bucket
Properties:
AccessControl: String
Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
WebsiteConfiguration: {"IndexDocument": String, "ErrorDocument": String}
{
"AWSTemplateFormatVersion" : "2010-09-09",
...
"Resources" : {
"TheResource": {
"Type": "AWS::S3::Bucket",
"Properties": {
"AccessControl": String,
"Tags": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...],
"WebsiteConfiguration": {"IndexDocument": String, "ErrorDocument": String}
}
}
}
}