CloudFormation Compatible Resource Types

AWS::AutoScaling::AutoScalingGroup

Note

Available since 2014.1 (Icehouse)

Properties

AvailabilityZones : List

Not Implemented.

Updates cause replacement.

Required property.

Cooldown : Number

Cooldown period, in seconds.

Can be updated without replacement.

Optional property.

DesiredCapacity : Integer

Desired initial number of instances.

Can be updated without replacement.

Optional property.

HealthCheckGracePeriod : Integer

Note

Not implemented.

HealthCheckType : String

Note

Not implemented.

InstanceId : String

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

LaunchConfigurationName : String

The reference to a LaunchConfiguration resource.

Can be updated without replacement.

Optional property.

LoadBalancerNames : List

List of LoadBalancer resources.

Updates cause replacement.

Optional property.

MaxSize : Integer

Maximum number of instances in the group.

Can be updated without replacement.

Required property.

MinSize : Integer

Minimum number of instances in the group.

Can be updated without replacement.

Required property.

Tags : List

Tags to attach to this group.

Updates cause replacement.

Optional property.

List contents:

* : Map

Updates cause replacement.

Optional property.

Map properties:

Key : String

Updates cause replacement.

Required property.

Value : String

Updates cause replacement.

Required property.

VPCZoneIdentifier : List

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:

* : String

UUID of the internal subnet to which the instance will be attached.

Updates cause replacement.

Optional property.

Attributes

InstanceList
A comma-delimited list of server ip addresses. (Heat extension).

HOT Syntax

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, ...]

YAML Syntax

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, ...]

JSON Syntax

{
  "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, ...]
      }
    }
  }
}

AWS::AutoScaling::LaunchConfiguration

Properties

BlockDeviceMappings : List

Block device mappings to attach to instance.

Updates cause replacement.

Optional property.

List contents:

* : Map

Updates cause replacement.

Optional property.

Map properties:

DeviceName : String

A device name where the volume will be attached in the system at /dev/device_name.e.g. vdb

Updates cause replacement.

Required property.

Ebs : Map

The ebs volume to attach to the instance.

Updates cause replacement.

Optional property.

Map properties:

DeleteOnTermination : Boolean

Indicate whether the volume should be deleted when the instance is terminated.

Updates cause replacement.

Optional property, defaults to “True”.

Iops : Number

Note

Not implemented.

SnapshotId : String

The ID of the snapshot to create a volume from.

Updates cause replacement.

Optional property.

Value must be of type cinder.snapshot

VolumeSize : String

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.

VolumeType : String

Note

Not implemented.

NoDevice : Map

Note

Not implemented.

VirtualName : String

Note

Not implemented.

ImageId : String

Glance image ID or name.

Updates cause replacement.

Optional property.

Value must be of type glance.image

InstanceId : String

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

InstanceType : String

Nova instance type (flavor).

Updates cause replacement.

Optional property.

Value must be of type nova.flavor

KernelId : String

Note

Not implemented.

KeyName : String

Optional Nova keypair name.

Updates cause replacement.

Optional property.

Value must be of type nova.keypair

NovaSchedulerHints : List

Scheduler hints to pass to Nova (Heat extension).

Updates cause replacement.

Optional property.

List contents:

* : Map

Updates cause replacement.

Optional property.

Map properties:

Key : String

Updates cause replacement.

Required property.

Value : String

Updates cause replacement.

Required property.

RamDiskId : String

Note

Not implemented.

SecurityGroups : List

Security group names to assign.

Updates cause replacement.

Optional property.

UserData : String

User data to pass to instance.

Updates cause replacement.

Optional property.

HOT Syntax

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

YAML Syntax

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

JSON Syntax

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

AWS::AutoScaling::ScalingPolicy

Properties

AdjustmentType : String

Type of adjustment (absolute or percentage).

Can be updated without replacement.

Required property.

Allowed values: ChangeInCapacity, ExactCapacity, PercentChangeInCapacity

AutoScalingGroupName : String

AutoScaling group name to apply policy to.

Updates cause replacement.

Required property.

Cooldown : Number

Cooldown period, in seconds.

Can be updated without replacement.

Optional property.

ScalingAdjustment : Number

Size of adjustment.

Can be updated without replacement.

Required property.

Attributes

AlarmUrl
A signed url to handle the alarm. (Heat extension).

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: AWS::AutoScaling::ScalingPolicy
    properties:
      AdjustmentType: String
      AutoScalingGroupName: String
      Cooldown: Number
      ScalingAdjustment: Number

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::AutoScaling::ScalingPolicy
    Properties:
      AdjustmentType: String
      AutoScalingGroupName: String
      Cooldown: Number
      ScalingAdjustment: Number

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::AutoScaling::ScalingPolicy",
      "Properties": {
        "AdjustmentType": String,
        "AutoScalingGroupName": String,
        "Cooldown": Number,
        "ScalingAdjustment": Number
      }
    }
  }
}

AWS::CloudFormation::Stack

A Resource representing a child stack to allow composition of templates.

Properties

Parameters : Map

The set of parameters passed to this nested stack.

Can be updated without replacement.

Optional property.

TemplateURL : String

The URL of a template that specifies the stack to be created as a resource.

Can be updated without replacement.

Required property.

TimeoutInMinutes : Number

The length of time, in minutes, to wait for the nested stack creation.

Can be updated without replacement.

Optional property.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: AWS::CloudFormation::Stack
    properties:
      Parameters: {...}
      TemplateURL: String
      TimeoutInMinutes: Number

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::CloudFormation::Stack
    Properties:
      Parameters: {...}
      TemplateURL: String
      TimeoutInMinutes: Number

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::CloudFormation::Stack",
      "Properties": {
        "Parameters": {...},
        "TemplateURL": String,
        "TimeoutInMinutes": Number
      }
    }
  }
}

AWS::CloudFormation::WaitCondition

Note

Available since 2014.1 (Icehouse)

Properties

Count : Number

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.

Handle : String

A reference to the wait condition handle used to signal this wait condition.

Updates cause replacement.

Required property.

Timeout : Number

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.

Attributes

Data
JSON serialized dict containing data associated with wait condition signals sent to the handle.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: AWS::CloudFormation::WaitCondition
    properties:
      Count: Number
      Handle: String
      Timeout: Number

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::CloudFormation::WaitCondition
    Properties:
      Count: Number
      Handle: String
      Timeout: Number

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::CloudFormation::WaitCondition",
      "Properties": {
        "Count": Number,
        "Handle": String,
        "Timeout": Number
      }
    }
  }
}

AWS::CloudFormation::WaitConditionHandle

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.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: AWS::CloudFormation::WaitConditionHandle

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::CloudFormation::WaitConditionHandle

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::CloudFormation::WaitConditionHandle"
    }
  }
}

AWS::CloudWatch::Alarm

Properties

AlarmActions : List

Can be updated without replacement.

Optional property.

AlarmDescription : String

Can be updated without replacement.

Optional property.

ComparisonOperator : String

Can be updated without replacement.

Required property.

Allowed values: GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold

Dimensions : List

Can be updated without replacement.

Optional property.

EvaluationPeriods : String

Can be updated without replacement.

Required property.

InsufficientDataActions : List

Can be updated without replacement.

Optional property.

MetricName : String

Can be updated without replacement.

Required property.

Namespace : String

Can be updated without replacement.

Optional property.

OKActions : List

Can be updated without replacement.

Optional property.

Period : String

Can be updated without replacement.

Required property.

Statistic : String

Can be updated without replacement.

Required property.

Allowed values: SampleCount, Average, Sum, Minimum, Maximum

Threshold : String

Can be updated without replacement.

Required property.

Units : String

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

HOT Syntax

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

YAML Syntax

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

JSON Syntax

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

AWS::EC2::EIP

Properties

Domain : String

Set to “vpc” to have IP address allocation associated to your VPC.

Updates cause replacement.

Optional property.

Allowed values: vpc

InstanceId : String

Instance ID to associate with EIP.

Can be updated without replacement.

Optional property.

Value must be of type nova.server

Attributes

AllocationId
ID that AWS assigns to represent the allocation of the address for use with Amazon VPC. Returned only for VPC elastic IP addresses.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: AWS::EC2::EIP
    properties:
      Domain: String
      InstanceId: String

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::EC2::EIP
    Properties:
      Domain: String
      InstanceId: String

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::EC2::EIP",
      "Properties": {
        "Domain": String,
        "InstanceId": String
      }
    }
  }
}

AWS::EC2::EIPAssociation

Properties

AllocationId : String

Allocation ID for VPC EIP address.

Can be updated without replacement.

Optional property.

EIP : String

EIP address to associate with instance.

Can be updated without replacement.

Optional property.

InstanceId : String

Instance ID to associate with EIP specified by EIP property.

Can be updated without replacement.

Optional property.

Value must be of type nova.server

NetworkInterfaceId : String

Network interface ID to associate with EIP.

Can be updated without replacement.

Optional property.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: AWS::EC2::EIPAssociation
    properties:
      AllocationId: String
      EIP: String
      InstanceId: String
      NetworkInterfaceId: String

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::EC2::EIPAssociation
    Properties:
      AllocationId: String
      EIP: String
      InstanceId: String
      NetworkInterfaceId: String

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::EC2::EIPAssociation",
      "Properties": {
        "AllocationId": String,
        "EIP": String,
        "InstanceId": String,
        "NetworkInterfaceId": String
      }
    }
  }
}

AWS::EC2::Instance

Properties

AvailabilityZone : String

Availability zone to launch the instance in.

Updates cause replacement.

Optional property.

BlockDeviceMappings : List

Block device mappings to attach to instance.

Updates cause replacement.

Optional property.

List contents:

* : Map

Updates cause replacement.

Optional property.

Map properties:

DeviceName : String

A device name where the volume will be attached in the system at /dev/device_name.e.g. vdb

Updates cause replacement.

Required property.

Ebs : Map

The ebs volume to attach to the instance.

Updates cause replacement.

Optional property.

Map properties:

DeleteOnTermination : Boolean

Indicate whether the volume should be deleted when the instance is terminated.

Updates cause replacement.

Optional property, defaults to “True”.

Iops : Number

Note

Not implemented.

SnapshotId : String

The ID of the snapshot to create a volume from.

Updates cause replacement.

Optional property.

Value must be of type cinder.snapshot

VolumeSize : String

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.

VolumeType : String

Note

Not implemented.

NoDevice : Map

Note

Not implemented.

VirtualName : String

Note

Not implemented.

DisableApiTermination : String

Note

Not implemented.

ImageId : String

Glance image ID or name.

Updates cause replacement.

Required property.

Value must be of type glance.image

InstanceType : String

Nova instance type (flavor).

Can be updated without replacement.

Required property.

Value must be of type nova.flavor

KernelId : String

Note

Not implemented.

KeyName : String

Optional Nova keypair name.

Updates cause replacement.

Optional property.

Value must be of type nova.keypair

Monitoring : Boolean

Note

Not implemented.

NetworkInterfaces : List

Network interfaces to associate with instance.

Can be updated without replacement.

Optional property.

NovaSchedulerHints : List

Scheduler hints to pass to Nova (Heat extension).

Updates cause replacement.

Optional property.

List contents:

* : Map

Updates cause replacement.

Optional property.

Map properties:

Key : String

Updates cause replacement.

Required property.

Value : String

Updates cause replacement.

Required property.

PlacementGroupName : String

Note

Not implemented.

PrivateIpAddress : String

Note

Not implemented.

RamDiskId : String

Note

Not implemented.

SecurityGroupIds : List

Security group IDs to assign.

Updates cause replacement.

Optional property.

SecurityGroups : List

Security group names to assign.

Updates cause replacement.

Optional property.

SourceDestCheck : Boolean

Note

Not implemented.

SubnetId : String

Subnet ID to launch instance in.

Can be updated without replacement.

Optional property.

Tags : List

Tags to attach to instance.

Can be updated without replacement.

Optional property.

List contents:

* : Map

Updates cause replacement.

Optional property.

Map properties:

Key : String

Updates cause replacement.

Required property.

Value : String

Updates cause replacement.

Required property.

Tenancy : String

Note

Not implemented.

UserData : String

User data to pass to instance.

Updates cause replacement.

Optional property.

Volumes : List

Volumes to attach to instance.

Updates cause replacement.

Optional property, defaults to “[]”.

List contents:

* : Map

Updates cause replacement.

Optional property.

Map properties:

Device : 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 cause replacement.

Required property.

VolumeId : String

The ID of the volume to be attached.

Updates cause replacement.

Required property.

Value must be of type cinder.volume

Attributes

AvailabilityZone
The Availability Zone where the specified instance is launched.
PrivateDnsName
Private DNS name of the specified instance.
PrivateIp
Private IP address of the specified instance.
PublicDnsName
Public DNS name of the specified instance.
PublicIp
Public IP address of the specified instance.

HOT Syntax

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}, ...]

YAML Syntax

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}, ...]

JSON Syntax

{
  "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}, ...]
      }
    }
  }
}

AWS::EC2::InternetGateway

Properties

Tags : List

Updates cause replacement.

Optional property.

List contents:

* : Map

Note

Not implemented.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: AWS::EC2::InternetGateway
    properties:
      Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::EC2::InternetGateway",
      "Properties": {
        "Tags": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
      }
    }
  }
}

AWS::EC2::NetworkInterface

Properties

Description : String

Description for this interface.

Updates cause replacement.

Optional property.

GroupSet : List

List of security group IDs associated with this interface.

Can be updated without replacement.

Optional property.

PrivateIpAddress : String

Updates cause replacement.

Optional property.

SourceDestCheck : Boolean

Note

Not implemented.

SubnetId : String

Subnet ID to associate with this interface.

Updates cause replacement.

Required property.

Value must be of type neutron.subnet

Tags : List

Updates cause replacement.

Optional property.

List contents:

* : Map

Note

Not implemented.

Attributes

PrivateIpAddress
Private IP address of the network interface.

HOT Syntax

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}, ...]

YAML Syntax

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}, ...]

JSON Syntax

{
  "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}, ...]
      }
    }
  }
}

AWS::EC2::RouteTable

Note

Available since 2014.1 (Icehouse)

Properties

Tags : List

Updates cause replacement.

Optional property.

List contents:

* : Map

Note

Not implemented.

VpcId : String

VPC ID for where the route table is created.

Updates cause replacement.

Required property.

HOT Syntax

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

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::EC2::RouteTable
    Properties:
      Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
      VpcId: String

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::EC2::RouteTable",
      "Properties": {
        "Tags": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...],
        "VpcId": String
      }
    }
  }
}

AWS::EC2::SecurityGroup

Properties

GroupDescription : String

Description of the security group.

Updates cause replacement.

Required property.

SecurityGroupEgress : List

Can be updated without replacement.

Optional property.

List contents:

* : Map

List of security group egress rules.

Updates cause replacement.

Optional property.

Map properties:

CidrIp : String

Updates cause replacement.

Optional property.

FromPort : String

Updates cause replacement.

Optional property.

IpProtocol : String

Updates cause replacement.

Optional property.

SourceSecurityGroupId : String

Updates cause replacement.

Optional property.

SourceSecurityGroupName : String

Updates cause replacement.

Optional property.

SourceSecurityGroupOwnerId : String

Note

Not implemented.

ToPort : String

Updates cause replacement.

Optional property.

SecurityGroupIngress : List

Can be updated without replacement.

Optional property.

List contents:

* : Map

List of security group ingress rules.

Updates cause replacement.

Optional property.

Map properties:

CidrIp : String

Updates cause replacement.

Optional property.

FromPort : String

Updates cause replacement.

Optional property.

IpProtocol : String

Updates cause replacement.

Optional property.

SourceSecurityGroupId : String

Updates cause replacement.

Optional property.

SourceSecurityGroupName : String

Updates cause replacement.

Optional property.

SourceSecurityGroupOwnerId : String

Note

Not implemented.

ToPort : String

Updates cause replacement.

Optional property.

VpcId : String

Physical ID of the VPC. Not implemented.

Updates cause replacement.

Optional property.

HOT Syntax

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

YAML Syntax

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

JSON Syntax

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

AWS::EC2::Subnet

Properties

AvailabilityZone : String

Availability zone in which you want the subnet.

Updates cause replacement.

Optional property.

CidrBlock : String

CIDR block to apply to subnet.

Updates cause replacement.

Required property.

Tags : List

Updates cause replacement.

Optional property.

List contents:

* : Map

Note

Not implemented.

VpcId : String

Ref structure that contains the ID of the VPC on which you want to create the subnet.

Updates cause replacement.

Required property.

Attributes

AvailabilityZone
Availability Zone of the subnet.

HOT Syntax

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

YAML Syntax

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

JSON Syntax

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

AWS::EC2::SubnetRouteTableAssociation

Properties

RouteTableId : String

Route table ID.

Updates cause replacement.

Required property.

SubnetId : String

Subnet ID.

Updates cause replacement.

Required property.

Value must be of type neutron.subnet

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: AWS::EC2::SubnetRouteTableAssociation
    properties:
      RouteTableId: String
      SubnetId: String

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      RouteTableId: String
      SubnetId: String

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::EC2::SubnetRouteTableAssociation",
      "Properties": {
        "RouteTableId": String,
        "SubnetId": String
      }
    }
  }
}

AWS::EC2::VPC

Properties

CidrBlock : String

CIDR block to apply to the VPC.

Updates cause replacement.

Optional property.

InstanceTenancy : String

Note

Not implemented.

Tags : List

Updates cause replacement.

Optional property.

List contents:

* : Map

Note

Not implemented.

HOT Syntax

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}, ...]

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: String
      Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::EC2::VPC",
      "Properties": {
        "CidrBlock": String,
        "Tags": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
      }
    }
  }
}

AWS::EC2::VPCGatewayAttachment

Properties

InternetGatewayId : String

ID of the InternetGateway.

Updates cause replacement.

Optional property.

VpcId : String

VPC ID for this gateway association.

Updates cause replacement.

Required property.

VpnGatewayId : String

Note

Not implemented.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: AWS::EC2::VPCGatewayAttachment
    properties:
      InternetGatewayId: String
      VpcId: String

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties:
      InternetGatewayId: String
      VpcId: String

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::EC2::VPCGatewayAttachment",
      "Properties": {
        "InternetGatewayId": String,
        "VpcId": String
      }
    }
  }
}

AWS::EC2::Volume

Properties

AvailabilityZone : 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.

Size : Integer

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.

SnapshotId : String

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.

Tags : List

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:

* : Map

Updates cause replacement.

Optional property.

Map properties:

Key : String

Updates cause replacement.

Required property.

Value : String

Updates cause replacement.

Required property.

HOT Syntax

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}, ...]

YAML Syntax

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}, ...]

JSON Syntax

{
  "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}, ...]
      }
    }
  }
}

AWS::EC2::VolumeAttachment

Properties

Device : 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]

InstanceId : String

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

VolumeId : String

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

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: AWS::EC2::VolumeAttachment
    properties:
      Device: String
      InstanceId: String
      VolumeId: String

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::EC2::VolumeAttachment
    Properties:
      Device: String
      InstanceId: String
      VolumeId: String

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::EC2::VolumeAttachment",
      "Properties": {
        "Device": String,
        "InstanceId": String,
        "VolumeId": String
      }
    }
  }
}

AWS::ElasticLoadBalancing::LoadBalancer

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.

Properties

AppCookieStickinessPolicy : String

Note

Not implemented.

AvailabilityZones : List

The Availability Zones in which to create the load balancer.

Updates cause replacement.

Required property.

HealthCheck : Map

An application health check for the instances.

Updates cause replacement.

Optional property.

Map properties:

HealthyThreshold : Number

The number of consecutive health probe successes required before moving the instance to the healthy state.

Updates cause replacement.

Required property.

Interval : Number

The approximate interval, in seconds, between health checks of an individual instance.

Updates cause replacement.

Required property.

Target : String

The port being checked.

Updates cause replacement.

Required property.

Timeout : Number

Health probe timeout, in seconds.

Updates cause replacement.

Required property.

UnhealthyThreshold : Number

The number of consecutive health probe failures required before moving the instance to the unhealthy state

Updates cause replacement.

Required property.

Instances : List

The list of instance IDs load balanced.

Can be updated without replacement.

Optional property.

LBCookieStickinessPolicy : String

Note

Not implemented.

Listeners : List

One or more listeners for this load balancer.

Updates cause replacement.

Required property.

List contents:

* : Map

Updates cause replacement.

Optional property.

Map properties:

InstancePort : Number

TCP port on which the instance server is listening.

Updates cause replacement.

Required property.

LoadBalancerPort : Number

The external load balancer port number.

Updates cause replacement.

Required property.

PolicyNames : List

Note

Not implemented.

Protocol : String

The load balancer transport protocol to use.

Updates cause replacement.

Required property.

Allowed values: TCP, HTTP

SSLCertificateId : String

Note

Not implemented.

SecurityGroups : String

Note

Not implemented.

Subnets : List

Note

Not implemented.

Attributes

CanonicalHostedZoneName
The name of the hosted zone that is associated with the LoadBalancer.
CanonicalHostedZoneNameID
The ID of the hosted zone name that is associated with the LoadBalancer.
DNSName
The DNS name for the LoadBalancer.
SourceSecurityGroup.GroupName
The security group that you can use as part of your inbound rules for your LoadBalancer’s back-end instances.
SourceSecurityGroup.OwnerAlias
Owner of the source security group.

HOT Syntax

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}, ...]

YAML Syntax

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}, ...]

JSON Syntax

{
  "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}, ...]
      }
    }
  }
}

AWS::IAM::AccessKey

Properties

Serial : Integer

Note

Not implemented.

Status : String

Note

Not implemented.

UserName : String

The name of the user that the new key will belong to.

Updates cause replacement.

Required property.

Attributes

SecretAccessKey
Keypair secret key.
UserName
Username associated with the AccessKey.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: AWS::IAM::AccessKey
    properties:
      UserName: String

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::IAM::AccessKey
    Properties:
      UserName: String

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::IAM::AccessKey",
      "Properties": {
        "UserName": String
      }
    }
  }
}

AWS::IAM::User

Properties

Groups : List

Not Implemented.

Updates cause replacement.

Optional property.

LoginProfile : Map

A login profile for the user.

Updates cause replacement.

Optional property.

Map properties:

Password : String

Updates cause replacement.

Optional property.

Path : String

Not Implemented.

Updates cause replacement.

Optional property.

Policies : List

Access policies to apply to the user.

Updates cause replacement.

Optional property.

HOT Syntax

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, ...]

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::IAM::User
    Properties:
      Groups: [Value, Value, ...]
      LoginProfile: {"Password": String}
      Path: String
      Policies: [Value, Value, ...]

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::IAM::User",
      "Properties": {
        "Groups": [Value, Value, ...],
        "LoginProfile": {"Password": String},
        "Path": String,
        "Policies": [Value, Value, ...]
      }
    }
  }
}

AWS::RDS::DBInstance

Properties

AllocatedStorage : String

Can be updated without replacement.

Required property.

DBInstanceClass : String

Can be updated without replacement.

Required property.

DBName : String

Can be updated without replacement.

Required property.

DBSecurityGroups : List

Can be updated without replacement.

Optional property.

Engine : String

Can be updated without replacement.

Required property.

Allowed values: MySQL

KeyName : String

Can be updated without replacement.

Optional property.

MasterUserPassword : String

Can be updated without replacement.

Required property.

MasterUsername : String

Can be updated without replacement.

Required property.

Port : String

Can be updated without replacement.

Optional property.

Attributes

Endpoint.Address
Endpoint.Port

HOT Syntax

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

YAML Syntax

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

JSON Syntax

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

AWS::S3::Bucket

Properties

AccessControl : 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 : List

Tags to attach to the bucket.

Updates cause replacement.

Optional property.

List contents:

* : Map

Updates cause replacement.

Optional property.

Map properties:

Key : String

The tag key name.

Updates cause replacement.

Required property.

Value : String

The tag value.

Updates cause replacement.

Required property.

WebsiteConfiguration : Map

Information used to configure the bucket as a static website.

Updates cause replacement.

Optional property.

Map properties:

ErrorDocument : String

The name of the error document.

Updates cause replacement.

Optional property.

IndexDocument : String

The name of the index document.

Updates cause replacement.

Optional property.

Attributes

DomainName
The DNS name of the specified bucket.
WebsiteURL
The website endpoint for the specified bucket.

HOT Syntax

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}

YAML Syntax

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}

JSON Syntax

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