Jump to: navigation, search

Heat/UI/ParameterGrouping

< Heat‎ | UI
Revision as of 23:22, 27 November 2013 by Tim Schnell (talk | contribs) (Summary)

Summary

Currently, Heat returns the parameters from the template in an unorganized manner. This can result in important parameters being randomly pushed towards the bottom as well as logical groupings of parameters being random instead.

Use Case

Grouping and ordering parameters would help the client make intelligent decisions about how to display the parameters to the end-user. If the parameters were returned in organized groups with a consistent order then a much richer interface could be designed to help step the end-user through the process of providing values for these parameters. For example, if I had the following parameters for a database resource: db_name, db_username, and db_password, there is currently not a way to ensure that these parameters get grouped together for the end-user. Instead they may be returned mixed with parameters for other resources like a web node resource: db_name, web_node_instance, web_node_password, db_password, etc...


Specification

There are many alternatives to accomplishing this goal but I think that the one with the smallest impact to Heat and the least room for error is to provide a naming convention for the parameters that indicates grouping and to implicitly imply the order based on the order of the parameters in the template. In addition to these template changes, Heat should be modified to return the parameters in this way via the template_validate call.

   parameters:
       db:name:
           ...
      db:username:
          ...
      db:password:
          ...
      web_node:node_name:
          ...
      web_node:keypair:
          ...