OS::Heat::SoftwareComponent¶
A resource for describing and storing a software component.
This resource is similar to OS::Heat::SoftwareConfig. In contrast to SoftwareConfig which allows for storing only one configuration (e.g. one script), SoftwareComponent allows for storing multiple configurations to address handling of all lifecycle hooks (CREATE, UPDATE, DELETE) for a software component in one place.
This resource is backed by the persistence layer and the API of the SoftwareConfig resource, and only adds handling for the additional configs property and attribute.
Required Properties¶
Name | Description |
---|---|
configs | The list of configurations for the different lifecycle actions of the represented software component. List value expected. Updates cause replacement. The length must be at least 1. List contents:
|
Optional Properties¶
Name | Description |
---|---|
inputs | Schema representing the inputs that this software config is expecting. List value expected. Updates cause replacement. List contents:
|
options | Map containing options specific to the configuration management tool used by this resource. Map value expected. Updates cause replacement. |
outputs | Schema representing the outputs that this software config will produce. List value expected. Updates cause replacement. List contents:
|
Attributes¶
Name | Description |
---|---|
config | The config value of the software config. The config is generally read from a script file and often contains some parameter substitutions. The config value is the script content that actually runs in the virtual machine. |
HOT Syntax¶
heat_template_version: 2014-10-16
...
resources:
...
the_resource:
type: OS::Heat::SoftwareComponent
properties:
configs: [{"config": String, "tool": String, "actions": [String, String, ...]}, {"config": String, "tool": String, "actions": [String, String, ...]}, ...]
inputs: [{"type": String, "default": String, "name": String, "replace_on_change": Boolean, "description": String}, {"type": String, "default": String, "name": String, "replace_on_change": Boolean, "description": String}, ...]
options: {...}
outputs: [{"type": String, "name": String, "error_output": Boolean, "description": String}, {"type": String, "name": String, "error_output": Boolean, "description": String}, ...]