Available since 2014.1 (Icehouse)
Utility class to encapsulate Cooldown related logic.
This logic includes both cooldown timestamp comparing and scaling in progress checking.
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
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
A resource to manage scaling of OS::Heat::AutoScalingGroup.
Note while it may incidentally support AWS::AutoScaling::AutoScalingGroup for now, please don’t use it for that purpose and use AWS::AutoScaling::ScalingPolicy instead.
Resource to manage scaling for OS::Heat::AutoScalingGroup, i.e. define which metric should be scaled and scaling adjustment, set cooldown etc.
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.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::Stack
properties:
Parameters: {...}
TemplateURL: String
TimeoutInMinutes: Integer
Available since 2014.1 (Icehouse)
Resource for handling signals received by WaitConditionHandle.
Resource takes WaitConditionHandle and starts to create. Resource is in CREATE_IN_PROGRESS status until WaitConditionHandle doesn’t receive sufficient number of successful signals (this number can be specified with count property) and successfully creates after that, or fails due to timeout.
1
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::WaitCondition
properties:
Count: Integer
Handle: String
Timeout: Integer
Available since 2014.1 (Icehouse)
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.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::CloudFormation::WaitConditionHandle
DEPRECATED since 9.0.0 (Pike) - Now we only allow vpc here, so no need to set up this tag anymore.
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::EIP
properties:
InstanceId: String
heat_template_version: 2015-04-30
...
resources:
...
the_resource:
type: AWS::EC2::EIPAssociation
properties:
AllocationId: String
EIP: String
InstanceId: String
NetworkInterfaceId: String
Utility class to encapsulate Scheduler Hint related logic.
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}, ...]
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}, ...]
Available since 2014.1 (Icehouse)
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
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
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
Base Volume Manager.
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}, ...]
Base Volume Attachment Manager.
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
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.