Contributed Heat Resource Types

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 RACKSPACE_README.

Rackspace::AutoScale::Group

Represents a scaling group.

Properties

groupConfiguration : Map

Group configuration.

Can be updated without 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.

Can be updated without 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:

config_drive : Boolean

Enable config drive on the instance.

Updates cause replacement.

Optional property.

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.

user_data : String

User data for bootstrapping the instance.

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": {"networks": [{"uuid": String}, {"uuid": String}, ...], "diskConfig": String, "name": String, "imageRef": String, "key_name": String, "flavorRef": String, "personality": {...}, "config_drive": Boolean, "user_data": 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": {"networks": [{"uuid": String}, {"uuid": String}, ...], "diskConfig": String, "name": String, "imageRef": String, "key_name": String, "flavorRef": String, "personality": {...}, "config_drive": Boolean, "user_data": 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": {"networks": [{"uuid": String}, {"uuid": String}, ...], "diskConfig": String, "name": String, "imageRef": String, "key_name": String, "flavorRef": String, "personality": {...}, "config_drive": Boolean, "user_data": String, "metadata": {...}}}, "type": String}
      }
    }
  }
}

Rackspace::AutoScale::ScalingPolicy

Represents a Rackspace Auto Scale scaling policy.

Properties

args : Map

Type-specific arguments for the policy.

Can be updated without replacement.

Optional property.

change : Number

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

Can be updated without replacement.

Optional property.

changePercent : Number

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

Can be updated without replacement.

Optional property.

cooldown : Number

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

Can be updated without replacement.

Optional property.

desiredCapacity : Number

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

Can be updated without 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.

Can be updated without replacement.

Required property.

type : String

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

Can be updated without 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.

Can be updated without replacement.

Optional property.

name : String

The name of this webhook.

Can be updated without 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 300.

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 300.

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

Can be updated without replacement.

Optional property.

Allowed values: LEAST_CONNECTIONS, RANDOM, ROUND_ROBIN, WEIGHTED_LEAST_CONNECTIONS, WEIGHTED_ROUND_ROBIN

connectionLogging : Boolean

Can be updated without replacement.

Optional property.

connectionThrottle : Map

Can be updated without 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

Can be updated without replacement.

Optional property.

Allowed values: ENABLED, DISABLED

errorPage : String

Can be updated without replacement.

Optional property.

halfClosed : Boolean

Can be updated without replacement.

Optional property.

healthMonitor : Map

Can be updated without 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

Can be updated without replacement.

Optional property.

name : String

Can be updated without 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

Can be updated without replacement.

Required property.

protocol : String

Can be updated without 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

Can be updated without replacement.

Optional property.

Allowed values: HTTP_COOKIE, SOURCE_IP

sslTermination : Map

Can be updated without 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

Can be updated without replacement.

Optional property.

The value must be in the range 1 to 120.

virtualIps : List

Updates cause replacement.

Required property.

The length must be at least 1.

List contents:

* : Map

Updates cause replacement.

Optional property.

Map properties:

id : Number

ID of a shared VIP to use instead of creating a new one. This property cannot be specified if type or version is specified.

Updates cause replacement.

Optional property.

ipVersion : String

IP version of the VIP. This property cannot be specified if ‘id’ is specified. This property must be specified if id is not specified.

Updates cause replacement.

Optional property.

Allowed values: IPV6, IPV4

type : String

The type of VIP (public or internal). This property cannot be specified if ‘id’ is specified. This property must be specified if id is not specified.

Updates cause replacement.

Optional property.

Allowed values: SERVICENET, PUBLIC

Attributes

PublicIp
Public IP address of the specified instance.
virtualIps
A list of assigned virtual ip addresses

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, "id": Number}, {"ipVersion": String, "type": String, "id": Number}, ...]

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, "id": Number}, {"ipVersion": String, "type": String, "id": Number}, ...]

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, "id": Number}, {"ipVersion": String, "type": String, "id": Number}, ...]
      }
    }
  }
}

Rackspace::Cloud::Network

Note

DEPRECATED - Use OS::Neutron::Net instead.

A resource for creating Rackspace Cloud Networks.

See http://www.rackspace.com/cloud/networks/ for service documentation.

Properties

cidr : String

The IP block from which to allocate the network. For example, 172.16.0.0/24 or 2001:DB8::/64.

Updates cause replacement.

Required property.

label : String

The name of the network.

Updates cause replacement.

Required property.

The length must be in the range 3 to 64.

Attributes

cidr
The CIDR for an isolated private network.
label
The name of the network.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: Rackspace::Cloud::Network
    properties:
      cidr: String
      label: String

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: Rackspace::Cloud::Network
    Properties:
      cidr: String
      label: String

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "Rackspace::Cloud::Network",
      "Properties": {
        "cidr": String,
        "label": 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 DOCKER_README.

DockerInc::Docker::Container

Properties

cap_add : List

Be used to add kernel capabilities (only supported for API version >= 1.2.0).

Updates cause replacement.

Optional property, defaults to “[]”.

List contents:

* : String

The security features provided by Linux kernels.

Updates cause replacement.

Optional property.

Allowed values: SETPCAP, SYS_MODULE, SYS_RAWIO, SYS_PACCT, SYS_ADMIN, SYS_NICE, SYS_RESOURCE, SYS_TIME, SYS_TTY_CONFIG, MKNOD, AUDIT_WRITE, AUDIT_CONTROL, MAC_OVERRIDE, MAC_ADMIN, NET_ADMIN, SYSLOG, CHOWN, NET_RAW, DAC_OVERRIDE, FOWNER, DAC_READ_SEARCH, FSETID, KILL, SETGID, SETUID, LINUX_IMMUTABLE, NET_BIND_SERVICE, NET_BROADCAST, IPC_LOCK, IPC_OWNER, SYS_CHROOT, SYS_PTRACE, SYS_BOOT, LEASE, SETFCAP, WAKE_ALARM, BLOCK_SUSPEND, ALL

cap_drop : List

Be used to drop kernel capabilities (only supported for API version >= 1.2.0).

Updates cause replacement.

Optional property, defaults to “[]”.

List contents:

* : String

The security features provided by Linux kernels.

Updates cause replacement.

Optional property.

Allowed values: SETPCAP, SYS_MODULE, SYS_RAWIO, SYS_PACCT, SYS_ADMIN, SYS_NICE, SYS_RESOURCE, SYS_TIME, SYS_TTY_CONFIG, MKNOD, AUDIT_WRITE, AUDIT_CONTROL, MAC_OVERRIDE, MAC_ADMIN, NET_ADMIN, SYSLOG, CHOWN, NET_RAW, DAC_OVERRIDE, FOWNER, DAC_READ_SEARCH, FSETID, KILL, SETGID, SETUID, LINUX_IMMUTABLE, NET_BIND_SERVICE, NET_BROADCAST, IPC_LOCK, IPC_OWNER, SYS_CHROOT, SYS_PTRACE, SYS_BOOT, LEASE, SETFCAP, WAKE_ALARM, BLOCK_SUSPEND, ALL

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.

links : Map

Links to other containers.

Updates cause replacement.

Optional property.

memory : Integer

Memory limit (Bytes).

Updates cause replacement.

Optional property, defaults to “0”.

name : String

Name of the container.

Updates cause replacement.

Optional property.

open_stdin : Boolean

Open stdin.

Updates cause replacement.

Optional property, defaults to “False”.

port_bindings : Map

TCP/UDP ports bindings.

Updates cause replacement.

Optional property.

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”.

read_only : Boolean

Note

Available since 2015.1 (Kilo)

If true, mount the container’s root filesystem as read only (only supported for API version >= 1.17).

Updates cause replacement.

Optional property, defaults to “False”.

restart_policy : Map

Restart policies (only supported for API version >= 1.2.0).

Updates cause replacement.

Optional property, defaults to “{}”.

Map properties:

MaximumRetryCount : Integer

A maximum restart count for the on-failure policy.

Updates cause replacement.

Optional property, defaults to “0”.

Name : String

The behavior to apply when the container exits.

Updates cause replacement.

Optional property, defaults to “no”.

Allowed values: no, on-failure, always

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

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:
      cap_add: [String, String, ...]
      cap_drop: [String, String, ...]
      cmd: [Value, Value, ...]
      dns: [Value, Value, ...]
      docker_endpoint: String
      env: [Value, Value, ...]
      hostname: String
      image: String
      links: {...}
      memory: Integer
      name: String
      open_stdin: Boolean
      port_bindings: {...}
      port_specs: [Value, Value, ...]
      privileged: Boolean
      read_only: Boolean
      restart_policy: {"MaximumRetryCount": Integer, "Name": String}
      stdin_once: Boolean
      tty: Boolean
      user: String
      volumes: {...}
      volumes_from: [Value, Value, ...]

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: DockerInc::Docker::Container
    Properties:
      cap_add: [String, String, ...]
      cap_drop: [String, String, ...]
      cmd: [Value, Value, ...]
      dns: [Value, Value, ...]
      docker_endpoint: String
      env: [Value, Value, ...]
      hostname: String
      image: String
      links: {...}
      memory: Integer
      name: String
      open_stdin: Boolean
      port_bindings: {...}
      port_specs: [Value, Value, ...]
      privileged: Boolean
      read_only: Boolean
      restart_policy: {"MaximumRetryCount": Integer, "Name": String}
      stdin_once: Boolean
      tty: Boolean
      user: String
      volumes: {...}
      volumes_from: [Value, Value, ...]

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "DockerInc::Docker::Container",
      "Properties": {
        "cap_add": [String, String, ...],
        "cap_drop": [String, String, ...],
        "cmd": [Value, Value, ...],
        "dns": [Value, Value, ...],
        "docker_endpoint": String,
        "env": [Value, Value, ...],
        "hostname": String,
        "image": String,
        "links": {...},
        "memory": Integer,
        "name": String,
        "open_stdin": Boolean,
        "port_bindings": {...},
        "port_specs": [Value, Value, ...],
        "privileged": Boolean,
        "read_only": Boolean,
        "restart_policy": {"MaximumRetryCount": Integer, "Name": String},
        "stdin_once": Boolean,
        "tty": Boolean,
        "user": String,
        "volumes": {...},
        "volumes_from": [Value, Value, ...]
      }
    }
  }
}

Nova Flavor Resource

This resource is not enabled by default.

This plugin enables dynamic creation of Nova flavors through Heat. You can find more information in the NOVA_FLAVOR_README.

OS::Nova::Flavor

A resource for creating OpenStack virtual hardware templates.

Due to default nova security policy usage of this resource is limited to being used by administrators only. The rights may also be delegated to other users by redefining the access controls on the nova-api server.

Note that the current implementation of the Nova Flavor resource does not allow specifying the name and flavorid properties for the resource. This is done to avoid potential naming collision upon flavor creation as all flavor have a global scope.

Properties

disk : Integer

Size of local disk in GB. Set the value to 0 to remove limit on disk size.

Updates cause replacement.

Required property.

ephemeral : Integer

Size of a secondary ephemeral data disk in GB.

Updates cause replacement.

Optional property, defaults to “0”.

extra_specs : Map

Key/Value pairs to extend the capabilities of the flavor.

Can be updated without replacement.

Optional property.

ram : Integer

Memory in MB for the flavor.

Updates cause replacement.

Required property.

rxtx_factor : Number

RX/TX factor.

Updates cause replacement.

Optional property, defaults to “1.0”.

swap : Integer

Swap space in MB.

Updates cause replacement.

Optional property, defaults to “0”.

vcpus : Integer

Number of VCPUs for the flavor.

Updates cause replacement.

Required property.

HOT Syntax

heat_template_version: 2013-05-23
...
resources:
  ...
  the_resource:
    type: OS::Nova::Flavor
    properties:
      disk: Integer
      ephemeral: Integer
      extra_specs: {...}
      ram: Integer
      rxtx_factor: Number
      swap: Integer
      vcpus: Integer

YAML Syntax

HeatTemplateFormatVersion: '2012-12-12'
...
Resources:
  ...
  TheResource:
    Type: OS::Nova::Flavor
    Properties:
      disk: Integer
      ephemeral: Integer
      extra_specs: {...}
      ram: Integer
      rxtx_factor: Number
      swap: Integer
      vcpus: Integer

JSON Syntax

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  ...
  "Resources" : {
    "TheResource": {
      "Type": "OS::Nova::Flavor",
      "Properties": {
        "disk": Integer,
        "ephemeral": Integer,
        "extra_specs": {...},
        "ram": Integer,
        "rxtx_factor": Number,
        "swap": Integer,
        "vcpus": Integer
      }
    }
  }
}