diff options
author | Steve Baker <sbaker@redhat.com> | 2014-07-08 12:14:28 +1200 |
---|---|---|
committer | Steve Baker <sbaker@redhat.com> | 2014-08-01 10:49:59 +1200 |
commit | d1d829e6aceba61532041d8499dc4ffd8055fbc2 (patch) | |
tree | 17cc9b01eaca65d8c85df9f9acea2f4d3c54bf3f /examples | |
parent | 998c5dda9c6d3ddf0f654c71d4c172b7b6dd3e59 (diff) |
merge.py --hot to process and generate HOT
This adds a --hot flag to merge.py which will assume source templates
are in the HOT format, and generate a HOT template artifact.
Tests have also been ported to HOT, along with some minor corrections
to the existing tests to make the source and result templates valid
heat templates.
Partial-Blueprint: tripleo-juno-remove-mergepy
Change-Id: If18ff79f89456123c884a1ab2f910ce4cc9a6e0b
Diffstat (limited to 'examples')
-rw-r--r-- | examples/launchconfig1.yaml | 1 | ||||
-rw-r--r-- | examples/launchconfig1_hot.yaml | 24 | ||||
-rw-r--r-- | examples/launchconfig2.yaml | 1 | ||||
-rw-r--r-- | examples/launchconfig2_hot.yaml | 20 | ||||
-rw-r--r-- | examples/launchconfig_result_hot.yaml | 43 | ||||
-rw-r--r-- | examples/lib_hot.yaml | 13 | ||||
-rw-r--r-- | examples/scale1.yaml | 1 | ||||
-rw-r--r-- | examples/scale1_hot.yaml | 32 | ||||
-rw-r--r-- | examples/scale2_hot.yaml | 69 | ||||
-rw-r--r-- | examples/scale_map.yaml | 1 | ||||
-rw-r--r-- | examples/scale_map2_hot.yaml | 54 | ||||
-rw-r--r-- | examples/scale_map_hot.yaml | 56 | ||||
-rw-r--r-- | examples/scale_map_result_hot.yaml | 367 | ||||
-rw-r--r-- | examples/scale_result_hot.yaml | 193 | ||||
-rw-r--r-- | examples/source.yaml | 5 | ||||
-rw-r--r-- | examples/source2_hot.yaml | 4 | ||||
-rw-r--r-- | examples/source2_lib_result_hot.yaml | 16 | ||||
-rw-r--r-- | examples/source_hot.yaml | 16 | ||||
-rw-r--r-- | examples/source_include_subkey.yaml | 1 | ||||
-rw-r--r-- | examples/source_include_subkey_hot.yaml | 11 | ||||
-rw-r--r-- | examples/source_include_subkey_result_hot.yaml | 14 | ||||
-rw-r--r-- | examples/source_lib_result.yaml | 6 | ||||
-rw-r--r-- | examples/source_lib_result_hot.yaml | 24 |
23 files changed, 967 insertions, 5 deletions
diff --git a/examples/launchconfig1.yaml b/examples/launchconfig1.yaml index 9127eab9..70ea2463 100644 --- a/examples/launchconfig1.yaml +++ b/examples/launchconfig1.yaml @@ -1,3 +1,4 @@ +HeatTemplateFormatVersion: '2012-12-12' Parameters: A: Type: String diff --git a/examples/launchconfig1_hot.yaml b/examples/launchconfig1_hot.yaml new file mode 100644 index 00000000..1354f469 --- /dev/null +++ b/examples/launchconfig1_hot.yaml @@ -0,0 +1,24 @@ +heat_template_version: 2013-05-23 +parameters: + A: + type: string + default: test1 + B: + type: string + default: test2 + resource1Image: + type: string + default: resource1 +resources: + notcomputeConfigBase: + type: AWS::AutoScaling::LaunchConfiguration + metadata: + OpenStack::Role: notcomputeConfig + a: {get_param: A} + b: {get_param: B} + resource1: + type: OS::Nova::Server + properties: + flavor: test_flavor + image: {get_param: resource1Image} + key_name: test_key diff --git a/examples/launchconfig2.yaml b/examples/launchconfig2.yaml index 1681637b..3ced0cc4 100644 --- a/examples/launchconfig2.yaml +++ b/examples/launchconfig2.yaml @@ -1,3 +1,4 @@ +HeatTemplateFormatVersion: '2012-12-12' Parameters: C: Type: String diff --git a/examples/launchconfig2_hot.yaml b/examples/launchconfig2_hot.yaml new file mode 100644 index 00000000..3bd5549d --- /dev/null +++ b/examples/launchconfig2_hot.yaml @@ -0,0 +1,20 @@ +heat_template_version: 2013-05-23 +parameters: + C: + type: string + default: test3 + resource2Image: + type: string + default: resource2 +resources: + notcomputeConfigMixin: + type: AWS::AutoScaling::LaunchConfiguration + metadata: + OpenStack::Role: notcomputeConfig + c: {get_param: C} + resource2: + type: OS::Nova::Server + properties: + flavor: test_flavor + image: {get_param: resource2Image} + key_name: test_key diff --git a/examples/launchconfig_result_hot.yaml b/examples/launchconfig_result_hot.yaml new file mode 100644 index 00000000..e3019f20 --- /dev/null +++ b/examples/launchconfig_result_hot.yaml @@ -0,0 +1,43 @@ +description: examples/launchconfig1_hot.yaml,examples/launchconfig2_hot.yaml +heat_template_version: '2013-05-23' +parameters: + A: + default: test1 + type: string + B: + default: test2 + type: string + C: + default: test3 + type: string + resource1Image: + default: resource1 + type: string + resource2Image: + default: resource2 + type: string +resources: + notcomputeConfig: + metadata: + OpenStack::Role: notcomputeConfig + a: + get_param: A + b: + get_param: B + c: + get_param: C + type: AWS::AutoScaling::LaunchConfiguration + resource1: + properties: + flavor: test_flavor + image: + get_param: resource1Image + key_name: test_key + type: OS::Nova::Server + resource2: + properties: + flavor: test_flavor + image: + get_param: resource2Image + key_name: test_key + type: OS::Nova::Server diff --git a/examples/lib_hot.yaml b/examples/lib_hot.yaml new file mode 100644 index 00000000..b5af05e4 --- /dev/null +++ b/examples/lib_hot.yaml @@ -0,0 +1,13 @@ +parameters: + ImportantValue: + default: a_default + type: string + BImage: + type: string +resources: + GenericB: + type: OS::Nova::Server + properties: + image: {get_param: BImage} + metadata: + my_meta: {get_param: ImportantValue} diff --git a/examples/scale1.yaml b/examples/scale1.yaml index bbe618da..6acb6049 100644 --- a/examples/scale1.yaml +++ b/examples/scale1.yaml @@ -1,3 +1,4 @@ +HeatTemplateFormatVersion: '2012-12-12' Resources: ComputeUser: Type: AWS::IAM::User diff --git a/examples/scale1_hot.yaml b/examples/scale1_hot.yaml new file mode 100644 index 00000000..5597bbbf --- /dev/null +++ b/examples/scale1_hot.yaml @@ -0,0 +1,32 @@ +heat_template_version: 2013-05-23 +resources: + ComputeUser: + type: AWS::IAM::User + properties: + Policies: [ { get_param: ComputeAccessPolicy } ] + GlobalAccessPolicy: + type: OS::Heat::AccessPolicy + NovaCompute0Key: + type: FileInclude + Path: examples/scale2_hot.yaml + SubKey: resources.NovaCompute0Key + NovaCompute0CompletionCondition: + type: FileInclude + Path: examples/scale2_hot.yaml + SubKey: resources.NovaCompute0CompletionCondition + NovaCompute0CompletionHandle: + type: FileInclude + Path: examples/scale2_hot.yaml + SubKey: resources.NovaCompute0CompletionHandle + NovaCompute0Config: + type: FileInclude + Path: examples/scale2_hot.yaml + SubKey: resources.NovaCompute0Config + parameters: + ComputeImage: "123" + RabbitUserName: "guest" + RabbitPassword: "guest" + NovaCompute0: + type: FileInclude + Path: examples/scale2_hot.yaml + SubKey: resources.NovaCompute0 diff --git a/examples/scale2_hot.yaml b/examples/scale2_hot.yaml new file mode 100644 index 00000000..8800a6c8 --- /dev/null +++ b/examples/scale2_hot.yaml @@ -0,0 +1,69 @@ +heat_template_version: 2013-05-23 +parameters: + ComputeImage: + type: string + RabbitUserName: + type: string + RabbitPassword: + type: string + hidden: true +resources: + ComputeAccessPolicy: + type: OS::Heat::AccessPolicy + properties: + AllowedResources: [ NovaCompute0 ] + NovaCompute0Key: + type: AWS::IAM::AccessKey + properties: + UserName: + get_param: ComputeUser + NovaCompute0CompletionCondition: + type: AWS::CloudFormation::WaitCondition + depends_on: notcompute + properties: + Handle: {get_resource: NovaCompute0CompletionHandle} + Count: '1' + Timeout: '1800' + NovaCompute0CompletionHandle: + type: AWS::CloudFormation::WaitConditionHandle + NovaCompute0: + type: OS::Nova::Server + properties: + image: + get_param: ComputeImage + metadata: + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute0Key + secret_access_key: + get_attr: [ NovaCompute0Key, SecretAccessKey ] + stack_name: {get_param: 'AWS::StackName'} + path: NovaCompute0Config.Metadata + NovaCompute0Config: + type: AWS::AutoScaling::LaunchConfiguration + metadata: + completion-handle: + get_resource: NovaCompute0CompletionHandle + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute0Key + secret_access_key: + get_attr: [ NovaCompute0Key, SecretAccessKey ] + stack_name: {get_param: 'AWS::StackName'} + path: NovaCompute0Config.Metadata + neutron: + ovs: + local_ip: + Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute0 + - networks + rabbit: + username: {get_param: RabbitUserName} + password: {get_param: RabbitPassword} + diff --git a/examples/scale_map.yaml b/examples/scale_map.yaml index 7c79ad57..08bcbf7c 100644 --- a/examples/scale_map.yaml +++ b/examples/scale_map.yaml @@ -1,3 +1,4 @@ +HeatTemplateFormatVersion: '2012-12-12' Resources: ComputeUser: Type: AWS::IAM::User diff --git a/examples/scale_map2_hot.yaml b/examples/scale_map2_hot.yaml new file mode 100644 index 00000000..b2b6dfbb --- /dev/null +++ b/examples/scale_map2_hot.yaml @@ -0,0 +1,54 @@ +heat_template_version: 2013-05-23 +parameters: + AllHosts: + type: string + ComputeImage: + type: string +resources: + ComputeAccessPolicy: + type: OS::Heat::AccessPolicy + properties: + AllowedResources: [ NovaCompute0 ] + NovaCompute0Key: + type: AWS::IAM::AccessKey + properties: + UserName: + get_param: ComputeUser + NovaCompute0CompletionCondition: + type: AWS::CloudFormation::WaitCondition + depends_on: notcompute + properties: + Handle: {get_resource: NovaCompute0CompletionHandle} + Count: '1' + Timeout: '1800' + NovaCompute0CompletionHandle: + type: AWS::CloudFormation::WaitConditionHandle + NovaCompute0: + type: OS::Nova::Server + properties: + image: + get_param: ComputeImage + metadata: + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute0Key + secret_access_key: + get_attr: [ NovaCompute0Key, SecretAccessKey ] + stack_name: {get_param: 'AWS::StackName'} + path: NovaCompute0Config.Metadata + NovaCompute0Config: + type: AWS::AutoScaling::LaunchConfiguration + metadata: + completion-handle: + get_resource: NovaCompute0CompletionHandle + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute0Key + secret_access_key: + get_attr: [ NovaCompute0Key, SecretAccessKey ] + stack_name: {get_param: 'AWS::StackName'} + path: NovaCompute0Config.Metadata + hosts: + get_param: AllHosts diff --git a/examples/scale_map_hot.yaml b/examples/scale_map_hot.yaml new file mode 100644 index 00000000..282d49bb --- /dev/null +++ b/examples/scale_map_hot.yaml @@ -0,0 +1,56 @@ +heat_template_version: 2013-05-23 +resources: + ComputeUser: + type: AWS::IAM::User + properties: + Policies: [ { get_param: ComputeAccessPolicy } ] + GlobalAccessPolicy: + type: OS::Heat::AccessPolicy + NovaCompute0Key: + type: FileInclude + Path: examples/scale_map2_hot.yaml + SubKey: resources.NovaCompute0Key + NovaCompute0CompletionCondition: + type: FileInclude + Path: examples/scale_map2_hot.yaml + SubKey: resources.NovaCompute0CompletionCondition + NovaCompute0CompletionHandle: + type: FileInclude + Path: examples/scale_map2_hot.yaml + SubKey: resources.NovaCompute0CompletionHandle + NovaCompute0Config: + type: FileInclude + Path: examples/scale_map2_hot.yaml + SubKey: resources.NovaCompute0Config + parameters: + AllHosts: + list_join: + - "\n" + - Merge::Map: + NovaCompute0: + list_join: + - ' ' + - - Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute0 + - networks + - Fn::Select: + - name + - get_attr: + - NovaCompute0 + - show + - list_join: + - '.' + - - Fn::Select: + - name + - get_attr: + - NovaCompute0 + - show + - 'local' + NovaCompute0: + type: FileInclude + Path: examples/scale_map2_hot.yaml + SubKey: resources.NovaCompute0 diff --git a/examples/scale_map_result_hot.yaml b/examples/scale_map_result_hot.yaml new file mode 100644 index 00000000..5976e54e --- /dev/null +++ b/examples/scale_map_result_hot.yaml @@ -0,0 +1,367 @@ +description: examples/scale_map_hot.yaml +heat_template_version: '2013-05-23' +resources: + ComputeUser: + properties: + Policies: + - get_param: ComputeAccessPolicy + type: AWS::IAM::User + GlobalAccessPolicy: + type: OS::Heat::AccessPolicy + NovaCompute0: + metadata: + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute0Key + path: NovaCompute0Config.Metadata + secret_access_key: + get_attr: + - NovaCompute0Key + - SecretAccessKey + stack_name: + get_param: AWS::StackName + properties: + image: + get_param: ComputeImage + type: OS::Nova::Server + NovaCompute0CompletionCondition: + depends_on: notcompute + properties: + Count: '1' + Handle: + get_resource: NovaCompute0CompletionHandle + Timeout: '1800' + type: AWS::CloudFormation::WaitCondition + NovaCompute0CompletionHandle: + type: AWS::CloudFormation::WaitConditionHandle + NovaCompute0Config: + metadata: + completion-handle: + get_resource: NovaCompute0CompletionHandle + hosts: + list_join: + - ' + + ' + - - list_join: + - ' ' + - - Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute0 + - networks + - Fn::Select: + - name + - get_attr: + - NovaCompute0 + - show + - list_join: + - . + - - Fn::Select: + - name + - get_attr: + - NovaCompute0 + - show + - local + - list_join: + - ' ' + - - Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute1 + - networks + - Fn::Select: + - name + - get_attr: + - NovaCompute1 + - show + - list_join: + - . + - - Fn::Select: + - name + - get_attr: + - NovaCompute1 + - show + - local + - list_join: + - ' ' + - - Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute2 + - networks + - Fn::Select: + - name + - get_attr: + - NovaCompute2 + - show + - list_join: + - . + - - Fn::Select: + - name + - get_attr: + - NovaCompute2 + - show + - local + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute0Key + path: NovaCompute0Config.Metadata + secret_access_key: + get_attr: + - NovaCompute0Key + - SecretAccessKey + stack_name: + get_param: AWS::StackName + type: AWS::AutoScaling::LaunchConfiguration + NovaCompute0Key: + properties: + UserName: + get_param: ComputeUser + type: AWS::IAM::AccessKey + NovaCompute1: + metadata: + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute1Key + path: NovaCompute1Config.Metadata + secret_access_key: + get_attr: + - NovaCompute1Key + - SecretAccessKey + stack_name: + get_param: AWS::StackName + properties: + image: + get_param: ComputeImage + type: OS::Nova::Server + NovaCompute1CompletionCondition: + depends_on: notcompute + properties: + Count: '1' + Handle: + get_resource: NovaCompute1CompletionHandle + Timeout: '1800' + type: AWS::CloudFormation::WaitCondition + NovaCompute1CompletionHandle: + type: AWS::CloudFormation::WaitConditionHandle + NovaCompute1Config: + metadata: + completion-handle: + get_resource: NovaCompute1CompletionHandle + hosts: + list_join: + - ' + + ' + - - list_join: + - ' ' + - - Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute0 + - networks + - Fn::Select: + - name + - get_attr: + - NovaCompute0 + - show + - list_join: + - . + - - Fn::Select: + - name + - get_attr: + - NovaCompute0 + - show + - local + - list_join: + - ' ' + - - Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute1 + - networks + - Fn::Select: + - name + - get_attr: + - NovaCompute1 + - show + - list_join: + - . + - - Fn::Select: + - name + - get_attr: + - NovaCompute1 + - show + - local + - list_join: + - ' ' + - - Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute2 + - networks + - Fn::Select: + - name + - get_attr: + - NovaCompute2 + - show + - list_join: + - . + - - Fn::Select: + - name + - get_attr: + - NovaCompute2 + - show + - local + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute1Key + path: NovaCompute1Config.Metadata + secret_access_key: + get_attr: + - NovaCompute1Key + - SecretAccessKey + stack_name: + get_param: AWS::StackName + type: AWS::AutoScaling::LaunchConfiguration + NovaCompute1Key: + properties: + UserName: + get_param: ComputeUser + type: AWS::IAM::AccessKey + NovaCompute2: + metadata: + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute2Key + path: NovaCompute2Config.Metadata + secret_access_key: + get_attr: + - NovaCompute2Key + - SecretAccessKey + stack_name: + get_param: AWS::StackName + properties: + image: + get_param: ComputeImage + type: OS::Nova::Server + NovaCompute2CompletionCondition: + depends_on: notcompute + properties: + Count: '1' + Handle: + get_resource: NovaCompute2CompletionHandle + Timeout: '1800' + type: AWS::CloudFormation::WaitCondition + NovaCompute2CompletionHandle: + type: AWS::CloudFormation::WaitConditionHandle + NovaCompute2Config: + metadata: + completion-handle: + get_resource: NovaCompute2CompletionHandle + hosts: + list_join: + - ' + + ' + - - list_join: + - ' ' + - - Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute0 + - networks + - Fn::Select: + - name + - get_attr: + - NovaCompute0 + - show + - list_join: + - . + - - Fn::Select: + - name + - get_attr: + - NovaCompute0 + - show + - local + - list_join: + - ' ' + - - Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute1 + - networks + - Fn::Select: + - name + - get_attr: + - NovaCompute1 + - show + - list_join: + - . + - - Fn::Select: + - name + - get_attr: + - NovaCompute1 + - show + - local + - list_join: + - ' ' + - - Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute2 + - networks + - Fn::Select: + - name + - get_attr: + - NovaCompute2 + - show + - list_join: + - . + - - Fn::Select: + - name + - get_attr: + - NovaCompute2 + - show + - local + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute2Key + path: NovaCompute2Config.Metadata + secret_access_key: + get_attr: + - NovaCompute2Key + - SecretAccessKey + stack_name: + get_param: AWS::StackName + type: AWS::AutoScaling::LaunchConfiguration + NovaCompute2Key: + properties: + UserName: + get_param: ComputeUser + type: AWS::IAM::AccessKey diff --git a/examples/scale_result_hot.yaml b/examples/scale_result_hot.yaml new file mode 100644 index 00000000..17c05147 --- /dev/null +++ b/examples/scale_result_hot.yaml @@ -0,0 +1,193 @@ +description: examples/scale1_hot.yaml +heat_template_version: '2013-05-23' +resources: + ComputeUser: + properties: + Policies: + - get_param: ComputeAccessPolicy + type: AWS::IAM::User + GlobalAccessPolicy: + type: OS::Heat::AccessPolicy + NovaCompute0: + metadata: + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute0Key + path: NovaCompute0Config.Metadata + secret_access_key: + get_attr: + - NovaCompute0Key + - SecretAccessKey + stack_name: + get_param: AWS::StackName + properties: + image: + get_param: ComputeImage + type: OS::Nova::Server + NovaCompute0CompletionCondition: + depends_on: notcompute + properties: + Count: '1' + Handle: + get_resource: NovaCompute0CompletionHandle + Timeout: '1800' + type: AWS::CloudFormation::WaitCondition + NovaCompute0CompletionHandle: + type: AWS::CloudFormation::WaitConditionHandle + NovaCompute0Config: + metadata: + completion-handle: + get_resource: NovaCompute0CompletionHandle + neutron: + ovs: + local_ip: + Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute0 + - networks + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute0Key + path: NovaCompute0Config.Metadata + secret_access_key: + get_attr: + - NovaCompute0Key + - SecretAccessKey + stack_name: + get_param: AWS::StackName + rabbit: + password: guest + username: guest + type: AWS::AutoScaling::LaunchConfiguration + NovaCompute0Key: + properties: + UserName: + get_param: ComputeUser + type: AWS::IAM::AccessKey + NovaCompute1: + metadata: + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute1Key + path: NovaCompute1Config.Metadata + secret_access_key: + get_attr: + - NovaCompute1Key + - SecretAccessKey + stack_name: + get_param: AWS::StackName + properties: + image: + get_param: ComputeImage + type: OS::Nova::Server + NovaCompute1CompletionCondition: + depends_on: notcompute + properties: + Count: '1' + Handle: + get_resource: NovaCompute1CompletionHandle + Timeout: '1800' + type: AWS::CloudFormation::WaitCondition + NovaCompute1CompletionHandle: + type: AWS::CloudFormation::WaitConditionHandle + NovaCompute1Config: + metadata: + completion-handle: + get_resource: NovaCompute1CompletionHandle + neutron: + ovs: + local_ip: + Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute1 + - networks + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute1Key + path: NovaCompute1Config.Metadata + secret_access_key: + get_attr: + - NovaCompute1Key + - SecretAccessKey + stack_name: + get_param: AWS::StackName + rabbit: + password: guest + username: guest + type: AWS::AutoScaling::LaunchConfiguration + NovaCompute1Key: + properties: + UserName: + get_param: ComputeUser + type: AWS::IAM::AccessKey + NovaCompute2: + metadata: + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute2Key + path: NovaCompute2Config.Metadata + secret_access_key: + get_attr: + - NovaCompute2Key + - SecretAccessKey + stack_name: + get_param: AWS::StackName + properties: + image: + get_param: ComputeImage + type: OS::Nova::Server + NovaCompute2CompletionCondition: + depends_on: notcompute + properties: + Count: '1' + Handle: + get_resource: NovaCompute2CompletionHandle + Timeout: '1800' + type: AWS::CloudFormation::WaitCondition + NovaCompute2CompletionHandle: + type: AWS::CloudFormation::WaitConditionHandle + NovaCompute2Config: + metadata: + completion-handle: + get_resource: NovaCompute2CompletionHandle + neutron: + ovs: + local_ip: + Fn::Select: + - 0 + - Fn::Select: + - ctlplane + - get_attr: + - NovaCompute2 + - networks + os-collect-config: + cfn: + access_key_id: + get_resource: NovaCompute2Key + path: NovaCompute2Config.Metadata + secret_access_key: + get_attr: + - NovaCompute2Key + - SecretAccessKey + stack_name: + get_param: AWS::StackName + rabbit: + password: guest + username: guest + type: AWS::AutoScaling::LaunchConfiguration + NovaCompute2Key: + properties: + UserName: + get_param: ComputeUser + type: AWS::IAM::AccessKey diff --git a/examples/source.yaml b/examples/source.yaml index 89707a7b..88f0bde7 100644 --- a/examples/source.yaml +++ b/examples/source.yaml @@ -1,7 +1,8 @@ +HeatTemplateFormatVersion: '2012-12-12' Parameters: SourceImage: - Type: String - Default: my_image + Type: String + Default: my_image Resources: A: Type: OS::Nova::Server diff --git a/examples/source2_hot.yaml b/examples/source2_hot.yaml new file mode 100644 index 00000000..e3861a6c --- /dev/null +++ b/examples/source2_hot.yaml @@ -0,0 +1,4 @@ +__include__: + path: examples/lib_hot.yaml + params: + ImportantValue: Foo diff --git a/examples/source2_lib_result_hot.yaml b/examples/source2_lib_result_hot.yaml new file mode 100644 index 00000000..3f891e47 --- /dev/null +++ b/examples/source2_lib_result_hot.yaml @@ -0,0 +1,16 @@ +description: examples/source2_hot.yaml +heat_template_version: '2013-05-23' +parameters: + BImage: + type: string + ImportantValue: + default: a_default + type: string +resources: + GenericB: + metadata: + my_meta: Foo + properties: + image: + get_param: BImage + type: OS::Nova::Server diff --git a/examples/source_hot.yaml b/examples/source_hot.yaml new file mode 100644 index 00000000..e8dd59a3 --- /dev/null +++ b/examples/source_hot.yaml @@ -0,0 +1,16 @@ +heat_template_version: 2013-05-23 +parameters: + SourceImage: + type: string + default: my_image +resources: + A: + type: OS::Nova::Server + properties: + image: {get_param: SourceImage} + B: + type: FileInclude + Path: examples/lib_hot.yaml + SubKey: resources.GenericB + parameters: + ImportantValue: {list_join: [ '', ['one', 'two', 'three']]} diff --git a/examples/source_include_subkey.yaml b/examples/source_include_subkey.yaml index be344cd8..37591d80 100644 --- a/examples/source_include_subkey.yaml +++ b/examples/source_include_subkey.yaml @@ -1,3 +1,4 @@ +HeatTemplateFormatVersion: '2012-12-12' Parameters: Foo: Type: String diff --git a/examples/source_include_subkey_hot.yaml b/examples/source_include_subkey_hot.yaml new file mode 100644 index 00000000..b330efe6 --- /dev/null +++ b/examples/source_include_subkey_hot.yaml @@ -0,0 +1,11 @@ +heat_template_version: 2013-05-23 +parameters: + Foo: + type: string +resources: + __include__: + path: examples/lib_hot.yaml + subkey: resources + params: + BImage: + get_param: Foo diff --git a/examples/source_include_subkey_result_hot.yaml b/examples/source_include_subkey_result_hot.yaml new file mode 100644 index 00000000..f8853c23 --- /dev/null +++ b/examples/source_include_subkey_result_hot.yaml @@ -0,0 +1,14 @@ +description: examples/source_include_subkey_hot.yaml +heat_template_version: '2013-05-23' +parameters: + Foo: + type: string +resources: + GenericB: + metadata: + my_meta: + get_param: ImportantValue + properties: + image: + get_param: Foo + type: OS::Nova::Server diff --git a/examples/source_lib_result.yaml b/examples/source_lib_result.yaml index ceb8a321..5844c813 100644 --- a/examples/source_lib_result.yaml +++ b/examples/source_lib_result.yaml @@ -1,9 +1,9 @@ Description: examples/source.yaml HeatTemplateFormatVersion: '2012-12-12' Parameters: - Default: my_image - SourceImage: null - Type: String + SourceImage: + Default: my_image + Type: String Resources: A: Properties: diff --git a/examples/source_lib_result_hot.yaml b/examples/source_lib_result_hot.yaml new file mode 100644 index 00000000..4c07da0c --- /dev/null +++ b/examples/source_lib_result_hot.yaml @@ -0,0 +1,24 @@ +description: examples/source_hot.yaml +heat_template_version: '2013-05-23' +parameters: + SourceImage: + default: my_image + type: string +resources: + A: + properties: + image: + get_param: SourceImage + type: OS::Nova::Server + B: + metadata: + my_meta: + list_join: + - '' + - - one + - two + - three + properties: + image: + get_param: BImage + type: OS::Nova::Server |