CloudFormation Compatible Resource Types

AWS::AutoScaling::AutoScalingGroup

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.
LaunchConfigurationName : String

Name of LaunchConfiguration resource.

Can be updated without replacement.

Required 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

List of VPC subnet identifiers.

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
      LaunchConfigurationName: String
      LoadBalancerNames: [Value, Value, ...]
      MaxSize: Integer
      MinSize: Integer
      Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
      VPCZoneIdentifier: [Value, Value, ...]

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: AWS::AutoScaling::AutoScalingGroup
    Properties:
      AvailabilityZones: [Value, Value, ...]
      Cooldown: Number
      DesiredCapacity: Integer
      LaunchConfigurationName: String
      LoadBalancerNames: [Value, Value, ...]
      MaxSize: Integer
      MinSize: Integer
      Tags: [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...]
      VPCZoneIdentifier: [Value, Value, ...]

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "AWS::AutoScaling::AutoScalingGroup",
      "Properties": {
        "AvailabilityZones": [Value, Value, ...],
        "Cooldown": Number,
        "DesiredCapacity": Integer,
        "LaunchConfigurationName": String,
        "LoadBalancerNames": [Value, Value, ...],
        "MaxSize": Integer,
        "MinSize": Integer,
        "Tags": [{"Value": String, "Key": String}, {"Value": String, "Key": String}, ...],
        "VPCZoneIdentifier": [Value, Value, ...]
      }
    }
  }
}

AWS::AutoScaling::LaunchConfiguration

Properties

BlockDeviceMappings : String

Note

Not implemented.
ImageId : String

Glance image ID or name.

Updates cause replacement.

Required property.

InstanceType : String

Nova instance type (flavor).

Updates cause replacement.

Required property.

KernelId : String

Note

Not implemented.
KeyName : String

Optional Nova keypair name.

Updates cause 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.

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:
      ImageId: 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:
      ImageId: 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": {
        "ImageId": 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

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

the main point of this class is to : have no dependancies (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
    properties:
      

YAML Syntax

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

JSON Syntax

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

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.

Updates cause replacement.

Optional property.

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.

Updates cause replacement.

Optional property.

EIP : String

EIP address to associate with instance.

Updates cause replacement.

Optional property.

InstanceId : String

Instance ID to associate with EIP specified by EIP property.

Updates cause replacement.

Optional property.

NetworkInterfaceId : String

Network interface ID to associate with EIP.

Updates cause 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.

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.

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.

Updates cause 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.

Updates cause 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.

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

Updates cause replacement.

Optional property, defaults to “[]”.

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.

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

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

Updates cause 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

Updates cause 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.

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.

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.

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

Required property.

Size : Number

The size of the volume in GB.

Updates cause replacement.

Optional property.

SnapshotId : String

If specified, the backup used as the source to create the volume.

Updates cause replacement.

Optional property.

Tags : List

The list of tags to associate with the volume.

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.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: AWS::EC2::Volume
    properties:
      AvailabilityZone: String
      Size: Number
      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: Number
      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": Number,
        "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.

Can be updated without replacement.

Required property.

Value must match pattern: /dev/vd[b-z]

InstanceId : String

The ID of the instance to which the volume attaches.

Can be updated without replacement.

Required property.

VolumeId : String

The ID of the volume to be attached.

Can be updated without replacement.

Required property.

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

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

Table Of Contents

Previous topic

OpenStack Resource Types

Next topic

Rackspace Cloud Resource Types

This Page