Support conditions function

Registered by huangtianhua

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html

Now heat doesn't support this 'Conditions' function, I believe heat need to support this too, and considering the user habits and compatibility with aws cloudformation, I think we can implement the conditions function as aws cloudformation did.
To support 'conditions' in template level, property level and support the intrinsic functions 'equals', 'and', 'if', 'not', 'or'.

Blueprint information

Status:
Complete
Approver:
None
Priority:
High
Drafter:
huangtianhua
Direction:
Approved
Assignee:
huangtianhua
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon newton-3
Started by
huangtianhua
Completed by
Thomas Herve

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/support-conditions-function,n,z

Addressed by: https://review.openstack.org/221648
    Support 'Conditions' for cfn template

Addressed by: https://review.openstack.org/245042
    Support conditions function

Addressed by: https://review.openstack.org/276632
    Provides if conditon function

Addressed by: https://review.openstack.org/283365
    Provides 'equals' intrinsic function

Addressed by: https://review.openstack.org/283366
    Support resource/output condition

Addressed by: https://review.openstack.org/283479
    Provides 'if' intrinsic function

Addressed by: https://review.openstack.org/322248
    Add a Macro class to heat.engine.function

Addressed by: https://review.openstack.org/328917
    Decouple hot and cfn for outputs

Addressed by: https://review.openstack.org/345886
    Support 'conditions' section for templates

Addressed by: https://review.openstack.org/345946
    Refactor resource definition validating

Addressed by: https://review.openstack.org/345975
    Add validating of section 'conditions'

Gerrit topic: https://review.openstack.org/#q,topic:bug/1605485,n,z

Addressed by: https://review.openstack.org/347123
    Support condition for resource

Addressed by: https://review.openstack.org/347182
    Support condition for output

Addressed by: https://review.openstack.org/347655
    Provides 'not' condition function

Addressed by: https://review.openstack.org/347731
    Provide 'and' function

Addressed by: https://review.openstack.org/347753
    Provide 'or' function

Addressed by: https://review.openstack.org/360270
    Add 'resources' to error msg path if res' condition invalid

Addressed by: https://review.openstack.org/362585
    Allow reference conditions

Gerrit topic: https://review.openstack.org/#q,topic:bug/1618713,n,z

Addressed by: https://review.openstack.org/365831
    Allows condition name using boolean or function

Gerrit topic: https://review.openstack.org/#q,topic:bug/1621529,n,z

Addressed by: https://review.openstack.org/367688
    Allow referencing conditions by name

Addressed by: https://review.openstack.org/368351
    Create ResourceDefinitions directly in ResourceGroup/Chain

Addressed by: https://review.openstack.org/367686
    Make cfn functions inherit from HOT

Addressed by: https://review.openstack.org/367687
    Refactor boolean condition functions

Addressed by: https://review.openstack.org/368352
    Refactor resource definition parsing in HOT/cfn

Addressed by: https://review.openstack.org/369790
    Add releasenote for conditions function

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.