87e6bd35920dcb98b4c2ce18fdb2f78a76815d2a
[parser.git] /
1 heat_template_version: 2014-10-16
2
3 description: >
4   TOSCA simple profile with a single Block Storage node shared by 2-Tier
5   Application with custom AttachesTo Type and explicit Relationship Templates.
6
7 parameters:
8   cpus:
9     type: number
10     description: Number of CPUs for the server.
11     default: 1
12     constraints:
13     - allowed_values:
14       - 1
15       - 2
16       - 4
17       - 8
18   storage_location:
19     type: string
20     description: Block storage mount point (filesystem path).
21     default: /dev/vdc
22   storage_size:
23     type: number
24     description: Size of the storage to be created.
25     default: 1
26   storage_snapshot_id:
27     type: string
28     description: Optional identifier for an existing snapshot to use when creating storage.
29     default: ssid
30
31 resources:
32   my_storage:
33     type: OS::Cinder::Volume
34     properties:
35       size:
36         get_param: storage_size
37       snapshot_id:
38         get_param: storage_snapshot_id
39
40   my_web_app_tier_1:
41     type: OS::Nova::Server
42     properties:
43       flavor: m1.small
44       image: fedora-amd64-heat-config
45       user_data_format: SOFTWARE_CONFIG
46       software_config_transport: POLL_SERVER_HEAT
47     depends_on:
48     - my_storage
49
50   storage_attachesto_1_2:
51     type: OS::Cinder::VolumeAttachment
52     properties:
53       instance_uuid:
54         get_resource: my_web_app_tier_1
55       mountpoint: /my_data_location
56       volume_id:
57         get_resource: my_storage
58
59   my_web_app_tier_2:
60     type: OS::Nova::Server
61     properties:
62       flavor: m1.small
63       image: fedora-amd64-heat-config
64       user_data_format: SOFTWARE_CONFIG
65       software_config_transport: POLL_SERVER_HEAT
66     depends_on:
67     - my_storage
68
69   storage_attachesto_2_1:
70     type: OS::Cinder::VolumeAttachment
71     properties:
72       instance_uuid:
73         get_resource: my_web_app_tier_2
74       mountpoint: /some_other_data_location
75       volume_id:
76         get_resource: my_storage
77
78 outputs:
79   private_ip_1:
80     description: The private IP address of the applications first tier.
81     value:
82       get_attr:
83       - my_web_app_tier_1
84       - first_address
85   private_ip_2:
86     description: The private IP address of the applications second tier.
87     value:
88       get_attr:
89       - my_web_app_tier_2
90       - first_address
91   volume_id:
92     description: The volume id of the block storage instance.
93     value:
94       get_resource: my_storage