heat_template_version: 2013-05-23 description: > TOSCA simple profile with a Single Block Storage node shared by 2-Tier Application with custom AttachesTo Type and implied relationships. parameters: cpus: type: number description: Number of CPUs for the server. default: 1 constraints: - allowed_values: - 1 - 2 - 4 - 8 storage_size: type: number description: Size of the storage to be created. default: 1 storage_snapshot_id: type: string description: Optional identifier for an existing snapshot to use when creating storage. default: ssid resources: my_storage: type: OS::Cinder::Volume properties: size: get_param: storage_size snapshot_id: get_param: storage_snapshot_id my_web_app_tier_1: type: OS::Nova::Server properties: flavor: m1.medium image: fedora-amd64-heat-config user_data_format: SOFTWARE_CONFIG software_config_transport: POLL_SERVER_HEAT depends_on: - my_storage myattachesto_2: type: OS::Cinder::VolumeAttachment properties: instance_uuid: get_resource: my_web_app_tier_1 mountpoint: /default_location volume_id: get_resource: my_storage my_web_app_tier_2: type: OS::Nova::Server properties: flavor: m1.medium image: fedora-amd64-heat-config user_data_format: SOFTWARE_CONFIG software_config_transport: POLL_SERVER_HEAT depends_on: - my_storage myattachesto_1: type: OS::Cinder::VolumeAttachment properties: instance_uuid: get_resource: my_web_app_tier_2 mountpoint: /some_other_data_location volume_id: get_resource: my_storage outputs: private_ip_1: description: The private IP address of the applications first tier. value: get_attr: - my_web_app_tier_1 - networks private_ip_2: description: The private IP address of the applications second tier. value: get_attr: - my_web_app_tier_2 - networks volume_id: description: The volume id of the block storage instance. value: get_resource: my_storage