Contributed Heat Resource Types

These resources are not enabled by default.

OS::Nova::Server

Note

UNSUPPORTED - This resource is not supported, use at your own risk.

Resource for Rackspace Cloud Servers.

This resource overloads existent integrated OS::Nova::Server resource and is used for Rackspace Cloud Servers.

Required Properties

flavor

The ID or name of the flavor to boot onto.

String value expected.

Can be updated without replacement.

Value must be of type nova.flavor

Optional Properties

admin_pass

The administrator password for the server.

String value expected.

Can be updated without replacement.

availability_zone

Name of the availability zone for server placement.

String value expected.

Updates cause replacement.

block_device_mapping

Block device mappings for this server.

List value expected.

Updates cause replacement.

List contents:

*

Map value expected.

Updates cause replacement.

Map properties:

delete_on_termination

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

Boolean value expected.

Updates cause replacement.

device_name

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

String value expected.

Updates cause replacement.

snapshot_id

The ID of the snapshot to create a volume from.

String value expected.

Updates cause replacement.

Value must be of type cinder.snapshot

volume_id

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

String value expected.

Updates cause replacement.

Value must be of type cinder.volume

volume_size

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

Integer value expected.

Updates cause replacement.

block_device_mapping_v2

Note

Available since 2015.1 (Kilo)

Block device mappings v2 for this server.

List value expected.

Updates cause replacement.

List contents:

*

Map value expected.

Updates cause replacement.

Map properties:

boot_index

Integer used for ordering the boot disks.

Integer value expected.

Updates cause replacement.

delete_on_termination

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

Boolean value expected.

Updates cause replacement.

device_name

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

String value expected.

Updates cause replacement.

device_type

Device type: at the moment we can make distinction only between disk and cdrom.

String value expected.

Updates cause replacement.

Allowed values: cdrom, disk

disk_bus

Bus of the device: hypervisor driver chooses a suitable default if omitted.

String value expected.

Updates cause replacement.

Allowed values: ide, lame_bus, scsi, usb, virtio

ephemeral_format

Note

Available since 8.0.0 (Ocata)

The format of the local ephemeral block device. If no format is specified, uses default value, defined in nova configuration file.

String value expected.

Updates cause replacement.

Allowed values: ext2, ext3, ext4, xfs, ntfs

ephemeral_size

Note

Available since 8.0.0 (Ocata)

The size of the local ephemeral block device, in GB.

Integer value expected.

Updates cause replacement.

The value must be at least 1.

image

Note

Available since 7.0.0 (Newton)

The ID or name of the image to create a volume from.

String value expected.

Updates cause replacement.

Value must be of type glance.image

snapshot_id

The ID of the snapshot to create a volume from.

String value expected.

Updates cause replacement.

Value must be of type cinder.snapshot

swap_size

The size of the swap, in MB.

Integer value expected.

Updates cause replacement.

volume_id

The volume_id can be boot or non-boot device to the server.

String value expected.

Updates cause replacement.

Value must be of type cinder.volume

volume_size

Size of the block device in GB. If it is omitted, hypervisor driver calculates size.

Integer value expected.

Updates cause replacement.

config_drive

If True, enable config drive on the server.

Boolean value expected.

Updates cause replacement.

deployment_swift_data

Note

Available since 9.0.0 (Pike)

Swift container and object to use for storing deployment data for the server resource. The parameter is a map value with the keys “container” and “object”, and the values are the corresponding container and object names. The software_config_transport parameter must be set to POLL_TEMP_URL for swift to be used. If not specified, and software_config_transport is set to POLL_TEMP_URL, a container will be automatically created from the resource name, and the object name will be a generated uuid.

Map value expected.

Can be updated without replacement.

Defaults to “{}”.

Map properties:

container

Name of the container.

String value expected.

Can be updated without replacement.

The length must be at least 1.

object

Name of the object.

String value expected.

Can be updated without replacement.

The length must be at least 1.

diskConfig

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

String value expected.

Updates cause replacement.

Allowed values: AUTO, MANUAL

flavor_update_policy

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

String value expected.

Can be updated without replacement.

Defaults to “RESIZE”.

Allowed values: RESIZE, REPLACE

image

The ID or name of the image to boot with.

String value expected.

Can be updated without replacement.

Value must be of type glance.image

image_update_policy

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

String value expected.

Can be updated without replacement.

Defaults to “REBUILD”.

Allowed values: REBUILD, REPLACE, REBUILD_PRESERVE_EPHEMERAL

key_name

Name of keypair to inject into the server.

String value expected.

Updates cause replacement.

Value must be of type nova.keypair

metadata

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

Map value expected.

Can be updated without replacement.

Defaults to “{}”.

name

Server name.

String value expected.

Can be updated without replacement.

networks

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

List value expected.

Can be updated without replacement.

List contents:

*

Map value expected.

Can be updated without replacement.

Map properties:

allocate_network

Note

Available since 9.0.0 (Pike)

The special string values of network, auto: means either a network that is already available to the project will be used, or if one does not exist, will be automatically created for the project; none: means no networking will be allocated for the created server. Supported by Nova API since version “2.37”. This property can not be used with other network keys.

String value expected.

Can be updated without replacement.

Allowed values: none, auto

fixed_ip

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

String value expected.

Can be updated without replacement.

Value must be of type ip_addr

floating_ip

Note

Available since 6.0.0 (Mitaka)

ID of the floating IP to associate.

String value expected.

Can be updated without replacement.

network

Name or ID of network to create a port on.

String value expected.

Can be updated without replacement.

Value must be of type neutron.network

port

ID of an existing port to associate with this server.

String value expected.

Can be updated without replacement.

Value must be of type neutron.port

port_extra_properties

Note

Available since 6.0.0 (Mitaka)

Dict, which has expand properties for port. Used only if port property is not specified for creating port.

Map value expected.

Can be updated without replacement.

Map properties:

admin_state_up

The administrative state of this port.

Boolean value expected.

Can be updated without replacement.

Defaults to “True”.

allowed_address_pairs

Additional MAC/IP address pairs allowed to pass through the port.

List value expected.

Can be updated without replacement.

List contents:

*

Map value expected.

Can be updated without replacement.

Map properties:

ip_address

IP address to allow through this port.

String value expected.

Can be updated without replacement.

Value must be of type net_cidr

mac_address

MAC address to allow through this port.

String value expected.

Can be updated without replacement.

Value must be of type mac_addr

binding:vnic_type

Note

Available since 2015.1 (Kilo)

The vnic type to be bound on the neutron port. To support SR-IOV PCI passthrough networking, you can request that the neutron port to be realized as normal (virtual nic), direct (pci passthrough), or macvtap (virtual interface with a tap-like software interface). Note that this only works for Neutron deployments that support the bindings extension.

String value expected.

Can be updated without replacement.

Allowed values: normal, direct, macvtap, direct-physical, baremetal

mac_address

MAC address to give to this port. The default update policy of this property in neutron is that allow admin role only.

String value expected.

Can be updated without replacement.

Value must be of type mac_addr

port_security_enabled

Note

Available since 5.0.0 (Liberty)

Flag to enable/disable port security on the port. When disable this feature(set it to False), there will be no packages filtering, like security-group and address-pairs.

Boolean value expected.

Can be updated without replacement.

qos_policy

Note

Available since 6.0.0 (Mitaka)

The name or ID of QoS policy to attach to this port.

String value expected.

Can be updated without replacement.

Value must be of type neutron.qos_policy

value_specs

Extra parameters to include in the request.

Map value expected.

Can be updated without replacement.

Defaults to “{}”.

subnet

Note

Available since 5.0.0 (Liberty)

Subnet in which to allocate the IP address for port. Used for creating port, based on derived properties. If subnet is specified, network property becomes optional.

String value expected.

Can be updated without replacement.

personality

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

Map value expected.

Updates cause replacement.

Defaults to “{}”.

reservation_id

A UUID for the set of servers being requested.

String value expected.

Updates cause replacement.

scheduler_hints

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

Map value expected.

Updates cause replacement.

security_groups

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.

List value expected.

Updates cause replacement.

Defaults to “[]”.

software_config_transport

How the server should receive the metadata required for software configuration. POLL_TEMP_URL is the only supported transport on Rackspace Cloud. This property is retained for compatibility.

String value expected.

Can be updated without replacement.

Defaults to “POLL_TEMP_URL”.

Allowed values: POLL_TEMP_URL

tags

Note

Available since 8.0.0 (Ocata)

Server tags. Supported since client version 2.26.

List value expected.

Can be updated without replacement.

List contents:

*

String value expected.

Can be updated without replacement.

user_data

User data script to be executed by cloud-init. Changes cause replacement of the resource by default, but can be ignored altogether by setting the `user_data_update_policy` property.

String value expected.

Can be updated without replacement.

Defaults to “”.

user_data_format

How the user_data should be formatted for the server. 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.

String value expected.

Updates cause replacement.

Defaults to “RAW”.

Allowed values: RAW, SOFTWARE_CONFIG

user_data_update_policy

Note

Available since 6.0.0 (Mitaka)

Policy on how to apply a user_data update; either by ignoring it or by replacing the entire server.

String value expected.

Can be updated without replacement.

Defaults to “REPLACE”.

Allowed values: REPLACE, IGNORE

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. Each network will have two keys in dict, they are network name and network id. The port ID may be obtained through the following expression: “{get_attr: [<server>, addresses, <network name_or_id>, 0, port]}”.

console_urls

Note

Available since 2015.1 (Kilo)

URLs of server’s consoles. To get a specific console type, the requested type can be specified as parameter to the get_attr function, e.g. get_attr: [ <server>, console_urls, novnc ]. Currently supported types are novnc, xvpvnc, spice-html5, rdp-html5, serial and webmks.

instance_name

AWS compatible instance name.

name

Name of the server.

networks

A dict of assigned network addresses of the form: {“public”: [ip1, ip2…], “private”: [ip3, ip4], “public_uuid”: [ip1, ip2…], “private_uuid”: [ip3, ip4]}. Each network will have two keys in dict, they are network name and network id.

os_collect_config

Note

Available since 9.0.0 (Pike)

The os-collect-config configuration for the server’s local agent to be configured to connect to Heat to retrieve deployment data.

show

Detailed information about resource.

tags

Note

Available since 8.0.0 (Ocata)

Tags from the server. Supported since client version 2.26.

HOT Syntax

heat_template_version: 2015-04-30
...
resources:
  ...
  the_resource:
    type: OS::Nova::Server
    properties:
      admin_pass: String
      availability_zone: String
      block_device_mapping: [{"volume_id": String, "volume_size": Integer, "device_name": String, "delete_on_termination": Boolean, "snapshot_id": String}, {"volume_id": String, "volume_size": Integer, "device_name": String, "delete_on_termination": Boolean, "snapshot_id": String}, ...]
      block_device_mapping_v2: [{"ephemeral_format": String, "swap_size": Integer, "boot_index": Integer, "image": String, "disk_bus": String, "delete_on_termination": Boolean, "device_name": String, "snapshot_id": String, "ephemeral_size": Integer, "device_type": String, "volume_id": String, "volume_size": Integer, "image_id": String}, {"ephemeral_format": String, "swap_size": Integer, "boot_index": Integer, "image": String, "disk_bus": String, "delete_on_termination": Boolean, "device_name": String, "snapshot_id": String, "ephemeral_size": Integer, "device_type": String, "volume_id": String, "volume_size": Integer, "image_id": String}, ...]
      config_drive: Boolean
      deployment_swift_data: {"container": String, "object": String}
      diskConfig: String
      flavor: String
      flavor_update_policy: String
      image: String
      image_update_policy: String
      key_name: String
      metadata: {...}
      name: String
      networks: [{"subnet": String, "network": String, "port_extra_properties": {"mac_address": String, "qos_policy": String, "port_security_enabled": Boolean, "admin_state_up": Boolean, "binding:vnic_type": String, "allowed_address_pairs": [{"mac_address": String, "ip_address": String}, {"mac_address": String, "ip_address": String}, ...], "value_specs": {...}}, "floating_ip": String, "fixed_ip": String, "port": String, "uuid": String, "allocate_network": String}, {"subnet": String, "network": String, "port_extra_properties": {"mac_address": String, "qos_policy": String, "port_security_enabled": Boolean, "admin_state_up": Boolean, "binding:vnic_type": String, "allowed_address_pairs": [{"mac_address": String, "ip_address": String}, {"mac_address": String, "ip_address": String}, ...], "value_specs": {...}}, "floating_ip": String, "fixed_ip": String, "port": String, "uuid": String, "allocate_network": String}, ...]
      personality: {...}
      reservation_id: String
      scheduler_hints: {...}
      security_groups: [Value, Value, ...]
      software_config_transport: String
      tags: [String, String, ...]
      user_data: String
      user_data_format: String
      user_data_update_policy: String

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

Note

UNSUPPORTED - This resource is not supported, use at your own risk.

Represents a scaling group.

Required Properties

groupConfiguration

Group configuration.

Map value expected.

Can be updated without replacement.

Map properties:

cooldown

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

Number value expected.

Can be updated without replacement.

maxEntities

Maximum number of entities in this scaling group.

Integer value expected.

Can be updated without replacement.

metadata

Arbitrary key/value metadata to associate with this group.

Map value expected.

Can be updated without replacement.

minEntities

Minimum number of entities in this scaling group.

Integer value expected.

Can be updated without replacement.

name

Name of the scaling group.

String value expected.

Can be updated without replacement.

launchConfiguration

Launch configuration.

Map value expected.

Can be updated without replacement.

Map properties:

args

Type-specific launch arguments.

Map value expected.

Can be updated without replacement.

Map properties:

loadBalancers

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

List value expected.

Can be updated without replacement.

Defaults to “[]”.

List contents:

*

Map value expected.

Can be updated without replacement.

Map properties:

loadBalancerId

ID of the load balancer.

String value expected.

Can be updated without replacement.

port

Server port to connect the load balancer to.

Integer value expected.

Can be updated without replacement.

server

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

Map value expected.

Can be updated without replacement.

Map properties:

config_drive

Enable config drive on the instance.

Boolean value expected.

Can be updated without replacement.

diskConfig

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

String value expected.

Can be updated without replacement.

Allowed values: AUTO, MANUAL

flavorRef

The ID or name of the flavor to boot onto.

String value expected.

Can be updated without replacement.

Value must be of type nova.flavor

imageRef

The ID or name of the image to boot with.

String value expected.

Can be updated without replacement.

Value must be of type glance.image

key_name

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

String value expected.

Can be updated without replacement.

metadata

Metadata key and value pairs.

Map value expected.

Can be updated without replacement.

name

Server name.

String value expected.

Can be updated without replacement.

networks

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

List value expected.

Can be updated without replacement.

List contents:

*

Map value expected.

Can be updated without replacement.

Map properties:

uuid

UUID of network to attach to.

String value expected.

Can be updated without replacement.

personality

File path and contents.

Map value expected.

Can be updated without replacement.

user_data

User data for bootstrapping the instance.

String value expected.

Can be updated without replacement.

stack

The attributes that Auto Scale uses to create a new stack. The attributes that you specify for the stack entity apply to all new stacks in the scaling group. Note the stack arguments are directly passed to Heat when creating a stack.

Map value expected.

Can be updated without replacement.

Map properties:

disable_rollback

Keep the resources that have been created if the stack fails to create. Defaults to True.

Boolean value expected.

Can be updated without replacement.

Defaults to “True”.

environment

The environment for the stack.

Map value expected.

Can be updated without replacement.

files

The contents of files that the template references.

Map value expected.

Can be updated without replacement.

parameters

Key/value pairs of the parameters and their values to pass to the parameters in the template.

Map value expected.

Can be updated without replacement.

template

The template that describes the stack. Either the template or template_url property must be specified.

String value expected.

Can be updated without replacement.

template_url

A URI to a template. Either the template or template_url property must be specified.

String value expected.

Can be updated without replacement.

timeout_mins

The stack creation timeout in minutes.

Integer value expected.

Can be updated without replacement.

type

Launch configuration method. Only launch_server and launch_stack are currently supported.

String value expected.

Can be updated without replacement.

Allowed values: launch_server, launch_stack

Attributes

show

Detailed information about resource.

HOT Syntax

heat_template_version: 2015-04-30
...
resources:
  ...
  the_resource:
    type: Rackspace::AutoScale::Group
    properties:
      groupConfiguration: {"cooldown": Number, "maxEntities": Integer, "metadata": {...}, "name": String, "minEntities": Integer}
      launchConfiguration: {"args": {"stack": {"disable_rollback": Boolean, "files": {...}, "timeout_mins": Integer, "environment": {...}, "template": String, "template_url": String, "parameters": {...}}, "server": {"diskConfig": String, "imageRef": String, "name": String, "personality": {...}, "metadata": {...}, "user_data": String, "networks": [{"uuid": String}, {"uuid": String}, ...], "flavorRef": String, "config_drive": Boolean, "key_name": String}, "loadBalancers": [{"loadBalancerId": String, "port": Integer}, {"loadBalancerId": String, "port": Integer}, ...]}, "type": String}

Rackspace::AutoScale::ScalingPolicy

Note

UNSUPPORTED - This resource is not supported, use at your own risk.

Represents a Rackspace Auto Scale scaling policy.

Required Properties

group

Scaling group ID that this policy belongs to.

String value expected.

Updates cause replacement.

name

Name of this scaling policy.

String value expected.

Can be updated without replacement.

type

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

String value expected.

Can be updated without replacement.

Allowed values: webhook, schedule, cloud_monitoring

Optional Properties

args

Type-specific arguments for the policy.

Map value expected.

Can be updated without replacement.

change

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

Integer value expected.

Can be updated without replacement.

changePercent

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

Number value expected.

Can be updated without replacement.

cooldown

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

Number value expected.

Can be updated without replacement.

desiredCapacity

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

Integer value expected.

Can be updated without replacement.

Attributes

show

Detailed information about resource.

HOT Syntax

heat_template_version: 2015-04-30
...
resources:
  ...
  the_resource:
    type: Rackspace::AutoScale::ScalingPolicy
    properties:
      args: {...}
      change: Integer
      changePercent: Number
      cooldown: Number
      desiredCapacity: Integer
      group: String
      name: String
      type: String

Rackspace::AutoScale::WebHook

Note

UNSUPPORTED - This resource is not supported, use at your own risk.

Represents a Rackspace AutoScale webhook.

Exposes the URLs of the webhook as attributes.

Required Properties

name

The name of this webhook.

String value expected.

Can be updated without replacement.

policy

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

String value expected.

Updates cause replacement.

Optional Properties

metadata

Arbitrary key/value metadata for this webhook.

Map value expected.

Can be updated without replacement.

Attributes

capabilityUrl

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

executeUrl

The url for executing the webhook (requires auth).

show

Detailed information about resource.

HOT Syntax

heat_template_version: 2015-04-30
...
resources:
  ...
  the_resource:
    type: Rackspace::AutoScale::WebHook
    properties:
      metadata: {...}
      name: String
      policy: String

Rackspace::Cloud::DNS

Note

UNSUPPORTED - This resource is not supported, use at your own risk.

Represents a DNS resource.

Required Properties

emailAddress

Email address to use for contacting the domain administrator.

String value expected.

Can be updated without replacement.

name

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

String value expected.

Updates cause replacement.

The length must be at least 3.

Optional Properties

comment

Optional free form text comment

String value expected.

Can be updated without replacement.

The length must be no greater than 160.

records

Domain records

List value expected.

Can be updated without replacement.

List contents:

*

Map value expected.

Can be updated without replacement.

Map properties:

comment

Optional free form text comment

String value expected.

Can be updated without replacement.

The length must be no greater than 160.

data

Type specific record data

String value expected.

Can be updated without replacement.

name

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

String value expected.

Can be updated without replacement.

The length must be at least 3.

priority

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

Integer value expected.

Can be updated without replacement.

The value must be in the range 0 to 65535.

ttl

How long other servers should cache recorddata.

Integer value expected.

Can be updated without replacement.

Defaults to “3600”.

The value must be at least 300.

type

Specifies the record type.

String value expected.

Can be updated without replacement.

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

ttl

How long other servers should cache recorddata.

Integer value expected.

Can be updated without replacement.

Defaults to “3600”.

The value must be at least 300.

Attributes

show

Detailed information about resource.

HOT Syntax

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

Rackspace::Cloud::LBNode

Represents a single node of a Rackspace Cloud Load Balancer

Required Properties

address

IP address for the node.

String value expected.

Updates cause replacement.

load_balancer

The ID of the load balancer to associate the node with.

String value expected.

Updates cause replacement.

port

Integer value expected.

Updates cause replacement.

Optional Properties

condition

String value expected.

Can be updated without replacement.

Defaults to “ENABLED”.

Allowed values: ENABLED, DISABLED, DRAINING

draining_timeout

The time to wait, in seconds, for the node to drain before it is deleted.

Integer value expected.

Can be updated without replacement.

Defaults to “0”.

The value must be at least 0.

type

String value expected.

Can be updated without replacement.

Allowed values: PRIMARY, SECONDARY

weight

Number value expected.

Can be updated without replacement.

The value must be in the range 1 to 100.

Attributes

show

Detailed information about resource.

HOT Syntax

heat_template_version: 2015-04-30
...
resources:
  ...
  the_resource:
    type: Rackspace::Cloud::LBNode
    properties:
      address: String
      condition: String
      draining_timeout: Integer
      load_balancer: String
      port: Integer
      type: String
      weight: Number

Rackspace::Cloud::LoadBalancer

Note

UNSUPPORTED - This resource is not supported, use at your own risk.

Represents a Rackspace Cloud Loadbalancer.

Required Properties

nodes

List value expected.

Can be updated without replacement.

List contents:

*

Map value expected.

Can be updated without replacement.

Map properties:

addresses

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

List value expected.

Can be updated without replacement.

List contents:

*

String value expected.

Can be updated without replacement.

condition

String value expected.

Can be updated without replacement.

Defaults to “ENABLED”.

Allowed values: ENABLED, DISABLED, DRAINING

port

Integer value expected.

Can be updated without replacement.

type

String value expected.

Can be updated without replacement.

Defaults to “PRIMARY”.

Allowed values: PRIMARY, SECONDARY

weight

Number value expected.

Can be updated without replacement.

Defaults to “1”.

The value must be in the range 1 to 100.

port

Integer value expected.

Can be updated without replacement.

protocol

String value expected.

Can be updated without replacement.

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

virtualIps

List value expected.

Updates cause replacement.

The length must be at least 1.

List contents:

*

Map value expected.

Updates cause replacement.

Map properties:

id

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

Number value expected.

Updates cause replacement.

ipVersion

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

String value expected.

Updates cause replacement.

Allowed values: IPV6, IPV4

type

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.

String value expected.

Updates cause replacement.

Allowed values: SERVICENET, PUBLIC

Optional Properties

accessList

List value expected.

Updates cause replacement.

List contents:

*

Map value expected.

Updates cause replacement.

Map properties:

address

String value expected.

Updates cause replacement.

type

String value expected.

Updates cause replacement.

Allowed values: ALLOW, DENY

algorithm

String value expected.

Can be updated without replacement.

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

connectionLogging

Boolean value expected.

Can be updated without replacement.

connectionThrottle

Map value expected.

Can be updated without replacement.

Map properties:

maxConnectionRate

Number value expected.

Can be updated without replacement.

The value must be in the range 0 to 100000.

maxConnections

Integer value expected.

Can be updated without replacement.

The value must be in the range 1 to 100000.

minConnections

Integer value expected.

Can be updated without replacement.

The value must be in the range 1 to 1000.

rateInterval

Number value expected.

Can be updated without replacement.

The value must be in the range 1 to 3600.

contentCaching

String value expected.

Can be updated without replacement.

Allowed values: ENABLED, DISABLED

errorPage

String value expected.

Can be updated without replacement.

halfClosed

Boolean value expected.

Can be updated without replacement.

healthMonitor

Map value expected.

Can be updated without replacement.

Map properties:

attemptsBeforeDeactivation

Number value expected.

Can be updated without replacement.

The value must be in the range 1 to 10.

bodyRegex

String value expected.

Can be updated without replacement.

delay

Number value expected.

Can be updated without replacement.

The value must be in the range 1 to 3600.

hostHeader

String value expected.

Can be updated without replacement.

path

String value expected.

Can be updated without replacement.

statusRegex

String value expected.

Can be updated without replacement.

timeout

Number value expected.

Can be updated without replacement.

The value must be in the range 1 to 300.

type

String value expected.

Can be updated without replacement.

Allowed values: CONNECT, HTTP, HTTPS

httpsRedirect

Note

Available since 2015.1 (Kilo)

Enables or disables HTTP to HTTPS redirection for the load balancer. When enabled, any HTTP request returns status code 301 (Moved Permanently), and the requester is redirected to the requested URL via the HTTPS protocol on port 443. Only available for HTTPS protocol (port=443), or HTTP protocol with a properly configured SSL termination (secureTrafficOnly=true, securePort=443).

Boolean value expected.

Can be updated without replacement.

Defaults to “False”.

metadata

Map value expected.

Can be updated without replacement.

name

String value expected.

Can be updated without replacement.

sessionPersistence

String value expected.

Can be updated without replacement.

Allowed values: HTTP_COOKIE, SOURCE_IP

sslTermination

Map value expected.

Can be updated without replacement.

Map properties:

certificate

String value expected.

Can be updated without replacement.

intermediateCertificate

String value expected.

Can be updated without replacement.

privatekey

String value expected.

Can be updated without replacement.

securePort

Integer value expected.

Can be updated without replacement.

Defaults to “443”.

secureTrafficOnly

Boolean value expected.

Can be updated without replacement.

Defaults to “False”.

timeout

Number value expected.

Can be updated without replacement.

The value must be in the range 1 to 120.

Attributes

PublicIp

Public IP address of the specified instance.

show

Detailed information about resource.

virtualIps

A list of assigned virtual ip addresses

HOT Syntax

heat_template_version: 2015-04-30
...
resources:
  ...
  the_resource:
    type: Rackspace::Cloud::LoadBalancer
    properties:
      accessList: [{"address": String, "type": String}, {"address": String, "type": String}, ...]
      algorithm: String
      connectionLogging: Boolean
      connectionThrottle: {"maxConnectionRate": Number, "rateInterval": Number, "maxConnections": Integer, "minConnections": Integer}
      contentCaching: String
      errorPage: String
      halfClosed: Boolean
      healthMonitor: {"path": String, "statusRegex": String, "timeout": Number, "hostHeader": String, "delay": Number, "type": String, "bodyRegex": String, "attemptsBeforeDeactivation": Number}
      httpsRedirect: Boolean
      metadata: {...}
      name: String
      nodes: [{"weight": Number, "port": Integer, "type": String, "addresses": [String, String, ...], "condition": String}, {"weight": Number, "port": Integer, "type": String, "addresses": [String, String, ...], "condition": String}, ...]
      port: Integer
      protocol: String
      sessionPersistence: String
      sslTermination: {"secureTrafficOnly": Boolean, "intermediateCertificate": String, "privatekey": String, "certificate": String, "securePort": Integer}
      timeout: Number
      virtualIps: [{"ipVersion": String, "id": Number, "type": String}, {"ipVersion": String, "id": Number, "type": 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

Note

UNSUPPORTED - This resource is not supported, use at your own risk.

Optional Properties

cap_add

Note

Available since 2015.1 (Kilo)

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

List value expected.

Updates cause replacement.

Defaults to “[]”.

List contents:

*

The security features provided by Linux kernels.

String value expected.

Updates cause replacement.

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

Note

Available since 2015.1 (Kilo)

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

List value expected.

Updates cause replacement.

Defaults to “[]”.

List contents:

*

The security features provided by Linux kernels.

String value expected.

Updates cause replacement.

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

Command to run after spawning the container.

List value expected.

Updates cause replacement.

Defaults to “[]”.

cpu_set

Note

Available since 5.0.0 (Liberty)

The CPUs in which to allow execution (only supported for API version >= 1.12).

String value expected.

Updates cause replacement.

cpu_shares

Note

Available since 5.0.0 (Liberty)

Relative weight which determines the allocation of the CPU processing power(only supported for API version >= 1.8).

Integer value expected.

Updates cause replacement.

Defaults to “0”.

devices

Note

Available since 5.0.0 (Liberty)

Device mappings (only supported for API version >= 1.14).

List value expected.

Updates cause replacement.

Defaults to “[]”.

List contents:

*

Map value expected.

Updates cause replacement.

Map properties:

path_in_container

The device path of the container mappings to the host.

String value expected.

Updates cause replacement.

The length must be no greater than 255.

Value must match pattern: ^/dev/[/_-a-zA-Z0-9]+$

path_on_host

The device path on the host.

String value expected.

Updates cause replacement.

The length must be no greater than 255.

Value must match pattern: ^/dev/[/_-a-zA-Z0-9]+$

permissions

The permissions of the container to read/write/create the devices.

String value expected.

Updates cause replacement.

Defaults to “rwm”.

Allowed values: r, w, m, rw, rm, wm, rwm

dns

Set custom dns servers.

List value expected.

Updates cause replacement.

docker_endpoint

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

String value expected.

Updates cause replacement.

env

Set environment variables.

List value expected.

Updates cause replacement.

hostname

Hostname of the container.

String value expected.

Updates cause replacement.

Defaults to “”.

image

Image name.

String value expected.

Updates cause replacement.

memory

Memory limit (Bytes).

Integer value expected.

Updates cause replacement.

name

Name of the container.

String value expected.

Updates cause replacement.

open_stdin

Open stdin.

Boolean value expected.

Updates cause replacement.

Defaults to “False”.

port_bindings

TCP/UDP ports bindings.

Map value expected.

Updates cause replacement.

port_specs

TCP/UDP ports mapping.

List value expected.

Updates cause replacement.

privileged

Enable extended privileges.

Boolean value expected.

Updates cause replacement.

Defaults to “False”.

read_only

Note

Available since 2015.1 (Kilo)

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

Boolean value expected.

Updates cause replacement.

Defaults to “False”.

restart_policy

Note

Available since 2015.1 (Kilo)

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

Map value expected.

Updates cause replacement.

Defaults to “{}”.

Map properties:

MaximumRetryCount

A maximum restart count for the on-failure policy.

Integer value expected.

Updates cause replacement.

Defaults to “0”.

Name

The behavior to apply when the container exits.

String value expected.

Updates cause replacement.

Defaults to “no”.

Allowed values: no, on-failure, always

stdin_once

If true, close stdin after the 1 attached client disconnects.

Boolean value expected.

Updates cause replacement.

Defaults to “False”.

tty

Allocate a pseudo-tty.

Boolean value expected.

Updates cause replacement.

Defaults to “False”.

user

Username or UID.

String value expected.

Updates cause replacement.

Defaults to “”.

volumes

Create a bind mount.

Map value expected.

Updates cause replacement.

Defaults to “{}”.

volumes_from

Mount all specified volumes.

List value expected.

Updates cause replacement.

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.

show

Detailed information about resource.

HOT Syntax

heat_template_version: 2015-04-30
...
resources:
  ...
  the_resource:
    type: DockerInc::Docker::Container
    properties:
      cap_add: [String, String, ...]
      cap_drop: [String, String, ...]
      cmd: [Value, Value, ...]
      cpu_set: String
      cpu_shares: Integer
      devices: [{"path_in_container": String, "permissions": String, "path_on_host": String}, {"path_in_container": String, "permissions": String, "path_on_host": String}, ...]
      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, ...]