heat_template_version: 2013-05-23 description: > TOSCA simple profile with server and attached block storage using a custom AttachesTo Relationship Type. parameters: cpus: type: number description: Number of CPUs for the server. default: 1 constraints: - allowed_values: - 1 - 2 - 4 - 8 storage_location: type: string description: Block storage mount point (filesystem path). default: /dev/vdc 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_server: type: OS::Nova::Server properties: flavor: m1.small image: fedora-amd64-heat-config user_data_format: SOFTWARE_CONFIG software_config_transport: POLL_SERVER_HEAT depends_on: - my_storage my_storage: type: OS::Cinder::Volume properties: size: get_param: storage_size snapshot_id: get_param: storage_snapshot_id mycustomattachesto_1: type: OS::Cinder::VolumeAttachment properties: instance_uuid: get_resource: my_server volume_id: get_resource: my_storage mountpoint: get_param: storage_location outputs: private_ip: description: The private IP address of the newly created compute instance. value: get_attr: - my_server - networks volume_id: description: The volume id of the block storage instance. value: get_resource: my_storage