Note
Available since 2014.1 (Icehouse)
Maximum number of instances in the group.
Integer value expected.
Can be updated without replacement.
Minimum number of instances in the group.
Integer value expected.
Can be updated without replacement.
Desired initial number of instances.
Integer value expected.
Can be updated without replacement.
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.
String value expected.
Updates cause replacement.
Value must be of type nova.server
The reference to a LaunchConfiguration resource.
String value expected.
Can be updated without replacement.
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.
List value expected.
Updates cause replacement.
List contents:
*¶
UUID of the internal subnet to which the instance will be attached.
String value expected.
Updates cause replacement.
A comma-delimited list of server ip addresses. (Heat extension).
Detailed information about resource.
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, ...]
Block device mappings to attach to instance.
List value expected.
Updates cause replacement.
List contents:
*¶
Map value expected.
Updates cause replacement.
Map properties:
DeviceName¶
A device name where the volume will be attached in the system at /dev/device_name.e.g. vdb
String value expected.
Updates cause replacement.
Ebs¶
The ebs volume to attach to the instance.
Map value expected.
Updates cause replacement.
Map properties:
DeleteOnTermination¶ Indicate whether the volume should be deleted when the instance is terminated.
Boolean value expected.
Updates cause replacement.
Defaults to “True”.
Iops¶ Note
Not implemented.
SnapshotId¶ The ID of the snapshot to create a volume from.
String value expected.
Updates cause replacement.
Value must be of type cinder.snapshot
VolumeSize¶ 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.
String value expected.
Updates cause replacement.
VolumeType¶ Note
Not implemented.
NoDevice¶
Note
Not implemented.
VirtualName¶
Note
Not implemented.
Glance image ID or name.
String value expected.
Updates cause replacement.
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.
String value expected.
Updates cause replacement.
Value must be of type nova.server
Nova instance type (flavor).
String value expected.
Updates cause replacement.
Value must be of type nova.flavor
Note
Not implemented.
Optional Nova keypair name.
String value expected.
Updates cause replacement.
Value must be of type nova.keypair
Scheduler hints to pass to Nova (Heat extension).
List value expected.
Updates cause replacement.
List contents:
Note
Not implemented.
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
Type of adjustment (absolute or percentage).
String value expected.
Can be updated without replacement.
Allowed values: ChangeInCapacity, ExactCapacity, PercentChangeInCapacity
AutoScaling group name to apply policy to.
String value expected.
Updates cause replacement.
Minimum number of resources that are added or removed when the AutoScaling group scales up or down. This can be used only when specifying PercentChangeInCapacity for the AdjustmentType property.
Integer value expected.
Can be updated without replacement.
The value must be at least 0.
A signed url to handle the alarm. (Heat extension).
Detailed information about resource.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::AutoScaling::ScalingPolicy
properties:
AdjustmentType: String
AutoScalingGroupName: String
Cooldown: Integer
MinAdjustmentStep: Integer
ScalingAdjustment: Integer
A Resource representing a child stack to allow composition of templates.
The URL of a template that specifies the stack to be created as a resource.
String value expected.
Can be updated without replacement.
The set of parameters passed to this nested stack.
Map value expected.
Can be updated without replacement.
The length of time, in minutes, to wait for the nested stack creation.
Integer value expected.
Can be updated without replacement.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::Stack
properties:
Parameters: {...}
TemplateURL: String
TimeoutInMinutes: Integer
Note
Available since 2014.1 (Icehouse)
A reference to the wait condition handle used to signal this wait condition.
String value expected.
Updates cause replacement.
The number of seconds to wait for the correct number of signals to arrive.
Integer value expected.
Updates cause replacement.
The value must be in the range 1 to 43200.
The number of success signals that must be received before the stack creation process continues.
Integer value expected.
Can be updated without replacement.
Defaults to “1”.
The value must be at least 1.
JSON string containing data associated with wait condition signals sent to the handle.
Detailed information about resource.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::WaitCondition
properties:
Count: Integer
Handle: String
Timeout: Integer
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: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::WaitConditionHandle
Set to “vpc” to have IP address allocation associated to your VPC.
String value expected.
Updates cause replacement.
Allowed values: vpc
Instance ID to associate with EIP.
String value expected.
Can be updated without replacement.
Value must be of type nova.server
ID that AWS assigns to represent the allocation of the address for use with Amazon VPC. Returned only for VPC elastic IP addresses.
Detailed information about resource.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::EIP
properties:
Domain: String
InstanceId: String
Allocation ID for VPC EIP address.
String value expected.
Can be updated without replacement.
EIP address to associate with instance.
String value expected.
Can be updated without replacement.
Value must be of type ip_addr
Instance ID to associate with EIP specified by EIP property.
String value expected.
Can be updated without replacement.
Value must be of type nova.server
Network interface ID to associate with EIP.
String value expected.
Can be updated without replacement.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::EIPAssociation
properties:
AllocationId: String
EIP: String
InstanceId: String
NetworkInterfaceId: String
Glance image ID or name.
String value expected.
Updates cause replacement.
Value must be of type glance.image
Nova instance type (flavor).
String value expected.
Can be updated without replacement.
Value must be of type nova.flavor
Availability zone to launch the instance in.
String value expected.
Updates cause replacement.
Block device mappings to attach to instance.
List value expected.
Updates cause replacement.
List contents:
*¶
Map value expected.
Updates cause replacement.
Map properties:
DeviceName¶
A device name where the volume will be attached in the system at /dev/device_name.e.g. vdb
String value expected.
Updates cause replacement.
Ebs¶
The ebs volume to attach to the instance.
Map value expected.
Updates cause replacement.
Map properties:
DeleteOnTermination¶ Indicate whether the volume should be deleted when the instance is terminated.
Boolean value expected.
Updates cause replacement.
Defaults to “True”.
Iops¶ Note
Not implemented.
SnapshotId¶ The ID of the snapshot to create a volume from.
String value expected.
Updates cause replacement.
Value must be of type cinder.snapshot
VolumeSize¶ 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.
String value expected.
Updates cause replacement.
VolumeType¶ Note
Not implemented.
NoDevice¶
Note
Not implemented.
VirtualName¶
Note
Not implemented.
Note
Not implemented.
Note
Not implemented.
Optional Nova keypair name.
String value expected.
Updates cause replacement.
Value must be of type nova.keypair
Note
Not implemented.
Network interfaces to associate with instance.
List value expected.
Can be updated without replacement.
Scheduler hints to pass to Nova (Heat extension).
List value expected.
Updates cause replacement.
List contents:
Note
Not implemented.
Note
Not implemented.
Note
Not implemented.
Note
Not implemented.
Subnet ID to launch instance in.
String value expected.
Can be updated without replacement.
Tags to attach to instance.
List value expected.
Can be updated without replacement.
List contents:
Note
Not implemented.
Volumes to attach to instance.
List value expected.
Updates cause replacement.
Defaults to “[]”.
List contents:
*¶
Map value expected.
Updates cause replacement.
Map properties:
Device¶
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.
String value expected.
Updates cause replacement.
VolumeId¶
The ID of the volume to be attached.
String value expected.
Updates cause replacement.
Value must be of type cinder.volume
The Availability Zone where the specified instance is launched.
Private DNS name of the specified instance.
Private IP address of the specified instance.
Public DNS name of the specified instance.
Public IP address of the specified instance.
Detailed information about resource.
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}, ...]
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::InternetGateway
properties:
Tags: [{"Key": String, "Value": String}, {"Key": String, "Value": String}, ...]
Subnet ID to associate with this interface.
String value expected.
Updates cause replacement.
Value must be of type neutron.subnet
List of security group IDs associated with this interface.
List value expected.
Can be updated without replacement.
Note
Not implemented.
Private IP address of the network interface.
Detailed information about resource.
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}, ...]
Note
Available since 2014.1 (Icehouse)
VPC ID for where the route table is created.
String value expected.
Updates cause replacement.
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
Description of the security group.
String value expected.
Updates cause replacement.
List value expected.
Can be updated without replacement.
List contents:
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::SecurityGroup
properties:
GroupDescription: String
SecurityGroupEgress: [{"SourceSecurityGroupName": String, "SourceSecurityGroupId": String, "FromPort": String, "CidrIp": String, "ToPort": String, "IpProtocol": String}, {"SourceSecurityGroupName": String, "SourceSecurityGroupId": String, "FromPort": String, "CidrIp": String, "ToPort": String, "IpProtocol": String}, ...]
SecurityGroupIngress: [{"SourceSecurityGroupName": String, "SourceSecurityGroupId": String, "FromPort": String, "CidrIp": String, "ToPort": String, "IpProtocol": String}, {"SourceSecurityGroupName": String, "SourceSecurityGroupId": String, "FromPort": String, "CidrIp": String, "ToPort": String, "IpProtocol": String}, ...]
VpcId: String
Ref structure that contains the ID of the VPC on which you want to create the subnet.
String value expected.
Updates cause replacement.
Availability zone in which you want the subnet.
String value expected.
Updates cause replacement.
Availability Zone of the subnet.
Detailed information about resource.
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
Subnet ID.
String value expected.
Updates cause replacement.
Value must be of type neutron.subnet
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::SubnetRouteTableAssociation
properties:
RouteTableId: String
SubnetId: String
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}, ...]
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::VPCGatewayAttachment
properties:
InternetGatewayId: String
VpcId: String
The availability zone in which the volume will be created.
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
The size of the volume in GB.
Integer value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
The value must be at least 1.
If specified, the backup used as the source to create the volume.
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
Value must be of type cinder.backup
The list of tags to associate with the volume.
List value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
List contents:
*¶
Map value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
Map properties:
Key¶
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
Value¶
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
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}, ...]
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.
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
Value must match pattern: /dev/vd[b-z]
The ID of the instance to which the volume attaches.
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
Value must be of type nova.server
The ID of the volume to be attached.
String value expected.
Updates are not supported. Resource update will fail on any attempt to update this property.
Value must be of type cinder.volume
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
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.
The Availability Zones in which to create the load balancer.
List value expected.
Updates cause replacement.
One or more listeners for this load balancer.
List value expected.
Updates cause replacement.
List contents:
*¶
Map value expected.
Updates cause replacement.
Map properties:
InstancePort¶
TCP port on which the instance server is listening.
Integer value expected.
Updates cause replacement.
LoadBalancerPort¶
The external load balancer port number.
Integer value expected.
Updates cause replacement.
PolicyNames¶
Note
Not implemented.
Protocol¶
The load balancer transport protocol to use.
String value expected.
Updates cause replacement.
Allowed values: TCP, HTTP
SSLCertificateId¶
Note
Not implemented.
Note
Not implemented.
An application health check for the instances.
Map value expected.
Updates cause replacement.
Map properties:
HealthyThreshold¶
The number of consecutive health probe successes required before moving the instance to the healthy state.
Integer value expected.
Updates cause replacement.
Interval¶
The approximate interval, in seconds, between health checks of an individual instance.
Integer value expected.
Updates cause replacement.
UnhealthyThreshold¶
The number of consecutive health probe failures required before moving the instance to the unhealthy state
Integer value expected.
Updates cause replacement.
The list of instance IDs load balanced.
List value expected.
Can be updated without replacement.
Note
Not implemented.
List of Security Groups assigned on current LB.
List value expected.
Can be updated without replacement.
Note
Not implemented.
The name of the hosted zone that is associated with the LoadBalancer.
The ID of the hosted zone name that is associated with the LoadBalancer.
The DNS name for the LoadBalancer.
The security group that you can use as part of your inbound rules for your LoadBalancer’s back-end instances.
Owner of the source security group.
Detailed information about resource.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::ElasticLoadBalancing::LoadBalancer
properties:
AvailabilityZones: [Value, Value, ...]
HealthCheck: {"HealthyThreshold": Integer, "Target": String, "UnhealthyThreshold": Integer, "Interval": Integer, "Timeout": Integer}
Instances: [Value, Value, ...]
Listeners: [{"InstancePort": Integer, "Protocol": String, "LoadBalancerPort": Integer}, {"InstancePort": Integer, "Protocol": String, "LoadBalancerPort": Integer}, ...]
SecurityGroups: [Value, Value, ...]
The name of the user that the new key will belong to.
String value expected.
Updates cause replacement.
Keypair secret key.
Username associated with the AccessKey.
Detailed information about resource.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::IAM::AccessKey
properties:
UserName: String
A login profile for the user.
Map value expected.
Updates cause replacement.
Map properties:
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, ...]
A predefined access control list (ACL) that grants permissions on the bucket.
String value expected.
Updates cause replacement.
Allowed values: Private, PublicRead, PublicReadWrite, AuthenticatedRead, BucketOwnerRead, BucketOwnerFullControl
Information used to configure the bucket as a static website.
Map value expected.
Updates cause replacement.
Map properties:
The DNS name of the specified bucket.
The website endpoint for the specified bucket.
Detailed information about resource.
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}