tosca_definitions_version: tosca_simple_yaml_1_0 description: >- TOSCA simple profile with server and attached block storage using the normative AttachesTo Relationship Type. metadata: template_name: block-storage-1 template_author: TOSCA Simple Profile in YAML template_version: '1.0' topology_template: inputs: cpus: type: integer description: Number of CPUs for the server. constraints: - valid_values: [ 1, 2, 4, 8 ] storage_size: type: scalar-unit.size description: Size of the storage to be created. default: 1 GB storage_snapshot_id: type: string description: >- Optional identifier for an existing snapshot to use when creating storage. storage_location: type: string description: Block storage mount point (filesystem path). node_templates: my_server: type: Compute capabilities: host: properties: disk_size: 10 GB num_cpus: { get_input: cpus } mem_size: 1 GB os: properties: architecture: x86_64 type: linux distribution: fedora version: 18.0 requirements: - local_storage: node: my_storage relationship: type: AttachesTo properties: location: { get_input: storage_location } my_storage: type: BlockStorage properties: size: { get_input: storage_size } snapshot_id: { get_input: storage_snapshot_id } outputs: private_ip: description: The private IP address of the newly created compute instance. value: { get_attribute: [ my_server, private_address ] } volume_id: description: The volume id of the block storage instance. value: { get_property: [ my_storage, volume_id ] } # ARIA NOTE: wrong in spec