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} } } } }