Rackspace Cloud Resource Types

These resources are not enabled by default.

The resources in this module are for using Heat with the Rackspace Cloud. These resources either allow using Rackspace services that don’t have equivalent services in OpenStack or account for differences between a generic Openstack deployment and the Rackspace Cloud.

Rackspace resources depend on the dev branch of pyrax to work properly. More information about them can be found in the README.

Rackspace::AutoScale::Group

Represents a scaling group.

Properties

groupConfiguration : Map

Group configuration.

Updates cause replacement.

Required property.

Map properties:
cooldown : Number

Number of seconds after capacity changes during which further capacity changes are disabled.

Updates cause replacement.

Required property.

maxEntities : Number

Maximum number of entities in this scaling group.

Updates cause replacement.

Required property.

metadata : Map

Arbitrary key/value metadata to associate with this group.

Updates cause replacement.

Optional property.

minEntities : Number

Minimum number of entities in this scaling group.

Updates cause replacement.

Required property.

name : String

Name of the scaling group.

Updates cause replacement.

Required property.

launchConfiguration : Map

Launch configuration.

Updates cause replacement.

Required property.

Map properties:
args : Map

Type-specific server launching arguments.

Updates cause replacement.

Required property.

Map properties:
loadBalancers : List

List of load balancers to hook the server up to. If not specified, no load balancing will be configured.

Updates cause replacement.

Optional property.

List contents:
* : Map

Updates cause replacement.

Optional property.

Map properties:
loadBalancerId : String

ID of the load balancer.

Updates cause replacement.

Required property.

port : Number

Server port to connect the load balancer to.

Updates cause replacement.

Required property.

server : Map

Server creation arguments, as accepted by the Cloud Servers server creation API.

Updates cause replacement.

Required property.

Map properties:
diskConfig : String

Configuration specifying the partition layout. AUTO to create a partition utilizing the entire disk, and MANUAL to create a partition matching the source image.

Updates cause replacement.

Optional property.

Allowed values: AUTO, MANUAL

flavorRef : String

Flavor ID.

Updates cause replacement.

Required property.

imageRef : String

Image ID.

Updates cause replacement.

Required property.

key_name : String

Name of a previously created SSH keypair to allow key-based authentication to the server.

Updates cause replacement.

Optional property.

metadata : Map

Metadata key and value pairs.

Updates cause replacement.

Optional property.

name : String

Server name.

Updates cause replacement.

Required property.

networks : List

Networks to attach to. If unspecified, the instance will be attached to the public Internet and private ServiceNet networks.

Updates cause replacement.

Optional property.

List contents:
* : Map

Updates cause replacement.

Optional property.

Map properties:
uuid : String

UUID of network to attach to.

Updates cause replacement.

Required property.

personality : Map

File path and contents.

Updates cause replacement.

Optional property.

type : String

Launch configuration method. Only launch_server is currently supported.

Updates cause replacement.

Required property.

Allowed values: launch_server

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: Rackspace::AutoScale::Group
    properties:
      groupConfiguration: {"maxEntities": Number, "cooldown": Number, "name": String, "minEntities": Number, "metadata": {...}}
      launchConfiguration: {"args": {"loadBalancers": [{"port": Number, "loadBalancerId": String}, {"port": Number, "loadBalancerId": String}, ...], "server": {"diskConfig": String, "name": String, "imageRef": String, "key_name": String, "flavorRef": String, "personality": {...}, "networks": [{"uuid": String}, {"uuid": String}, ...], "metadata": {...}}}, "type": String}

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: Rackspace::AutoScale::Group
    Properties:
      groupConfiguration: {"maxEntities": Number, "cooldown": Number, "name": String, "minEntities": Number, "metadata": {...}}
      launchConfiguration: {"args": {"loadBalancers": [{"port": Number, "loadBalancerId": String}, {"port": Number, "loadBalancerId": String}, ...], "server": {"diskConfig": String, "name": String, "imageRef": String, "key_name": String, "flavorRef": String, "personality": {...}, "networks": [{"uuid": String}, {"uuid": String}, ...], "metadata": {...}}}, "type": String}

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "Rackspace::AutoScale::Group",
      "Properties": {
        "groupConfiguration": {"maxEntities": Number, "cooldown": Number, "name": String, "minEntities": Number, "metadata": {...}},
        "launchConfiguration": {"args": {"loadBalancers": [{"port": Number, "loadBalancerId": String}, {"port": Number, "loadBalancerId": String}, ...], "server": {"diskConfig": String, "name": String, "imageRef": String, "key_name": String, "flavorRef": String, "personality": {...}, "networks": [{"uuid": String}, {"uuid": String}, ...], "metadata": {...}}}, "type": String}
      }
    }
  }
}

Rackspace::AutoScale::ScalingPolicy

Represents a Rackspace Auto Scale scaling policy.

Properties

args : Map

Type-specific arguments for the policy.

Updates cause replacement.

Optional property.

change : Number

Amount to add to or remove from current number of instances. Incompatible with changePercent and desiredCapacity.

Updates cause replacement.

Optional property.

changePercent : Number

Percentage-based change to add or remove from current number of instances. Incompatible with change and desiredCapacity.

Updates cause replacement.

Optional property.

cooldown : Number

Number of seconds after a policy execution during which further executions are disabled.

Updates cause replacement.

Optional property.

desiredCapacity : Number

Absolute number to set the number of instances to. Incompatible with change and changePercent.

Updates cause replacement.

Optional property.

group : String

Scaling group ID that this policy belongs to.

Updates cause replacement.

Required property.

name : String

Name of this scaling policy.

Updates cause replacement.

Required property.

type : String

Type of this scaling policy. Specifies how the policy is executed.

Updates cause replacement.

Required property.

Allowed values: webhook, schedule, cloud_monitoring

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: Rackspace::AutoScale::ScalingPolicy
    properties:
      args: {...}
      change: Number
      changePercent: Number
      cooldown: Number
      desiredCapacity: Number
      group: String
      name: String
      type: String

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: Rackspace::AutoScale::ScalingPolicy
    Properties:
      args: {...}
      change: Number
      changePercent: Number
      cooldown: Number
      desiredCapacity: Number
      group: String
      name: String
      type: String

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "Rackspace::AutoScale::ScalingPolicy",
      "Properties": {
        "args": {...},
        "change": Number,
        "changePercent": Number,
        "cooldown": Number,
        "desiredCapacity": Number,
        "group": String,
        "name": String,
        "type": String
      }
    }
  }
}

Rackspace::AutoScale::WebHook

Represents a Rackspace AutoScale webhook. Exposes the URLs of the webhook as attributes.

Properties

metadata : Map

Arbitrary key/value metadata for this webhook.

Updates cause replacement.

Optional property.

name : String

The name of this webhook.

Updates cause replacement.

Required property.

policy : String

The policy that this webhook should apply to, in {group_id}:{policy_id} format. Generally a Ref to a Policy resource.

Updates cause replacement.

Required property.

Attributes

capabilityUrl
The url for executing the webhook (doesn’t require auth).
executeUrl
The url for executing the webhook (requires auth).

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: Rackspace::AutoScale::WebHook
    properties:
      metadata: {...}
      name: String
      policy: String

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: Rackspace::AutoScale::WebHook
    Properties:
      metadata: {...}
      name: String
      policy: String

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "Rackspace::AutoScale::WebHook",
      "Properties": {
        "metadata": {...},
        "name": String,
        "policy": String
      }
    }
  }
}

Rackspace::Cloud::DNS

Represents a DNS resource.

Properties

comment : String

Optional free form text comment

Can be updated without replacement.

Optional property.

The length must be no greater than 160.

emailAddress : String

Email address to use for contacting the domain administrator.

Can be updated without replacement.

Required property.

name : String

Specifies the name for the domain or subdomain. Must be a valid domain name.

Updates cause replacement.

Required property.

The length must be at least 3.

records : List

Domain records

Can be updated without replacement.

Optional property.

List contents:
* : Map

Updates cause replacement.

Optional property.

Map properties:
comment : String

Optional free form text comment

Updates cause replacement.

Optional property.

The length must be no greater than 160.

data : String

Type specific record data

Updates cause replacement.

Required property.

name : String

Specifies the name for the domain or subdomain. Must be a valid domain name.

Updates cause replacement.

Required property.

The length must be at least 3.

priority : Integer

Required for MX and SRV records, but forbidden for other record types. If specified, must be an integer from 0 to 65535.

Updates cause replacement.

Optional property.

The value must be in the range 0 to 65535.

ttl : Integer

How long other servers should cache recorddata.

Updates cause replacement.

Optional property, defaults to “3600”.

The value must be at least 301.

type : String

Specifies the record type.

Updates cause replacement.

Required property.

Allowed values: A, AAAA, NS, MX, CNAME, TXT, SRV

ttl : Integer

How long other servers should cache recorddata.

Can be updated without replacement.

Optional property, defaults to “3600”.

The value must be at least 301.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: Rackspace::Cloud::DNS
    properties:
      comment: String
      emailAddress: String
      name: String
      records: [{"comment": String, "name": String, "data": String, "priority": Integer, "ttl": Integer, "type": String}, {"comment": String, "name": String, "data": String, "priority": Integer, "ttl": Integer, "type": String}, ...]
      ttl: Integer

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: Rackspace::Cloud::DNS
    Properties:
      comment: String
      emailAddress: String
      name: String
      records: [{"comment": String, "name": String, "data": String, "priority": Integer, "ttl": Integer, "type": String}, {"comment": String, "name": String, "data": String, "priority": Integer, "ttl": Integer, "type": String}, ...]
      ttl: Integer

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "Rackspace::Cloud::DNS",
      "Properties": {
        "comment": String,
        "emailAddress": String,
        "name": String,
        "records": [{"comment": String, "name": String, "data": String, "priority": Integer, "ttl": Integer, "type": String}, {"comment": String, "name": String, "data": String, "priority": Integer, "ttl": Integer, "type": String}, ...],
        "ttl": Integer
      }
    }
  }
}

Rackspace::Cloud::LoadBalancer

Represents a Rackspace Cloud Loadbalancer.

Properties

accessList : List

Updates cause replacement.

Optional property.

List contents:
* : Map

Updates cause replacement.

Optional property.

Map properties:
address : String

Updates cause replacement.

Required property.

type : String

Updates cause replacement.

Required property.

Allowed values: ALLOW, DENY

algorithm : String

Updates cause replacement.

Optional property.

connectionLogging : Boolean

Updates cause replacement.

Optional property.

connectionThrottle : Map

Updates cause replacement.

Optional property.

Map properties:
maxConnectionRate : Number

Updates cause replacement.

Optional property.

The value must be in the range 0 to 100000.

maxConnections : Number

Updates cause replacement.

Optional property.

The value must be in the range 1 to 100000.

minConnections : Number

Updates cause replacement.

Optional property.

The value must be in the range 1 to 1000.

rateInterval : Number

Updates cause replacement.

Optional property.

The value must be in the range 1 to 3600.

contentCaching : String

Updates cause replacement.

Optional property.

Allowed values: ENABLED, DISABLED

errorPage : String

Updates cause replacement.

Optional property.

halfClosed : Boolean

Updates cause replacement.

Optional property.

healthMonitor : Map

Updates cause replacement.

Optional property.

Map properties:
attemptsBeforeDeactivation : Number

Updates cause replacement.

Required property.

The value must be in the range 1 to 10.

bodyRegex : String

Updates cause replacement.

Optional property.

delay : Number

Updates cause replacement.

Required property.

The value must be in the range 1 to 3600.

hostHeader : String

Updates cause replacement.

Optional property.

path : String

Updates cause replacement.

Optional property.

statusRegex : String

Updates cause replacement.

Optional property.

timeout : Number

Updates cause replacement.

Required property.

The value must be in the range 1 to 300.

type : String

Updates cause replacement.

Required property.

Allowed values: CONNECT, HTTP, HTTPS

metadata : Map

Updates cause replacement.

Optional property.

name : String

Updates cause replacement.

Optional property.

nodes : List

Can be updated without replacement.

Required property.

List contents:
* : Map

Updates cause replacement.

Optional property.

Map properties:
addresses : List

IP addresses for the load balancer node. Must have at least one address.

Updates cause replacement.

Required property.

List contents:
* : String

Updates cause replacement.

Optional property.

condition : String

Updates cause replacement.

Optional property, defaults to “ENABLED”.

Allowed values: ENABLED, DISABLED

port : Number

Updates cause replacement.

Required property.

type : String

Updates cause replacement.

Optional property.

Allowed values: PRIMARY, SECONDARY

weight : Number

Updates cause replacement.

Optional property.

The value must be in the range 1 to 100.

port : Number

Updates cause replacement.

Required property.

protocol : String

Updates cause replacement.

Required property.

Allowed values: DNS_TCP, DNS_UDP, FTP, HTTP, HTTPS, IMAPS, IMAPv4, LDAP, LDAPS, MYSQL, POP3, POP3S, SMTP, TCP, TCP_CLIENT_FIRST, UDP, UDP_STREAM, SFTP

sessionPersistence : String

Updates cause replacement.

Optional property.

Allowed values: HTTP_COOKIE, SOURCE_IP

sslTermination : Map

Updates cause replacement.

Optional property.

Map properties:
certificate : String

Updates cause replacement.

Required property.

intermediateCertificate : String

Updates cause replacement.

Optional property.

privatekey : String

Updates cause replacement.

Required property.

securePort : Number

Updates cause replacement.

Optional property, defaults to “443”.

secureTrafficOnly : Boolean

Updates cause replacement.

Optional property, defaults to “False”.

timeout : Number

Updates cause replacement.

Optional property.

The value must be in the range 1 to 120.

virtualIps : List

Updates cause replacement.

Required property.

List contents:
* : Map

Updates cause replacement.

Optional property.

Map properties:
ipVersion : String

Updates cause replacement.

Optional property, defaults to “IPV6”.

Allowed values: IPV6, IPV4

type : String

Updates cause replacement.

Required property.

Allowed values: SERVICENET, PUBLIC

Attributes

PublicIp
Public IP address of the specified instance.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: Rackspace::Cloud::LoadBalancer
    properties:
      accessList: [{"type": String, "address": String}, {"type": String, "address": String}, ...]
      algorithm: String
      connectionLogging: Boolean
      connectionThrottle: {"maxConnectionRate": Number, "maxConnections": Number, "rateInterval": Number, "minConnections": Number}
      contentCaching: String
      errorPage: String
      halfClosed: Boolean
      healthMonitor: {"attemptsBeforeDeactivation": Number, "delay": Number, "hostHeader": String, "statusRegex": String, "timeout": Number, "bodyRegex": String, "path": String, "type": String}
      metadata: {...}
      name: String
      nodes: [{"weight": Number, "type": String, "addresses": [String, String, ...], "condition": String, "port": Number}, {"weight": Number, "type": String, "addresses": [String, String, ...], "condition": String, "port": Number}, ...]
      port: Number
      protocol: String
      sessionPersistence: String
      sslTermination: {"privatekey": String, "securePort": Number, "secureTrafficOnly": Boolean, "certificate": String, "intermediateCertificate": String}
      timeout: Number
      virtualIps: [{"ipVersion": String, "type": String}, {"ipVersion": String, "type": String}, ...]

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: Rackspace::Cloud::LoadBalancer
    Properties:
      accessList: [{"type": String, "address": String}, {"type": String, "address": String}, ...]
      algorithm: String
      connectionLogging: Boolean
      connectionThrottle: {"maxConnectionRate": Number, "maxConnections": Number, "rateInterval": Number, "minConnections": Number}
      contentCaching: String
      errorPage: String
      halfClosed: Boolean
      healthMonitor: {"attemptsBeforeDeactivation": Number, "delay": Number, "hostHeader": String, "statusRegex": String, "timeout": Number, "bodyRegex": String, "path": String, "type": String}
      metadata: {...}
      name: String
      nodes: [{"weight": Number, "type": String, "addresses": [String, String, ...], "condition": String, "port": Number}, {"weight": Number, "type": String, "addresses": [String, String, ...], "condition": String, "port": Number}, ...]
      port: Number
      protocol: String
      sessionPersistence: String
      sslTermination: {"privatekey": String, "securePort": Number, "secureTrafficOnly": Boolean, "certificate": String, "intermediateCertificate": String}
      timeout: Number
      virtualIps: [{"ipVersion": String, "type": String}, {"ipVersion": String, "type": String}, ...]

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "Rackspace::Cloud::LoadBalancer",
      "Properties": {
        "accessList": [{"type": String, "address": String}, {"type": String, "address": String}, ...],
        "algorithm": String,
        "connectionLogging": Boolean,
        "connectionThrottle": {"maxConnectionRate": Number, "maxConnections": Number, "rateInterval": Number, "minConnections": Number},
        "contentCaching": String,
        "errorPage": String,
        "halfClosed": Boolean,
        "healthMonitor": {"attemptsBeforeDeactivation": Number, "delay": Number, "hostHeader": String, "statusRegex": String, "timeout": Number, "bodyRegex": String, "path": String, "type": String},
        "metadata": {...},
        "name": String,
        "nodes": [{"weight": Number, "type": String, "addresses": [String, String, ...], "condition": String, "port": Number}, {"weight": Number, "type": String, "addresses": [String, String, ...], "condition": String, "port": Number}, ...],
        "port": Number,
        "protocol": String,
        "sessionPersistence": String,
        "sslTermination": {"privatekey": String, "securePort": Number, "secureTrafficOnly": Boolean, "certificate": String, "intermediateCertificate": String},
        "timeout": Number,
        "virtualIps": [{"ipVersion": String, "type": String}, {"ipVersion": String, "type": String}, ...]
      }
    }
  }
}

Rackspace::Cloud::Server

Resource for Rackspace Cloud Servers.

Properties

admin_pass : String

The administrator password for the server.

Can be updated without replacement.

Optional property.

availability_zone : String

Name of the availability zone for server placement.

Updates cause replacement.

Optional property.

block_device_mapping : List

Block device mappings for this server.

Updates cause replacement.

Optional property.

List contents:
* : Map

Updates cause replacement.

Optional property.

Map properties:
delete_on_termination : Boolean

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

Updates cause replacement.

Optional property.

device_name : String

A device name where the volume will be attached in the system at /dev/device_name. This value is typically vda.

Updates cause replacement.

Required property.

snapshot_id : String

The ID of the snapshot to create a volume from.

Updates cause replacement.

Optional property.

volume_id : String

The ID of the volume to boot from. Only one of volume_id or snapshot_id should be provided.

Updates cause replacement.

Optional property.

volume_size : Integer

The size of the volume, in GB. It is safe to leave this blank and have the Compute service infer the size.

Updates cause replacement.

Optional property.

config_drive : String

value for config drive either boolean, or volume-id.

Updates cause replacement.

Optional property.

diskConfig : String

Control how the disk is partitioned when the server is created.

Updates cause replacement.

Optional property.

Allowed values: AUTO, MANUAL

flavor : String

The ID or name of the flavor to boot onto.

Can be updated without replacement.

Required property.

flavor_update_policy : String

Policy on how to apply a flavor update; either by requesting a server resize or by replacing the entire server.

Can be updated without replacement.

Optional property, defaults to “RESIZE”.

Allowed values: RESIZE, REPLACE

image : String

The ID or name of the image to boot with.

Can be updated without replacement.

Optional property.

Value must be of type glance.image

image_update_policy : String

Policy on how to apply an image-id update; either by requesting a server rebuild or by replacing the entire server

Can be updated without replacement.

Optional property, defaults to “REPLACE”.

Allowed values: REBUILD, REPLACE, REBUILD_PRESERVE_EPHEMERAL

key_name : String

Name of keypair to inject into the server.

Updates cause replacement.

Optional property.

Value must be of type nova.keypair

metadata : Map

Arbitrary key/value metadata to store for this server. Both keys and values must be 255 characters or less. Non-string values will be serialized to JSON (and the serialized string must be 255 characters or less).

Can be updated without replacement.

Optional property.

name : String

Server name.

Can be updated without replacement.

Optional property.

networks : List

An ordered list of nics to be added to this server, with information about connected networks, fixed ips, port etc.

Can be updated without replacement.

Optional property.

List contents:
* : Map

Updates cause replacement.

Optional property.

Map properties:
fixed_ip : String

Fixed IP address to specify for the port created on the requested network.

Updates cause replacement.

Optional property.

network : String

Name or ID of network to create a port on.

Updates cause replacement.

Optional property.

port : String

ID of an existing port to associate with this server.

Updates cause replacement.

Optional property.

uuid : String

Note

DEPRECATED - Use property network.

ID of network to create a port on.

Updates cause replacement.

Optional property.

personality : Map

A map of files to create/overwrite on the server upon boot. Keys are file names and values are the file contents.

Updates cause replacement.

Optional property, defaults to “{}”.

reservation_id : String

A UUID for the set of servers being requested.

Updates cause replacement.

Optional property.

save_admin_pass : Boolean

True if the system should remember the admin password; False otherwise.

Updates cause replacement.

Optional property, defaults to “False”.

scheduler_hints : Map

Arbitrary key-value pairs specified by the client to help boot a server.

Updates cause replacement.

Optional property.

security_groups : List

List of security group names or IDs. Cannot be used if neutron ports are associated with this server; assign security groups to the ports instead.

Updates cause replacement.

Optional property, defaults to “[]”.

software_config_transport : String

How the server should receive the metadata required for software configuration. POLL_SERVER_CFN will allow calls to the cfn API action DescribeStackResource authenticated with the provided keypair. POLL_SERVER_HEAT will allow calls to the Heat API resource-show using the provided keystone credentials.

Updates cause replacement.

Optional property, defaults to “POLL_SERVER_CFN”.

Allowed values: POLL_SERVER_CFN, POLL_SERVER_HEAT

user_data : String

User data script to be executed by cloud-init.

Updates cause replacement.

Optional property, defaults to “”.

user_data_format : String

How the user_data should be formatted for the server. For HEAT_CFNTOOLS, the user_data is bundled as part of the heat-cfntools cloud-init boot configuration data. For RAW the user_data is passed to Nova unmodified. For SOFTWARE_CONFIG user_data is bundled as part of the software config data, and metadata is derived from any associated SoftwareDeployment resources.

Updates cause replacement.

Optional property, defaults to “HEAT_CFNTOOLS”.

Allowed values: HEAT_CFNTOOLS, RAW, SOFTWARE_CONFIG

admin_user : String

Note

DEPRECATED

Name of the administrative user to use on the server. This property will be removed from Juno in favor of the default cloud-init user set up for each image (e.g. “ubuntu” for Ubuntu 12.04+, “fedora” for Fedora 19+ and “cloud-user” for CentOS/RHEL 6.5).

Updates cause replacement.

Optional property.

Attributes

accessIPv4
The manually assigned alternative public IPv4 address of the server.
accessIPv6
The manually assigned alternative public IPv6 address of the server.
addresses
A dict of all network addresses with corresponding port_id.
admin_pass
The administrator password for the server.
distro
The Linux distribution on the server.
first_address
Convenience attribute to fetch the first assigned network address, or an empty string if nothing has been assigned at this time. Result may not be predictable if the server has addresses from more than one network.
instance_name
AWS compatible instance name.
networks
A dict of assigned network addresses of the form: {“public”: [ip1, ip2...], “private”: [ip3, ip4]}.
privateIPv4
The private IPv4 address of the server.
show
A dict of all server details as returned by the API.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: Rackspace::Cloud::Server
    properties:
      admin_pass: String
      availability_zone: String
      block_device_mapping: [{"device_name": String, "volume_size": Integer, "snapshot_id": String, "delete_on_termination": Boolean, "volume_id": String}, {"device_name": String, "volume_size": Integer, "snapshot_id": String, "delete_on_termination": Boolean, "volume_id": String}, ...]
      config_drive: String
      diskConfig: String
      flavor: String
      flavor_update_policy: String
      image: String
      image_update_policy: String
      key_name: String
      metadata: {...}
      name: String
      networks: [{"network": String, "fixed_ip": String, "port": String, "uuid": String}, {"network": String, "fixed_ip": String, "port": String, "uuid": String}, ...]
      personality: {...}
      reservation_id: String
      save_admin_pass: Boolean
      scheduler_hints: {...}
      security_groups: [Value, Value, ...]
      software_config_transport: String
      user_data: String
      user_data_format: String

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: Rackspace::Cloud::Server
    Properties:
      admin_pass: String
      availability_zone: String
      block_device_mapping: [{"device_name": String, "volume_size": Integer, "snapshot_id": String, "delete_on_termination": Boolean, "volume_id": String}, {"device_name": String, "volume_size": Integer, "snapshot_id": String, "delete_on_termination": Boolean, "volume_id": String}, ...]
      config_drive: String
      diskConfig: String
      flavor: String
      flavor_update_policy: String
      image: String
      image_update_policy: String
      key_name: String
      metadata: {...}
      name: String
      networks: [{"network": String, "fixed_ip": String, "port": String, "uuid": String}, {"network": String, "fixed_ip": String, "port": String, "uuid": String}, ...]
      personality: {...}
      reservation_id: String
      save_admin_pass: Boolean
      scheduler_hints: {...}
      security_groups: [Value, Value, ...]
      software_config_transport: String
      user_data: String
      user_data_format: String

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "Rackspace::Cloud::Server",
      "Properties": {
        "admin_pass": String,
        "availability_zone": String,
        "block_device_mapping": [{"device_name": String, "volume_size": Integer, "snapshot_id": String, "delete_on_termination": Boolean, "volume_id": String}, {"device_name": String, "volume_size": Integer, "snapshot_id": String, "delete_on_termination": Boolean, "volume_id": String}, ...],
        "config_drive": String,
        "diskConfig": String,
        "flavor": String,
        "flavor_update_policy": String,
        "image": String,
        "image_update_policy": String,
        "key_name": String,
        "metadata": {...},
        "name": String,
        "networks": [{"network": String, "fixed_ip": String, "port": String, "uuid": String}, {"network": String, "fixed_ip": String, "port": String, "uuid": String}, ...],
        "personality": {...},
        "reservation_id": String,
        "save_admin_pass": Boolean,
        "scheduler_hints": {...},
        "security_groups": [Value, Value, ...],
        "software_config_transport": String,
        "user_data": String,
        "user_data_format": String
      }
    }
  }
}

DockerInc Resource

This resource is not enabled by default.

This plugin enables the use of Docker containers in a Heat template and requires the docker-py package. You can find more information in the README.

DockerInc::Docker::Container

Properties

attach_stderr : Boolean

Attach to the process’ standard error

Updates cause replacement.

Optional property, defaults to “True”.

attach_stdin : Boolean

Attach to the the process’ standard input

Updates cause replacement.

Optional property, defaults to “False”.

attach_stdout : Boolean

Attach to the process’ standard output

Updates cause replacement.

Optional property, defaults to “True”.

cmd : List

Command to run after spawning the container

Updates cause replacement.

Optional property, defaults to “[]”.

dns : List

Set custom dns servers

Updates cause replacement.

Optional property.

docker_endpoint : String

Docker daemon endpoint (by default the local docker daemon will be used)

Updates cause replacement.

Optional property.

env : List

Set environment variables

Updates cause replacement.

Optional property.

hostname : String

Hostname of the container

Updates cause replacement.

Optional property, defaults to “”.

image : String

Image name

Updates cause replacement.

Optional property.

memory : Integer

Memory limit (Bytes)

Updates cause replacement.

Optional property, defaults to “0”.

open_stdin : Boolean

Open stdin

Updates cause replacement.

Optional property, defaults to “False”.

port_specs : List

TCP/UDP ports mapping

Updates cause replacement.

Optional property.

privileged : Boolean

Enable extended privileges

Updates cause replacement.

Optional property, defaults to “False”.

stdin_once : Boolean

If true, close stdin after the 1 attached client disconnects

Updates cause replacement.

Optional property, defaults to “False”.

tty : Boolean

Allocate a pseudo-tty

Updates cause replacement.

Optional property, defaults to “False”.

user : String

Username or UID

Updates cause replacement.

Optional property, defaults to “”.

volumes : Map

Create a bind mount

Updates cause replacement.

Optional property, defaults to “{}”.

volumes_from : String

Mount all specified volumes

Updates cause replacement.

Optional property, defaults to “”.

Attributes

info
Container info
logs
Container logs
logs_head
Container first logs line
logs_tail
Container last logs line
network_gateway
Container ip gateway
network_info
Container network info
network_ip
Container ip address
network_tcp_ports
Container TCP ports
network_udp_ports
Container UDP ports

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: DockerInc::Docker::Container
    properties:
      attach_stderr: Boolean
      attach_stdin: Boolean
      attach_stdout: Boolean
      cmd: [Value, Value, ...]
      dns: [Value, Value, ...]
      docker_endpoint: String
      env: [Value, Value, ...]
      hostname: String
      image: String
      memory: Integer
      open_stdin: Boolean
      port_specs: [Value, Value, ...]
      privileged: Boolean
      stdin_once: Boolean
      tty: Boolean
      user: String
      volumes: {...}
      volumes_from: String

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: DockerInc::Docker::Container
    Properties:
      attach_stderr: Boolean
      attach_stdin: Boolean
      attach_stdout: Boolean
      cmd: [Value, Value, ...]
      dns: [Value, Value, ...]
      docker_endpoint: String
      env: [Value, Value, ...]
      hostname: String
      image: String
      memory: Integer
      open_stdin: Boolean
      port_specs: [Value, Value, ...]
      privileged: Boolean
      stdin_once: Boolean
      tty: Boolean
      user: String
      volumes: {...}
      volumes_from: String

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "DockerInc::Docker::Container",
      "Properties": {
        "attach_stderr": Boolean,
        "attach_stdin": Boolean,
        "attach_stdout": Boolean,
        "cmd": [Value, Value, ...],
        "dns": [Value, Value, ...],
        "docker_endpoint": String,
        "env": [Value, Value, ...],
        "hostname": String,
        "image": String,
        "memory": Integer,
        "open_stdin": Boolean,
        "port_specs": [Value, Value, ...],
        "privileged": Boolean,
        "stdin_once": Boolean,
        "tty": Boolean,
        "user": String,
        "volumes": {...},
        "volumes_from": String
      }
    }
  }
}