~ubuntu-branches/ubuntu/vivid/heat/vivid

« back to all changes in this revision

Viewing changes to doc/source/template_guide/hot_spec.rst

  • Committer: Package Import Robot
  • Author(s): Chuck Short, Chuck Short, Corey Bryant
  • Date: 2015-01-06 08:55:22 UTC
  • mfrom: (1.1.21)
  • Revision ID: package-import@ubuntu.com-20150106085522-4o3hnaff5lacvtrf
Tags: 2015.1~b1-0ubuntu1
[ Chuck Short ]
* Open up for vivid.
* debian/control: Update bzr branch. 
* debian/control: Add python-saharaclient,
  python-osprofiler, python-oslo.middleware, python-oslo.serialization.
* debian/patches/fix-reqirements.patch: Refreshed.
* debian/patches/skip-tests.patch: Updated to skip more tests.
* debian/rules: Skip integration tests.

[ Corey Bryant ]
* New upstream release.
  - d/control: Align requirements with upstream.
  - d/watch: Update uversionmangle for kilo beta naming.
  - d/rules: Generate heat.conf.sample and apply patch before copy.
  - d/rules: Run base tests instead of integration tests.
  - d/p/fix-requirements.patch: Refreshed.
  - d/p/remove-gettextutils-import.patch: Cherry picked from master.
* d/control: Bumped Standards-Version to 3.9.6.

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
HOT is considered reliable, supported, and standardized as of our
31
31
Icehouse (April 2014) release.  The Heat core team may make improvements
32
32
to the standard, which very likely would be backward compatible.  The template
33
 
format is also versioned.  In our Juno release, Heat will support multiple
34
 
different versions of the HOT specification if there is a need driven by the
35
 
introduction of new features.
36
 
 
 
33
format is also versioned.  Since Juno release, Heat supports multiple
 
34
different versions of the HOT specification.
37
35
 
38
36
------------------
39
37
Template Structure
90
88
    omitted when no output values are required.
91
89
 
92
90
 
 
91
.. _hot_spec_template_version:
 
92
 
 
93
---------------------
 
94
Heat Template Version
 
95
---------------------
 
96
 
 
97
The value of  *heat_template_version* tells Heat not only the format of the
 
98
template but also features that will be validated and supported.
 
99
For example, Heat currently supports the following values for the
 
100
*heat_template_version* key:
 
101
 
 
102
2013-05-23
 
103
    The key with value *2013-05-23* indicates that the YAML document is a HOT
 
104
    template and it may contain features implemented until the Icehouse release.
 
105
    This version supports the following functions (some are back ported
 
106
    to this version):
 
107
 
 
108
::
 
109
  get_attr
 
110
  get_file
 
111
  get_param
 
112
  get_resource
 
113
  list_join
 
114
  resource_facade
 
115
  str_replace
 
116
  Fn::Base64
 
117
  Fn::GetAZs
 
118
  Fn::Join
 
119
  Fn::MemberListToMap
 
120
  Fn::Replace
 
121
  Fn::ResourceFacade
 
122
  Fn::Select
 
123
  Fn::Split
 
124
  Ref
 
125
 
 
126
2014-10-16
 
127
    The key with value *2014-10-16* indicates that the YAML document is a HOT
 
128
    template and it may contain features added and/or removed up until the Juno
 
129
    release.  This version removes most CFN functions that were supported in
 
130
    the Icehouse release, i.e. the *2013-05-23* version.  So the supported functions
 
131
    now are:
 
132
 
 
133
::
 
134
  get_attr
 
135
  get_file
 
136
  get_param
 
137
  get_resource
 
138
  list_join
 
139
  resource_facade
 
140
  str_replace
 
141
  Fn::Select
 
142
 
 
143
 
93
144
.. _hot_spec_parameter_groups:
94
145
 
95
146
------------------------
564
615
::
565
616
 
566
617
  get_attr:
567
 
    - <resource ID>
 
618
    - <resource name>
568
619
    - <attribute name>
569
620
    - <key/index 1> (optional)
570
621
    - <key/index 2> (optional)
571
622
    - ...
572
623
 
573
 
resource ID
 
624
resource name
574
625
    This parameter specifies the resource for which the attributes shall be
575
626
    resolved. This resource must be defined within the *resources* section of
576
627
    the template (see also :ref:`hot_spec_resources`).
659
710
---------
660
711
The *get_param* function allows for referencing an input parameter of a template
661
712
from anywhere within a template. At runtime, it will be resolved to the value
662
 
provided for this input parameter. The syntax of the get_param function is as
 
713
provided for this input parameter. The syntax of the *get_param* function is as
663
714
follows:
664
715
 
665
716
::
729
780
list_join
730
781
---------
731
782
The *list_join* function joins a list of strings with the given delimiter. This
732
 
function is available beginning with the `2014-10-16` version of HOT.
733
 
The syntax of the list_join function is as follows:
 
783
function is introduced in the Juno release, usable in HOT versions later than
 
784
`2013-05-23`.  The syntax of the list_join function is as follows:
734
785
 
735
786
::
736
787
 
750
801
resource_facade
751
802
---------------
752
803
The *resource_facade* function allows a provider template to retrieve data
753
 
about its resource facade in the parent template. (A provider template is used to provide a custom definition of a resource - the facade - in the form of a Heat template. The resource's properties are passed to the provider template as its parameters, but other resource data can be included using this function.)
 
804
about its resource facade in the parent template. A provider template is used
 
805
to provide a custom definition of a resource - the facade - in the form of a
 
806
Heat template. The resource's properties are passed to the provider template as
 
807
its parameters, but other resource data can be included using this function.)
 
808
 
754
809
The syntax of the *resource_facade* function is as follows::
755
810
 
756
811
  resource_facade: <data type>
833
888
compute instance and the root password is going to be set based on a user
834
889
provided parameter. The script for doing this is provided as userdata to the
835
890
compute instance, leveraging the str_replace function.
 
891
 
 
892
Fn::Select
 
893
---------
 
894
*Fn::Select* is a function borrowed from CFN template.  Please check the CFN
 
895
template guide for a description.