Note
Note
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, ...]
true
Note
Note
Detailed information about resource.
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
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::AutoScaling::ScalingPolicy
properties:
AdjustmentType: String
AutoScalingGroupName: String
Cooldown: Integer
MinAdjustmentStep: Integer
ScalingAdjustment: Integer
Represents a child stack to allow composition of templates.
Detailed information about resource.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::Stack
properties:
Parameters: {...}
TemplateURL: String
TimeoutInMinutes: Integer
1
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::WaitCondition
properties:
Count: Integer
Handle: String
Timeout: Integer
AWS WaitConditionHandle resource.
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.
Detailed information about resource.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::WaitConditionHandle
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::EIP
properties:
InstanceId: String
Detailed information about resource.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::EIPAssociation
properties:
AllocationId: String
EIP: String
InstanceId: String
NetworkInterfaceId: String
true
Note
Note
Note
Note
Note
Note
Note
Note
[]
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}, ...]
Detailed information about resource.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::InternetGateway
properties:
Tags: [{"Key": String, "Value": String}, {"Key": String, "Value": String}, ...]
Note
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}, ...]
Detailed information about resource.
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
Detailed information about resource.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::SecurityGroup
properties:
GroupDescription: String
SecurityGroupEgress: [{"CidrIp": String, "FromPort": String, "ToPort": String, "IpProtocol": String, "SourceSecurityGroupId": String, "SourceSecurityGroupName": String}, {"CidrIp": String, "FromPort": String, "ToPort": String, "IpProtocol": String, "SourceSecurityGroupId": String, "SourceSecurityGroupName": String}, ...]
SecurityGroupIngress: [{"CidrIp": String, "FromPort": String, "ToPort": String, "IpProtocol": String, "SourceSecurityGroupId": String, "SourceSecurityGroupName": String}, {"CidrIp": String, "FromPort": String, "ToPort": String, "IpProtocol": String, "SourceSecurityGroupId": String, "SourceSecurityGroupName": String}, ...]
VpcId: String
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
Detailed information about resource.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::SubnetRouteTableAssociation
properties:
RouteTableId: String
SubnetId: String
Detailed information about resource.
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}, ...]
Detailed information about resource.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::VPCGatewayAttachment
properties:
InternetGatewayId: String
VpcId: String
Detailed information about resource.
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}, ...]
Detailed information about resource.
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.
Note
Note
Note
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, "Interval": Integer, "Target": String, "Timeout": Integer, "UnhealthyThreshold": Integer}
Instances: [Value, Value, ...]
Listeners: [{"InstancePort": Integer, "LoadBalancerPort": Integer, "Protocol": String}, {"InstancePort": Integer, "LoadBalancerPort": Integer, "Protocol": String}, ...]
SecurityGroups: [Value, Value, ...]
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::IAM::AccessKey
properties:
UserName: String
Detailed information about resource.
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, ...]
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}
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.