You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ariatosca.apache.org by mx...@apache.org on 2017/02/19 17:03:20 UTC

[2/7] incubator-ariatosca git commit: ARIA-88 Add TOSCA use-case examples

ARIA-88 Add TOSCA use-case examples


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/787d7e7e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/787d7e7e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/787d7e7e

Branch: refs/heads/ARIA-106-Create-sqla-logging-handler
Commit: 787d7e7e6d210adba96dc0057fdf43f4c0034658
Parents: b619335
Author: Tal Liron <ta...@gmail.com>
Authored: Wed Feb 15 12:48:56 2017 -0600
Committer: Tal Liron <ta...@gmail.com>
Committed: Thu Feb 16 08:49:52 2017 -0600

----------------------------------------------------------------------
 MANIFEST.in                                     |   1 +
 aria/parser/modeling/instance_elements.py       |   4 +-
 aria/parser/modeling/model_elements.py          |  10 +-
 .../block-storage-1/block-storage-1.yaml        |  68 +++++
 .../block-storage-2/block-storage-2.yaml        |  75 +++++
 .../block-storage-3/block-storage-3.yaml        |  68 +++++
 .../block-storage-4/block-storage-4.yaml        |  96 ++++++
 .../block-storage-5/block-storage-5.yaml        | 109 +++++++
 .../block-storage-6/block-storage-6.yaml        | 102 +++++++
 .../use-cases/compute-1/compute-1.yaml          |  42 +++
 .../use-cases/container-1/container-1.yaml      |  68 +++++
 .../multi-tier-1/custom_types/collectd.yaml     |  10 +
 .../custom_types/elasticsearch.yaml             |   6 +
 .../multi-tier-1/custom_types/kibana.yaml       |  10 +
 .../multi-tier-1/custom_types/logstash.yaml     |  10 +
 .../multi-tier-1/custom_types/rsyslog.yaml      |  10 +
 .../use-cases/multi-tier-1/multi-tier-1.yaml    | 237 +++++++++++++++
 .../use-cases/network-1/network-1.yaml          |  49 +++
 .../use-cases/network-2/network-2.yaml          |  46 +++
 .../use-cases/network-3/network-3.yaml          |  81 +++++
 .../use-cases/network-4/network-4.yaml          |  70 +++++
 .../use-cases/non-normative-types.yaml          | 177 +++++++++++
 .../object-storage-1/object-storage-1.yaml      |  24 ++
 .../software-component-1.yaml                   |  54 ++++
 .../webserver-dbms-1/webserver-dbms-1.yaml      | 122 ++++++++
 .../paypalpizzastore_nodejs_app.yaml            |  15 +
 .../webserver-dbms-2/webserver-dbms-2.yaml      | 115 +++++++
 .../profiles/tosca-simple-1.0/artifacts.yaml    |  12 +-
 .../profiles/tosca-simple-1.0/capabilities.yaml |   4 +-
 .../profiles/tosca-simple-1.0/data.yaml         |   4 +-
 .../profiles/tosca-simple-1.0/groups.yaml       |   2 +-
 .../profiles/tosca-simple-1.0/interfaces.yaml   |   2 +-
 .../profiles/tosca-simple-1.0/nodes.yaml        |  11 +-
 .../profiles/tosca-simple-1.0/policies.yaml     |  10 +-
 .../tosca-simple-1.0/relationships.yaml         |   4 +-
 .../tosca-simple-nfv-1.0/capabilities.yaml      |   3 +-
 .../profiles/tosca-simple-nfv-1.0/data.yaml     |   2 +-
 .../profiles/tosca-simple-nfv-1.0/groups.yaml   |   2 +-
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml    |  12 +-
 .../simple_v1_0/assignments.py                  |   2 +-
 .../simple_v1_0/functions.py                    |  18 +-
 .../aria_extension_tosca/simple_v1_0/misc.py    |   1 +
 .../simple_v1_0/modeling/__init__.py            |  13 +-
 .../simple_v1_0/modeling/requirements.py        |  29 +-
 .../presentation/field_validators.py            |  18 +-
 tests/end2end/test_parser.py                    |  40 ---
 tests/end2end/test_tosca_simple_v1_0.py         | 112 +++++++
 tests/parser/service_templates.py               |  20 +-
 tests/parser/utils.py                           |   9 +-
 .../tosca-simple-1.0/node-cellar/inputs.yaml    |   3 +
 .../node-cellar/node-cellar.yaml                | 299 +++++++++++++++++++
 .../node-cellar/types/aria.yaml                 |  93 ++++++
 .../node-cellar/types/mongodb.yaml              |  73 +++++
 .../node-cellar/types/nginx.yaml                |  27 ++
 .../node-cellar/types/nodejs.yaml               |  69 +++++
 .../node-cellar/types/openstack.yaml            | 201 +++++++++++++
 .../tosca-simple-1.0/node-cellar/types/os.yaml  |  75 +++++
 .../tosca-simple-1.0/node-cellar/workflows.py   |  16 +
 .../service_templates/node-cellar/inputs.yaml   |   3 -
 .../node-cellar/node-cellar.yaml                | 299 -------------------
 .../node-cellar/types/aria.yaml                 |  93 ------
 .../node-cellar/types/mongodb.yaml              |  73 -----
 .../node-cellar/types/nginx.yaml                |  27 --
 .../node-cellar/types/nodejs.yaml               |  69 -----
 .../node-cellar/types/openstack.yaml            | 201 -------------
 .../service_templates/node-cellar/types/os.yaml |  75 -----
 .../service_templates/node-cellar/workflows.py  |  16 -
 67 files changed, 2737 insertions(+), 984 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/MANIFEST.in
----------------------------------------------------------------------
diff --git a/MANIFEST.in b/MANIFEST.in
index f9bd145..d934e18 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1 +1,2 @@
 include requirements.txt
+recursive-include examples *

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/aria/parser/modeling/instance_elements.py
----------------------------------------------------------------------
diff --git a/aria/parser/modeling/instance_elements.py b/aria/parser/modeling/instance_elements.py
index 523de0b..8310d62 100644
--- a/aria/parser/modeling/instance_elements.py
+++ b/aria/parser/modeling/instance_elements.py
@@ -451,8 +451,8 @@ class Relationship(Element):
                  template_name=None):
         if name is not None and not isinstance(name, basestring):
             raise ValueError('name must be a string or None')
-        if (source_requirement_index is not None and
-                (not isinstance(source_requirement_index, int) or (source_requirement_index < 0))):
+        if source_requirement_index is not None and \
+                (not isinstance(source_requirement_index, int) or (source_requirement_index < 0)):
             raise ValueError('source_requirement_index must be int > 0')
         if type_name is not None and not isinstance(type_name, basestring):
             raise ValueError('type_name must be a string or None')

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/aria/parser/modeling/model_elements.py
----------------------------------------------------------------------
diff --git a/aria/parser/modeling/model_elements.py b/aria/parser/modeling/model_elements.py
index 7346a54..69da60e 100644
--- a/aria/parser/modeling/model_elements.py
+++ b/aria/parser/modeling/model_elements.py
@@ -296,9 +296,8 @@ class RequirementTemplate(ModelElement):
         if target_capability_name is not None and not isinstance(target_capability_name,
                                                                  basestring):
             raise ValueError('target_capability_name must be a string or None')
-        if target_node_type_name is not None and target_node_template_name is not None \
-                or target_node_type_name is None and target_node_template_name is None:
-            raise ValueError('must set either target_node_type_name or target_node_template_name')
+        if target_node_type_name is not None and target_node_template_name is not None:
+            raise ValueError('can set either target_node_type_name or target_node_template_name')
         if target_capability_type_name is not None and target_capability_name is not None:
             raise ValueError('can set either target_capability_type_name or target_capability_name')
 
@@ -552,8 +551,7 @@ class RelationshipTemplate(ModelElement):
             raise ValueError('type_name must be a string or None')
         if (template_name is not None) and (not isinstance(template_name, basestring)):
             raise ValueError('template_name must be a string or None')
-        if type_name is not None and template_name is not None \
-                or type_name is None and template_name is None:
+        if (type_name is None) and (template_name is None):
             raise ValueError('must set either type_name or template_name')
 
         self.type_name = type_name
@@ -576,7 +574,7 @@ class RelationshipTemplate(ModelElement):
             ('target_interface_templates', as_raw_list(self.target_interface_templates))))
 
     def instantiate(self, context, container):
-        relationship = Relationship(self.type_name, self.template_name)
+        relationship = Relationship(name=self.template_name, type_name=self.type_name)
         instantiate_dict(context, container,
                          relationship.properties, self.properties)
         instantiate_dict(context, container,

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/block-storage-1/block-storage-1.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/block-storage-1/block-storage-1.yaml b/examples/tosca-simple-1.0/use-cases/block-storage-1/block-storage-1.yaml
new file mode 100644
index 0000000..ff6dc92
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/block-storage-1/block-storage-1.yaml
@@ -0,0 +1,68 @@
+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_attribute: [ my_storage, volume_id ] }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/block-storage-2/block-storage-2.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/block-storage-2/block-storage-2.yaml b/examples/tosca-simple-1.0/use-cases/block-storage-2/block-storage-2.yaml
new file mode 100644
index 0000000..09c30a7
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/block-storage-2/block-storage-2.yaml
@@ -0,0 +1,75 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile with server and attached block storage using a custom AttachesTo Relationship
+  Type.
+
+metadata:
+  template_name: block-storage-2
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+relationship_types:
+
+  MyCustomAttachesTo:
+     derived_from: AttachesTo
+
+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: 4 GB
+        os:
+          properties:
+            architecture: x86_64
+            type: Linux 
+            distribution: Fedora 
+            version: 18.0
+      requirements:
+        - local_storage:
+            node: my_storage
+            # Declare custom AttachesTo type using the 'relationship' keyword
+            relationship:
+              type: MyCustomAttachesTo
+              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_attribute: [ my_storage, volume_id ] }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/block-storage-3/block-storage-3.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/block-storage-3/block-storage-3.yaml b/examples/tosca-simple-1.0/use-cases/block-storage-3/block-storage-3.yaml
new file mode 100644
index 0000000..3018fe9
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/block-storage-3/block-storage-3.yaml
@@ -0,0 +1,68 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile with server and attached block storage using a named Relationship Template
+  for the storage attachment.
+
+metadata:
+  template_name: block-storage-3
+  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_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: 4 GB
+        os:
+          properties:
+            architecture: x86_64
+            type: Linux 
+            distribution: Fedora 
+            version: 18.0
+      requirements:
+        - local_storage:
+            node: my_storage
+            # Declare template to use with 'relationship' keyword
+            relationship: storage_attachment
+
+    my_storage:
+      type: BlockStorage
+      properties:
+        size: { get_input: storage_size }
+
+  relationship_templates:
+
+    storage_attachment:
+      type: AttachesTo
+      properties:
+        location: { get_input: storage_location }
+
+  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_attribute: [ my_storage, volume_id ] }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/block-storage-4/block-storage-4.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/block-storage-4/block-storage-4.yaml b/examples/tosca-simple-1.0/use-cases/block-storage-4/block-storage-4.yaml
new file mode 100644
index 0000000..0693ddd
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/block-storage-4/block-storage-4.yaml
@@ -0,0 +1,96 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile with a Single Block Storage node shared by 2-Tier Application with custom
+  AttachesTo Type and implied relationships.
+
+metadata:
+  template_name: block-storage-4
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+relationship_types:
+
+  MyAttachesTo:
+    derived_from: tosca.relationships.AttachesTo
+    properties:
+      location:
+        type: string
+        default: /default_location
+
+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
+      default: 1 GB
+      description: Size of the storage to be created.
+    storage_snapshot_id:
+      type: string
+      description: >-
+        Optional identifier for an existing snapshot to use when creating storage.    
+
+  node_templates:
+
+    my_web_app_tier_1:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: { get_input: cpus }
+            mem_size: 4096 MB
+        os:
+          properties:
+            architecture: x86_64
+            type: Linux
+            distribution: Fedora
+            version: 18.0
+      requirements:
+        - local_storage:
+            node: my_storage
+            relationship: MyAttachesTo
+
+    my_web_app_tier_2:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: { get_input: cpus }
+            mem_size: 4096 MB
+        os:
+          properties:
+            architecture: x86_64
+            type: Linux
+            distribution: Fedora
+            version: 18.0
+      requirements:
+        - local_storage:
+            node: my_storage
+            relationship:
+              type: MyAttachesTo
+              properties:
+                location: /some_other_data_location
+
+    my_storage:
+      type: tosca.nodes.BlockStorage
+      properties:
+        size: { get_input: storage_size }
+        snapshot_id: { get_input: storage_snapshot_id }
+
+  outputs:
+    private_ip_1:
+      description: The private IP address of the application's first tier.
+      value: { get_attribute: [ my_web_app_tier_1, private_address ] }
+    private_ip_2:
+      description: The private IP address of the application's second tier.
+      value: { get_attribute: [ my_web_app_tier_2, private_address ] }
+    volume_id:
+      description: The volume id of the block storage instance.
+      value: { get_attribute: [ my_storage, volume_id ] }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/block-storage-5/block-storage-5.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/block-storage-5/block-storage-5.yaml b/examples/tosca-simple-1.0/use-cases/block-storage-5/block-storage-5.yaml
new file mode 100644
index 0000000..5f5cf71
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/block-storage-5/block-storage-5.yaml
@@ -0,0 +1,109 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile with a single Block Storage node shared by 2-Tier Application with custom
+  AttachesTo Type and explicit Relationship Templates.
+
+metadata:
+  template_name: block-storage-5
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+relationship_types:
+
+  MyAttachesTo:
+    derived_from: tosca.relationships.AttachesTo
+    properties:
+      location:
+        type: string
+        default: /default_location
+
+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
+      default: 1 GB
+      description: Size of the storage to be created.
+    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_web_app_tier_1:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: { get_input: cpus }
+            mem_size: 4096 MB
+        os:
+          properties:
+            architecture: x86_64
+            type: Linux
+            distribution: Fedora
+            version: 18.0
+      requirements:
+        - local_storage:
+            node: my_storage
+            relationship: storage_attachesto_1
+
+    my_web_app_tier_2:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: { get_input: cpus }
+            mem_size: 4096 MB
+        os:
+          properties:
+            architecture: x86_64
+            type: Linux
+            distribution: Fedora
+            version: 18.0
+      requirements:
+        - local_storage:
+            node: my_storage
+            relationship: storage_attachesto_2
+
+    my_storage:
+      type: tosca.nodes.BlockStorage
+      properties:
+        size: { get_input: storage_size }
+        snapshot_id: { get_input: storage_snapshot_id }
+
+  relationship_templates:
+
+    storage_attachesto_1:
+      type: MyAttachesTo
+      properties:
+        location: /my_data_location
+
+    storage_attachesto_2:
+      type: MyAttachesTo
+      properties:
+        location: /some_other_data_location
+
+  outputs:
+    private_ip_1:
+      description: The private IP address of the application's first tier.
+      value: { get_attribute: [my_web_app_tier_1, private_address] }
+    private_ip_2:
+      description: The private IP address of the application's second tier.
+      value: { get_attribute: [my_web_app_tier_2, private_address] }
+    volume_id:
+      description: The volume id of the block storage instance.
+      value: { get_attribute: [my_storage, volume_id] }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/block-storage-6/block-storage-6.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/block-storage-6/block-storage-6.yaml b/examples/tosca-simple-1.0/use-cases/block-storage-6/block-storage-6.yaml
new file mode 100644
index 0000000..808245b
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/block-storage-6/block-storage-6.yaml
@@ -0,0 +1,102 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile with 2 servers each with different attached block storage.
+
+metadata:
+  template_name: block-storage-6
+  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
+      default: 1 GB
+      description: Size of the storage to be created.
+    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: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: { get_input: cpus }
+            mem_size: 4096 MB
+        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: tosca.nodes.BlockStorage
+      properties:
+        size: { get_input: storage_size }
+        snapshot_id: { get_input: storage_snapshot_id }
+
+    my_server2:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: { get_input: cpus }
+            mem_size: 4096 MB
+        os:
+          properties:
+            architecture: x86_64
+            type: Linux
+            distribution: Fedora
+            version: 18.0
+      requirements:
+         - local_storage:
+             node: my_storage2
+             relationship:
+               type: AttachesTo
+               properties:
+                 location: { get_input: storage_location }
+
+    my_storage2:
+      type: tosca.nodes.BlockStorage
+      properties:
+        size: { get_input: storage_size }
+        snapshot_id: { get_input: storage_snapshot_id }
+
+  outputs:
+    server_ip_1:
+      description: The private IP address of the application's first server.
+      value: { get_attribute: [ my_server, private_address ] }
+    server_ip_2:
+      description: The private IP address of the application's second server.
+      value: { get_attribute: [ my_server2, private_address ] }
+    volume_id_1:
+      description: The volume id of the first block storage instance.
+      value: { get_attribute: [my_storage, volume_id] }
+    volume_id_2:
+      description: The volume id of the second block storage instance.
+      value: { get_attribute: [ my_storage2, volume_id ] }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/compute-1/compute-1.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/compute-1/compute-1.yaml b/examples/tosca-simple-1.0/use-cases/compute-1/compute-1.yaml
new file mode 100644
index 0000000..254d2b6
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/compute-1/compute-1.yaml
@@ -0,0 +1,42 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile that just defines a single compute instance and selects a (guest) host
+  Operating System from the Compute node's properties. Note, this example does not include default
+  values on inputs properties.
+
+metadata:
+  template_name: compute-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 ]
+
+  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: ubuntu
+            version: 12.04
+
+  outputs:
+    private_ip:
+      description: The private IP address of the deployed server instance.
+      value: { get_attribute: [ my_server, private_address ] }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/container-1/container-1.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/container-1/container-1.yaml b/examples/tosca-simple-1.0/use-cases/container-1/container-1.yaml
new file mode 100644
index 0000000..f6f69fc
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/container-1/container-1.yaml
@@ -0,0 +1,68 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile with wordpress, web server and mysql on the same server.
+
+metadata:
+  template_name: compute-1
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+imports:
+  - ../non-normative-types.yaml
+
+# Repositories to retrieve code artifacts from
+
+repositories:
+
+  docker_hub: https://registry.hub.docker.com/
+
+topology_template:
+
+  inputs:
+    wp_host_port:
+      type: integer
+      description: The host port that maps to port 80 of the WordPress container.
+    db_root_pwd:
+      type: string
+      description: Root password for MySQL.
+
+  node_templates:
+
+    # The MYSQL container based on official MySQL image in Docker hub
+
+    mysql_container:
+      type: tosca.nodes.Container.Application.Docker
+      # ARIA NOTE: moved to a requirement in the node type
+      #capabilities:
+      #  # This is a capability that would mimic the Docker \u2013link feature
+      #  database_link: tosca.capabilities.Docker.Link
+      artifacts:
+        my_image:
+          file: mysql
+          type: tosca.artifacts.Deployment.Image.Container.Docker
+          repository: docker_hub
+      interfaces:
+        Standard:
+          create:
+            implementation: my_image
+            inputs:
+              db_root_password: { get_input: db_root_pwd }
+
+    # The WordPress container based on official WordPress image in Docker hub
+
+    wordpress_container:
+      type: tosca.nodes.Container.Application.Docker
+      requirements:
+        - database_link: mysql_container
+      artifacts:
+        my_image:
+          file: wordpress
+          type: tosca.artifacts.Deployment.Image.Container.Docker
+          repository: docker_hub
+      interfaces:
+        Standard:
+          create:
+            implementation: my_image
+            inputs:
+              host_port: { get_input: wp_host_port }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/collectd.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/collectd.yaml b/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/collectd.yaml
new file mode 100644
index 0000000..6d28899
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/collectd.yaml
@@ -0,0 +1,10 @@
+# ARIA NOTE: missing in spec
+
+node_types:
+
+  tosca.nodes.SoftwareComponent.Collectd:
+    derived_from: tosca.nodes.SoftwareComponent
+    requirements:
+      - collectd_endpoint:
+          capability: tosca.capabilities.Endpoint
+          relationship: tosca.relationships.ConnectsTo

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/elasticsearch.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/elasticsearch.yaml b/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/elasticsearch.yaml
new file mode 100644
index 0000000..32623d1
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/elasticsearch.yaml
@@ -0,0 +1,6 @@
+# ARIA NOTE: missing in spec
+
+node_types:
+
+  tosca.nodes.SoftwareComponent.Elasticsearch:
+    derived_from: tosca.nodes.SoftwareComponent

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/kibana.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/kibana.yaml b/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/kibana.yaml
new file mode 100644
index 0000000..7af00d0
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/kibana.yaml
@@ -0,0 +1,10 @@
+# ARIA NOTE: missing in spec
+
+node_types:
+
+  tosca.nodes.SoftwareComponent.Kibana:
+    derived_from: tosca.nodes.SoftwareComponent
+    requirements:
+      - search_endpoint:
+          capability: tosca.capabilities.Endpoint
+          relationship: tosca.relationships.ConnectsTo

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/logstash.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/logstash.yaml b/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/logstash.yaml
new file mode 100644
index 0000000..a3eebbe
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/logstash.yaml
@@ -0,0 +1,10 @@
+# ARIA NOTE: missing in spec
+
+node_types:
+
+  tosca.nodes.SoftwareComponent.Logstash:
+    derived_from: tosca.nodes.SoftwareComponent
+    requirements:
+      - search_endpoint:
+          capability: tosca.capabilities.Endpoint
+          relationship: tosca.relationships.ConnectsTo

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/rsyslog.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/rsyslog.yaml b/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/rsyslog.yaml
new file mode 100644
index 0000000..3bd7c2b
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/multi-tier-1/custom_types/rsyslog.yaml
@@ -0,0 +1,10 @@
+# ARIA NOTE: missing in spec
+
+node_types:
+
+  tosca.nodes.SoftwareComponent.Rsyslog:
+    derived_from: tosca.nodes.SoftwareComponent
+    requirements:
+      - rsyslog_endpoint:
+          capability: tosca.capabilities.Endpoint
+          relationship: tosca.relationships.ConnectsTo

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/multi-tier-1/multi-tier-1.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/multi-tier-1/multi-tier-1.yaml b/examples/tosca-simple-1.0/use-cases/multi-tier-1/multi-tier-1.yaml
new file mode 100644
index 0000000..3485e49
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/multi-tier-1/multi-tier-1.yaml
@@ -0,0 +1,237 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  This TOSCA simple profile deploys nodejs, mongodb, elasticsearch, logstash and kibana each on a
+  separate server with monitoring enabled for nodejs server where a sample nodejs application is
+  running. The syslog and collectd are installed on a nodejs server.
+
+metadata:
+  template_name: multi-tier-1
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+imports:
+  - ../webserver-dbms-2/custom_types/paypalpizzastore_nodejs_app.yaml # ARIA NOTE: moved
+  - custom_types/elasticsearch.yaml
+  - custom_types/logstash.yaml
+  - custom_types/kibana.yaml
+  - custom_types/collectd.yaml
+  - custom_types/rsyslog.yaml
+
+dsl_definitions:
+
+  host_capabilities: &host_capabilities
+    # container properties (flavor)
+    disk_size: 10 GB
+    num_cpus: { get_input: my_cpus }
+    mem_size: 4096 MB
+  os_capabilities: &os_capabilities
+    architecture: x86_64
+    type: Linux
+    distribution: Ubuntu
+    version: 14.04
+
+topology_template:
+
+  inputs:
+    my_cpus:
+      type: integer
+      description: Number of CPUs for the server.
+      constraints:
+        - valid_values: [ 1, 2, 4, 8 ]
+    github_url:
+       type: string
+       description: The URL to download nodejs.
+       default: https://github.com/sample.git
+
+  node_templates:
+
+    paypal_pizzastore:
+      type: tosca.nodes.WebApplication.PayPalPizzaStore
+      properties:
+        github_url: { get_input: github_url }
+      requirements:
+        - host: nodejs
+        - database_connection: mongo_db
+      interfaces:
+        Standard:
+           configure:
+             implementation: scripts/nodejs/configure.sh
+             inputs:
+               github_url: { get_property: [ SELF, github_url ] }
+               mongodb_ip: { get_attribute: [mongo_server, private_address] }
+           start: scripts/nodejs/start.sh
+
+    nodejs:
+      type: tosca.nodes.WebServer.Nodejs
+      requirements:
+        - host: app_server
+      interfaces:
+        Standard:
+          create: scripts/nodejs/create.sh
+
+    mongo_db:
+      type: tosca.nodes.Database
+      properties:
+        name: 'pizzastore' # ARIA NOTE: missing in spec
+      requirements:
+        - host: mongo_dbms
+      interfaces:
+        Standard:
+         create: create_database.sh
+
+    mongo_dbms:
+      type: tosca.nodes.DBMS
+      requirements:
+        - host: mongo_server
+      interfaces:
+        Standard: # ARIA NOTE: wrong in spec
+          create: scripts/mongodb/create.sh
+          configure:
+            implementation: scripts/mongodb/config.sh
+            inputs:
+              mongodb_ip: { get_attribute: [mongo_server, ip_address] }
+          start: scripts/mongodb/start.sh
+
+    elasticsearch:
+      type: tosca.nodes.SoftwareComponent.Elasticsearch
+      requirements:
+        - host: elasticsearch_server
+      interfaces:
+        Standard: # ARIA NOTE: wrong in spec
+          create: scripts/elasticsearch/create.sh
+          start: scripts/elasticsearch/start.sh
+
+    logstash:
+      type: tosca.nodes.SoftwareComponent.Logstash
+      requirements:
+        - host: logstash_server
+        # ARIA NOTE: mangled in the spec
+        - search_endpoint:
+            node: elasticsearch
+            relationship:
+              interfaces:
+                Configure:
+                  pre_configure_source:
+                    implementation: python/logstash/configure_elasticsearch.py
+                    inputs:
+                      elasticsearch_ip: { get_attribute: [elasticsearch_server, ip_address] }
+      interfaces:
+        Standard: # ARIA NOTE: wrong in spec
+          create: scripts/lostash/create.sh
+          configure: scripts/logstash/config.sh
+          start: scripts/logstash/start.sh
+
+    kibana:
+      type: tosca.nodes.SoftwareComponent.Kibana
+      requirements:
+        - host: kibana_server
+        - search_endpoint: elasticsearch
+      interfaces:
+        Standard: # ARIA NOTE: wrong in spec
+          create: scripts/kibana/create.sh
+          configure:
+            implementation: scripts/kibana/config.sh
+            inputs:
+              elasticsearch_ip: { get_attribute: [ elasticsearch_server, ip_address ] }
+              kibana_ip: { get_attribute: [ kibana_server, ip_address ] }
+          start: scripts/kibana/start.sh
+
+    app_collectd:
+      type: tosca.nodes.SoftwareComponent.Collectd
+      requirements:
+        - host: app_server
+        # ARIA NOTE: mangled in the spec
+        - collectd_endpoint:
+            node: logstash
+            relationship:
+              interfaces:
+                Configure:
+                  pre_configure_target:
+                    implementation: python/logstash/configure_collectd.py
+      interfaces:
+        Standard: # ARIA NOTE: wrong in spec
+          create: scripts/collectd/create.sh
+          configure:
+            implementation: python/collectd/config.py
+            inputs:
+              logstash_ip: { get_attribute: [ logstash_server, ip_address ] }
+          start: scripts/collectd/start.sh
+
+    app_rsyslog:
+      type: tosca.nodes.SoftwareComponent.Rsyslog
+      requirements:
+        - host: app_server
+        # ARIA NOTE: mangled in the spec
+        - rsyslog_endpoint:
+            node: logstash
+            relationship:
+              interfaces:
+                Configure:
+                  pre_configure_target:
+                    implementation: python/logstash/configure_rsyslog.py
+      interfaces:
+        Standard: # ARIA NOTE: wrong in spec
+          create: scripts/rsyslog/create.sh
+          configure:
+            implementation: scripts/rsyslog/config.sh
+            inputs:
+              logstash_ip: { get_attribute: [ logstash_server, ip_address ] }
+          start: scripts/rsyslog/start.sh
+
+    app_server:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties: *host_capabilities
+        os:
+          properties: *os_capabilities
+
+    mongo_server:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties: *host_capabilities
+        os:
+          properties: *os_capabilities
+
+    elasticsearch_server:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties: *host_capabilities
+        os:
+          properties: *os_capabilities
+
+    logstash_server:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties: *host_capabilities
+        os:
+          properties: *os_capabilities
+
+    kibana_server:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties: *host_capabilities
+        os:
+          properties: *os_capabilities
+
+  outputs:
+    nodejs_url:
+      description: URL for the nodejs server.
+      value: { get_attribute: [ app_server, private_address ] }
+    mongodb_url:
+      description: URL for the mongodb server.
+      value: { get_attribute: [ mongo_server, private_address ] }
+    elasticsearch_url:
+      description: URL for the elasticsearch server.
+      value: { get_attribute: [ elasticsearch_server, private_address ] }
+    logstash_url:
+      description: URL for the logstash server.
+      value: { get_attribute: [ logstash_server, private_address ] }
+    kibana_url:
+      description: URL for the kibana server.
+      value: { get_attribute: [ kibana_server, private_address ] }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/network-1/network-1.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/network-1/network-1.yaml b/examples/tosca-simple-1.0/use-cases/network-1/network-1.yaml
new file mode 100644
index 0000000..c66964f
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/network-1/network-1.yaml
@@ -0,0 +1,49 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile with 1 server bound to a new network.
+
+metadata:
+  template_name: network-1
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+topology_template:
+
+  inputs:
+    network_name:
+      type: string
+      description: Network name
+
+  node_templates:
+
+    my_server:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: 1
+            mem_size: 4096 MB
+        os:
+          properties:
+            architecture: x86_64
+            type: Linux
+            distribution: CirrOS
+            version: 0.3.2
+
+    my_network:
+      type: tosca.nodes.network.Network
+      properties:
+        network_name: { get_input: network_name }
+        ip_version: 4
+        cidr: '192.168.0.0/24'
+        start_ip: '192.168.0.50'
+        end_ip: '192.168.0.200'
+        gateway_ip: '192.168.0.1'
+
+    my_port:
+      type: tosca.nodes.network.Port
+      requirements:
+        - binding: my_server
+        - link: my_network

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/network-2/network-2.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/network-2/network-2.yaml b/examples/tosca-simple-1.0/use-cases/network-2/network-2.yaml
new file mode 100644
index 0000000..017950d
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/network-2/network-2.yaml
@@ -0,0 +1,46 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile with 1 server bound to an existing network.
+
+metadata:
+  template_name: network-2
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+topology_template:
+
+  inputs:
+    network_name:
+      type: string
+      description: Network name
+
+  node_templates:
+
+    my_server:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: 1
+            mem_size: 4096 MB
+        os:
+          properties:
+            architecture: x86_64
+            type: Linux
+            distribution: CirrOS
+            version: 0.3.2
+
+    my_network:
+      type: tosca.nodes.network.Network
+      properties:
+        network_name: { get_input: network_name }
+
+    my_port:
+      type: tosca.nodes.network.Port
+      requirements:
+        - binding:
+            node: my_server
+        - link:
+            node: my_network

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/network-3/network-3.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/network-3/network-3.yaml b/examples/tosca-simple-1.0/use-cases/network-3/network-3.yaml
new file mode 100644
index 0000000..5fa40b7
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/network-3/network-3.yaml
@@ -0,0 +1,81 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile with 2 servers bound to the 1 network.
+
+metadata:
+  template_name: network-3
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+topology_template:
+
+  inputs:
+    network_name:
+      type: string
+      description: Network name
+    network_cidr:
+      type: string
+      default: 10.0.0.0/24
+      description: CIDR for the network
+    network_start_ip:
+      type: string
+      default: 10.0.0.100
+      description: Start IP for the allocation pool
+    network_end_ip:
+      type: string
+      default: 10.0.0.150
+      description: End IP for the allocation pool
+
+  node_templates:
+
+    my_server:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: 1
+            mem_size: 4096 MB
+        os:
+          properties:
+            architecture: x86_64
+            type: Linux
+            distribution: CirrOS
+            version: 0.3.2
+
+    my_server2:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: 1
+            mem_size: 4096 MB
+        os:
+          properties:
+            architecture: x86_64
+            type: Linux
+            distribution: CirrOS
+            version: 0.3.2
+
+    my_network:
+      type: tosca.nodes.network.Network
+      properties:
+        ip_version: 4
+        cidr: { get_input: network_cidr }
+        network_name: { get_input: network_name }
+        start_ip: { get_input: network_start_ip }
+        end_ip: { get_input: network_end_ip }
+
+    my_port:
+      type: tosca.nodes.network.Port
+      requirements:
+        - binding: my_server
+        - link: my_network
+
+    my_port2:
+      type: tosca.nodes.network.Port
+      requirements:
+        - binding: my_server2
+        - link: my_network

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/network-4/network-4.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/network-4/network-4.yaml b/examples/tosca-simple-1.0/use-cases/network-4/network-4.yaml
new file mode 100644
index 0000000..5b51117
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/network-4/network-4.yaml
@@ -0,0 +1,70 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile with 1 server bound to 3 networks.
+
+metadata:
+  template_name: network-4
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+topology_template:
+
+  node_templates:
+
+    my_server:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: 1
+            mem_size: 4096 MB
+        os:
+          properties:
+            architecture: x86_64
+            type: Linux
+            distribution: CirrOS
+            version: 0.3.2
+
+    my_network1:
+      type: tosca.nodes.network.Network
+      properties:
+        cidr: '192.168.1.0/24'
+        network_name: net1
+
+    my_network2:
+      type: tosca.nodes.network.Network
+      properties:
+        cidr: '192.168.2.0/24'
+        network_name: net2
+
+    my_network3:
+      type: tosca.nodes.network.Network
+      properties:
+        cidr: '192.168.3.0/24'
+        network_name: net3
+
+    my_port1:
+      type: tosca.nodes.network.Port
+      properties:
+        order: 0
+      requirements:
+        - binding: my_server
+        - link: my_network1
+
+    my_port2:
+      type: tosca.nodes.network.Port
+      properties:
+        order: 1
+      requirements:
+        - binding: my_server
+        - link: my_network2
+
+    my_port3:
+      type: tosca.nodes.network.Port
+      properties:
+        order: 2
+      requirements:
+        - binding: my_server
+        - link: my_network3

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/non-normative-types.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/non-normative-types.yaml b/examples/tosca-simple-1.0/use-cases/non-normative-types.yaml
new file mode 100644
index 0000000..fa826f5
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/non-normative-types.yaml
@@ -0,0 +1,177 @@
+
+artifact_types:
+
+  tosca.artifacts.Deployment.Image.Container.Docker:
+    _extensions:
+      specification: tosca-simple-1.0
+      specification_section: 8.1.1
+    derived_from: tosca.artifacts.Deployment.Image
+    description: Docker Container Image
+
+  tosca.artifacts.Deployment.Image.VM.ISO:
+    _extensions:
+      specification: tosca-simple-1.0
+      specification_section: 8.1.2
+    derived_from: tosca.artifacts.Deployment.Image.VM
+    description: Virtual Machine (VM) image in ISO disk format
+    mime_type: application/octet-stream
+    file_ext: [ iso ]
+
+  tosca.artifacts.Deployment.Image.VM.QCOW2:
+    _extensions:
+      specification: tosca-simple-1.0
+      specification_section: 8.1.3
+    derived_from: tosca.artifacts.Deployment.Image.VM
+    description: Virtual Machine (VM) image in QCOW v2 standard disk format
+    mime_type: application/octet-stream
+    file_ext: [ qcow2 ]
+
+capability_types:
+
+  tosca.capabilities.Container.Docker:
+    _extensions:
+      specification: tosca-simple-1.0
+      specification_section: 8.2.1
+    derived_from: tosca.capabilities.Container
+    description: The type indicates capabilities of a Docker runtime environment (client).
+    properties:
+      version:
+        description: >-
+          The Docker version capability (i.e., the versions supported by the capability).
+        type: list
+        required: false
+        entry_schema: version
+      publish_all:
+        description: >-
+          Indicates that all ports (ranges) listed in the dockerfile using the EXPOSE keyword be
+          published.
+        type: boolean
+        default: false
+        required: false
+      publish_ports:
+        description: >-
+          List of ports mappings from source (Docker container) to target (host) ports to publish. 
+        type: list
+        entry_schema: PortSpec
+        required: false
+      expose_ports:
+        description: >-
+          List of ports mappings from source (Docker container) to expose to other Docker containers
+          (not accessible outside host).
+        type: list
+        entry_schema: PortSpec
+        required: false
+      volumes:
+        description: >-
+          The dockerfile VOLUME command which is used to enable access from the Docker container to
+          a directory on the host machine.
+        type: list
+        entry_schema: string
+        required: false
+      # ARIA NOTE: these are missing in the spec
+      host_id:
+        description: >-
+          The optional identifier of an existing host resource that should be used to run this
+          container on.
+        type: string
+        required: false
+      volume_id:
+        description: >-
+          The optional identifier of an existing storage volume (resource) that should be used to
+          create the container's mount point(s) on.
+        type: string
+        required: false
+
+  # ARIA NOTE: missing in spec
+  tosca.capabilities.Docker.Link:
+    derived_from: tosca.capabilities.Root
+    description: This is a capability that would mimic the Docker \u2013link feature
+
+node_types:
+
+  tosca.nodes.Database.MySQL:
+    _extensions:
+      specification: tosca-simple-1.0
+      specification_section: 8.3.1
+    derived_from: tosca.nodes.Database
+    requirements:
+      - host:
+          capability: tosca.capabilities.Container # ARIA NOTE: missing in spec
+          node: tosca.nodes.DBMS.MySQL
+
+  tosca.nodes.DBMS.MySQL:
+    _extensions:
+      specification: tosca-simple-1.0
+      specification_section: 8.3.2
+    derived_from: tosca.nodes.DBMS
+    properties:
+      port:
+        description: reflect the default MySQL server port
+        type: integer # AIRA NOTE: missing in spec
+        default: 3306
+      root_password:
+        # MySQL requires a root_password for configuration
+        # Override parent DBMS definition to make this property required
+        type: string # AIRA NOTE: missing in spec
+        required: true
+    capabilities:
+      # Further constrain the 'host' capability to only allow MySQL databases
+      host:
+        type: tosca.capabilities.Container # ARIA NOTE: missing in spec
+        valid_source_types: [ tosca.nodes.Database.MySQL ] 
+
+  tosca.nodes.WebServer.Apache:
+    _extensions:
+      specification: tosca-simple-1.0
+      specification_section: 8.3.3
+    derived_from: tosca.nodes.WebServer
+
+  tosca.nodes.WebApplication.WordPress:
+    _extensions:
+      specification: tosca-simple-1.0
+      specification_section: 8.3.4
+    derived_from: tosca.nodes.WebApplication
+    properties:
+      admin_user:
+        type: string
+        required: false # ARIA NOTE: missing in spec
+      admin_password:
+        type: string
+        required: false # ARIA NOTE: missing in spec
+      db_host:
+        type: string
+        required: false # ARIA NOTE: missing in spec
+    requirements:
+      - database_endpoint:
+          capability: tosca.capabilities.Endpoint.Database  
+          node: tosca.nodes.Database
+          relationship: tosca.relationships.ConnectsTo
+
+  tosca.nodes.WebServer.Nodejs:
+    _extensions:
+      specification: tosca-simple-1.0
+      specification_section: 8.3.5
+    derived_from: tosca.nodes.WebServer
+    properties:
+      # Property to supply the desired implementation in the Github repository
+      github_url:
+        required: no
+        type: string
+        description: location of the application on the github.
+        default: https://github.com/mmm/testnode.git
+    interfaces:
+      Standard:
+        inputs:
+          github_url:
+            type: string
+
+  tosca.nodes.Container.Application.Docker:
+    _extensions:
+      specification: tosca-simple-1.0
+      specification_section: 8.3.6
+    derived_from: tosca.nodes.Container.Application
+    requirements:
+      - host:
+          capability: tosca.capabilities.Container.Docker
+      - database_link: # ARIA NOTE: missing in spec
+          capability: tosca.capabilities.Docker.Link

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/object-storage-1/object-storage-1.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/object-storage-1/object-storage-1.yaml b/examples/tosca-simple-1.0/use-cases/object-storage-1/object-storage-1.yaml
new file mode 100644
index 0000000..c55a4db
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/object-storage-1/object-storage-1.yaml
@@ -0,0 +1,24 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+    TOSCA template for creating an object storage service.
+
+metadata:
+  template_name: object-storage-1
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+topology_template:
+
+  inputs:
+    objectstore_name:
+      type: string
+
+  node_templates:
+
+    obj_store_server:
+      type: tosca.nodes.ObjectStorage
+      properties:
+        name: { get_input: objectstore_name }
+        size: 4096 MB
+        maxsize: 20 GB

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/software-component-1/software-component-1.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/software-component-1/software-component-1.yaml b/examples/tosca-simple-1.0/use-cases/software-component-1/software-component-1.yaml
new file mode 100644
index 0000000..fc1cfd7
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/software-component-1/software-component-1.yaml
@@ -0,0 +1,54 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA Simple Profile with a SoftwareComponent node with a declared Virtual machine (VM) deployment
+  artifact that automatically deploys to its host Compute node.
+
+metadata:
+  template_name: software-component-1
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+imports:
+  - ../non-normative-types.yaml
+
+topology_template:
+
+  # ARIA NOTE: missing in spec
+  inputs:
+    cpus:
+      type: integer
+      description: Number of CPUs for the server.
+      constraints:
+        - valid_values: [ 1, 2, 4, 8 ]
+
+  node_templates:
+
+    my_virtual_machine:
+      type: SoftwareComponent
+      artifacts:
+        my_vm_image:
+          file: images/fedora-18-x86_64.qcow2
+          type: tosca.artifacts.Deployment.Image.VM.QCOW2
+      requirements:
+        - host: my_server
+      # Automatically deploy the VM image referenced on the create operation
+      interfaces:
+        Standard:
+          create: my_vm_image
+
+    # Compute instance with no Operating System guest host
+    my_server:
+      type: Compute
+      capabilities:
+        # Note: no guest OperatingSystem requirements as these are in the image.
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: { get_input: cpus }
+            mem_size: 4 GB
+
+  outputs:
+    private_ip:
+      description: The private IP address of the deployed server instance.
+      value: { get_attribute: [ my_server, private_address ] }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/webserver-dbms-1/webserver-dbms-1.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/webserver-dbms-1/webserver-dbms-1.yaml b/examples/tosca-simple-1.0/use-cases/webserver-dbms-1/webserver-dbms-1.yaml
new file mode 100644
index 0000000..faf109d
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/webserver-dbms-1/webserver-dbms-1.yaml
@@ -0,0 +1,122 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile with WordPress, a web server, a MySQL DBMS hosting the application's database
+  content on the same server. Does not have input defaults or constraints.
+
+metadata:
+  template_name: webserver-dbms-1
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+imports:
+  - ../non-normative-types.yaml
+
+topology_template:
+
+  inputs:
+    cpus:
+      type: integer
+      description: Number of CPUs for the server.
+    db_name:
+      type: string
+      description: The name of the database.
+    db_user:
+      type: string
+      description: The username of the DB user.
+    db_pwd:
+      type: string
+      description: The WordPress database admin account password.
+    db_root_pwd:
+      type: string
+      description: Root password for MySQL.
+    db_port:
+      type: PortDef
+      description: Port for the MySQL database
+    # ARIA NOTE: missing in spec
+    context_root:
+      type: string
+      description: Context root for WordPress.
+
+  node_templates:
+
+    wordpress:
+      type: tosca.nodes.WebApplication.WordPress
+      properties:
+        context_root: { get_input: context_root }
+      requirements:
+        - host: webserver
+        - database_endpoint: mysql_database
+      interfaces:
+        Standard:
+          create: wordpress_install.sh
+          configure:
+            implementation: wordpress_configure.sh           
+            inputs:
+              wp_db_name: { get_property: [ mysql_database, name ] }
+              wp_db_user: { get_property: [ mysql_database, user ] }
+              wp_db_password: { get_property: [ mysql_database, password ] }  
+              # In my own template, find requirement/capability, find port property
+              wp_db_port: { get_property: [ SELF, database_endpoint, port ] }
+
+    mysql_database:
+      type: Database
+      properties:
+        name: { get_input: db_name }
+        user: { get_input: db_user }
+        password: { get_input: db_pwd }
+        port: { get_input: db_port }
+      capabilities:
+        database_endpoint:
+          properties:
+            port: { get_input: db_port }
+      requirements:
+        - host: mysql_dbms
+      interfaces:
+        Standard:
+          configure: mysql_database_configure.sh
+
+    mysql_dbms:
+      type: DBMS
+      properties:
+        root_password: { get_input: db_root_pwd }
+        port: { get_input: db_port }
+      requirements:
+        - host: server
+      interfaces:
+        Standard:
+          # ARIA NOTE: not declared in spec              
+          #inputs:
+          #  db_root_password: { get_property: [ mysql_dbms, root_password ] }
+          create: mysql_dbms_install.sh
+          start: mysql_dbms_start.sh
+          configure: mysql_dbms_configure.sh
+
+    webserver:
+      type: WebServer
+      requirements:
+        - host: server
+      interfaces:
+        Standard:
+          create: webserver_install.sh
+          start: webserver_start.sh
+
+    server:
+      type: Compute
+      capabilities:
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: { get_input: cpus }
+            mem_size: 4096 MB
+        os:
+          properties:
+            architecture: x86_64
+            type: linux 
+            distribution: fedora 
+            version: 17.0
+
+  outputs:
+    website_url:
+      description: URL for Wordpress wiki.
+      value: { get_attribute: [ server, public_address ] }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/webserver-dbms-2/custom_types/paypalpizzastore_nodejs_app.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/webserver-dbms-2/custom_types/paypalpizzastore_nodejs_app.yaml b/examples/tosca-simple-1.0/use-cases/webserver-dbms-2/custom_types/paypalpizzastore_nodejs_app.yaml
new file mode 100644
index 0000000..4723a3f
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/webserver-dbms-2/custom_types/paypalpizzastore_nodejs_app.yaml
@@ -0,0 +1,15 @@
+# ARIA NOTE: missing in spec
+
+node_types:
+
+  tosca.nodes.WebApplication.PayPalPizzaStore:
+    derived_from: tosca.nodes.WebApplication
+    properties:
+      github_url:
+        type: string
+    requirements:
+      - database_connection:
+          capability: tosca.capabilities.Container
+
+  tosca.nodes.WebServer.Nodejs:
+    derived_from: tosca.nodes.WebServer

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/examples/tosca-simple-1.0/use-cases/webserver-dbms-2/webserver-dbms-2.yaml
----------------------------------------------------------------------
diff --git a/examples/tosca-simple-1.0/use-cases/webserver-dbms-2/webserver-dbms-2.yaml b/examples/tosca-simple-1.0/use-cases/webserver-dbms-2/webserver-dbms-2.yaml
new file mode 100644
index 0000000..66eab8e
--- /dev/null
+++ b/examples/tosca-simple-1.0/use-cases/webserver-dbms-2/webserver-dbms-2.yaml
@@ -0,0 +1,115 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile with a nodejs web server hosting a PayPal sample application which connects
+  to a mongodb database.
+
+metadata:
+  template_name: webserver-dbms-2
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+imports:
+  - custom_types/paypalpizzastore_nodejs_app.yaml
+
+dsl_definitions:
+
+  ubuntu_node: &ubuntu_node
+    disk_size: 10 GB
+    num_cpus: { get_input: my_cpus }
+    mem_size: 4096 MB
+  os_capabilities: &os_capabilities
+    architecture: x86_64
+    type: Linux
+    distribution: Ubuntu
+    version: 14.04
+
+topology_template:
+
+  inputs:
+    my_cpus:
+      type: integer
+      description: Number of CPUs for the server.
+      constraints:
+        - valid_values: [ 1, 2, 4, 8 ]
+      default: 1
+    github_url:
+      type: string
+      description: The URL to download nodejs.
+      default:  https://github.com/sample.git
+
+  node_templates:
+
+    paypal_pizzastore:
+      type: tosca.nodes.WebApplication.PayPalPizzaStore
+      properties:
+          github_url: { get_input: github_url }
+      requirements:
+        - host: nodejs
+        - database_connection: mongo_db
+      interfaces:
+        Standard:
+           configure:
+             implementation: scripts/nodejs/configure.sh
+             inputs:
+               github_url: { get_property: [ SELF, github_url ] }
+               mongodb_ip: { get_attribute: [mongo_server, private_address] }
+           start: scripts/nodejs/start.sh
+
+    nodejs:
+      type: tosca.nodes.WebServer.Nodejs
+      requirements:
+        - host: app_server
+      interfaces:
+        Standard:
+          create: scripts/nodejs/create.sh
+
+    mongo_db:
+      type: tosca.nodes.Database
+      properties:
+        name: 'pizzastore' # ARIA NOTE: missing in spec
+      requirements:
+        - host: mongo_dbms
+      interfaces:
+        Standard:
+         create: create_database.sh
+
+    mongo_dbms:
+      type: tosca.nodes.DBMS
+      requirements:
+        - host: mongo_server
+      properties:
+        port: 27017
+      interfaces:
+        Standard: # ARIA NOTE: mistaken in spec
+          create: mongodb/create.sh
+          configure:
+            implementation: mongodb/config.sh
+            inputs:
+              mongodb_ip: { get_attribute: [mongo_server, private_address] }
+          start: mongodb/start.sh
+
+    mongo_server:
+      type: tosca.nodes.Compute
+      capabilities:
+        os:
+          properties: *os_capabilities
+        host:
+          properties: *ubuntu_node
+
+    app_server:
+      type: tosca.nodes.Compute
+      capabilities:
+        os:
+          properties: *os_capabilities
+        host:
+          properties: *ubuntu_node
+
+  outputs:
+
+    nodejs_url:
+      description: URL for the nodejs server, http://<IP>:3000
+      value: { get_attribute: [app_server, private_address] }
+    mongodb_url:
+      description: URL for the mongodb server.
+      value: { get_attribute: [ mongo_server, private_address ] }

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
index ef9e5f2..af99340 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
@@ -17,7 +17,7 @@ artifact_types:
 
   tosca.artifacts.Root:
     _extensions:
-      shorthand_name: Root # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Root # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Root
       specification: tosca-simple-1.0
       specification_section: 5.3.1
@@ -41,7 +41,7 @@ artifact_types:
   
   tosca.artifacts.Deployment:
     _extensions:
-      shorthand_name: Deployment # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Deployment # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Deployment
       specification: tosca-simple-1.0
       specification_section: 5.3.3.1
@@ -67,7 +67,7 @@ artifact_types:
   
   tosca.artifacts.Deployment.Image.VM:
     _extensions:
-      shorthand_name: Deployment.VM # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Deployment.VM # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Deployment.VM
       specification: tosca-simple-1.0
       specification_section: 5.3.3.4
@@ -85,7 +85,7 @@ artifact_types:
   
   tosca.artifacts.Implementation:
     _extensions:
-      shorthand_name: Implementation # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Implementation # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Implementation
       specification: tosca-simple-1.0
       specification_section: 5.3.4.1
@@ -97,7 +97,7 @@ artifact_types:
   
   tosca.artifacts.Implementation.Bash:
     _extensions:
-      shorthand_name: Implementation.Bash # mistake in spec? shouldn't we have "Implementation." as prefix?
+      shorthand_name: Implementation.Bash # ARIA NOTE: mistake in spec? shouldn't we have "Implementation." as prefix?
       type_qualified_name: tosca:Implementation.Bash
       specification: tosca-simple-1.0
       specification_section: 5.3.4.3
@@ -109,7 +109,7 @@ artifact_types:
   
   tosca.artifacts.Implementation.Python:
     _extensions:
-      shorthand_name: Implementation.Python # mistake in spec? shouldn't we have "Implementation." as prefix?
+      shorthand_name: Implementation.Python # ARIA NOTE: mistake in spec? shouldn't we have "Implementation." as prefix?
       type_qualified_name: tosca:Implementation.Python
       specification: tosca-simple-1.0
       specification_section: 5.3.4.4

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
index 2578799..72f6f0e 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
@@ -17,7 +17,7 @@ capability_types:
 
   tosca.capabilities.Root:
     _extensions:
-      shorthand_name: Root # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Root # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Root
       specification: tosca-simple-1.0
       specification_section: 5.4.1
@@ -296,7 +296,7 @@ capability_types:
 
   tosca.capabilities.network.Bindable:
     _extensions:
-      shorthand_name: Bindable # mistake in spec? has "network." as a prefix 
+      shorthand_name: Bindable # ARIA NOTE: mistake in spec? has "network." as a prefix 
       type_qualified_name: tosca:Bindable
       specification: tosca-simple-1.0
       specification_section: 5.4.11

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml
index ef787b7..5210aa0 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml
@@ -95,7 +95,7 @@ data_types:
 
   tosca.datatypes.Root:
     _extensions:
-      shorthand_name: Root # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Root # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Root
       specification: tosca-simple-1.0
       specification_section: 5.2.1
@@ -220,7 +220,7 @@ data_types:
       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_DATA_PORTDEF'
     description: >-
       The PortDef type is a TOSCA data Type used to define a network port.
-    derived_from: integer # ARIA allows deriving from primitives; it's unclear if the TOSCA spec does
+    derived_from: integer # ARIA NOTE: we allow deriving from primitives
     constraints:
       - in_range: [ 1, 65535 ]
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/groups.yaml
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/groups.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/groups.yaml
index a252a7c..31cfc55 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/groups.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/groups.yaml
@@ -17,7 +17,7 @@ group_types:
 
   tosca.groups.Root:
     _extensions:
-      shorthand_name: Root # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Root # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Root
       specification: tosca-simple-1.0
       specification_section: 5.9.1

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/interfaces.yaml
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/interfaces.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/interfaces.yaml
index dd84d43..de1d34f 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/interfaces.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/interfaces.yaml
@@ -17,7 +17,7 @@ interface_types:
 
   tosca.interfaces.Root:
     _extensions:
-      shorthand_name: Root # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Root # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Root
       specification: tosca-simple-1.0
       specification_section: 5.7.3

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml
index 2d1b407..414a388 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml
@@ -126,7 +126,7 @@ node_types:
         description: >-
           The Floating (IP) client's on the public network can connect to.
         type: tosca.capabilities.Endpoint.Public
-        occurrences: [ 0, UNBOUNDED ] # Note: it seems unnecessary to specify this, as it is the implied default
+        occurrences: [ 0, UNBOUNDED ] # ARIA NOTE: it seems unnecessary to specify this, as it is the implied default
     requirements:
       - application:
           capability: tosca.capabilities.Endpoint
@@ -195,7 +195,7 @@ node_types:
     description: >-
       The TOSCA WebApplication node represents a software application that can be managed and run by a TOSCA WebServer node.
       Specific types of web applications such as Java, etc. could be derived from this type.
-    derived_from: tosca.nodes.SoftwareComponent # the spec says tosca.nodes.Root, but this seems to be a mistake
+    derived_from: tosca.nodes.SoftwareComponent # ARIA NOTE: the spec says tosca.nodes.Root
     properties:
       context_root:
         description: >-
@@ -213,7 +213,7 @@ node_types:
   
   tosca.nodes.DBMS:
     _extensions:
-      shorthand_name: DBMS # ommitted in the spec (seems to be a mistake)
+      shorthand_name: DBMS # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:DBMS
       specification: tosca-simple-1.0
       specification_section: 5.8.6
@@ -246,7 +246,7 @@ node_types:
       specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_DATABASE'
     description: >-
       The TOSCA Database node represents a logical database that can be managed and hosted by a TOSCA DBMS node.
-    derived_from: tosca.nodes.Root # note, it's *not* a SoftwareComponent
+    derived_from: tosca.nodes.Root # ARIA NOTE: it's *not* a SoftwareComponent
     properties:
       name:
         description: >-
@@ -310,7 +310,8 @@ node_types:
     requirements:
       - host:
           capability: tosca.capabilities.Container
-          #node: tosca.nodes.Container # seems to be a mistake in the spec
+          # ARIA NOTE: seems a mistake in the spec
+          #node: tosca.nodes.Container
           relationship: tosca.relationships.HostedOn
 
   #

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/policies.yaml
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/policies.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/policies.yaml
index d840b14..015d2b0 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/policies.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/policies.yaml
@@ -17,7 +17,7 @@ policy_types:
 
   tosca.policies.Root:
     _extensions:
-      shorthand_name: Root # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Root # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Root
       specification: tosca-simple-1.0
       specification_section: 5.10.1
@@ -27,7 +27,7 @@ policy_types:
   
   tosca.policies.Placement:
     _extensions:
-      shorthand_name: Placement # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Placement # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Placement
       specification: tosca-simple-1.0
       specification_section: 5.10.2
@@ -38,7 +38,7 @@ policy_types:
   
   tosca.policies.Scaling:
     _extensions:
-      shorthand_name: Scaling # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Scaling # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Scaling
       specification: tosca-simple-1.0
       specification_section: 5.10.3
@@ -49,7 +49,7 @@ policy_types:
   
   tosca.policies.Update:
     _extensions:
-      shorthand_name: Update # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Update # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Update
       specification: tosca-simple-1.0
       specification_section: 5.10.4
@@ -60,7 +60,7 @@ policy_types:
   
   tosca.policies.Performance:
     _extensions:
-      shorthand_name: Performance # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Performance # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Performance
       specification: tosca-simple-1.0
       specification_section: 5.10.5

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/relationships.yaml
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/relationships.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/relationships.yaml
index 212ccfa..6ea4d12 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/relationships.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/relationships.yaml
@@ -17,7 +17,7 @@ relationship_types:
 
   tosca.relationships.Root:
     _extensions:
-      shorthand_name: Root # ommitted in the spec (seems to be a mistake)
+      shorthand_name: Root # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:Root
       specification: tosca-simple-1.0
       specification_section: 5.6.1
@@ -147,7 +147,7 @@ relationship_types:
   
   tosca.relationships.network.BindsTo:
     _extensions:
-      shorthand_name: network.BindsTo # mistake in spec? this seems different than the usual shorthand convention
+      shorthand_name: BindsTo # ARIA NOTE: the spec says "network.BindsTo" which seems wrong
       type_qualified_name: tosca:BindsTo
       specification: tosca-simple-1.0
       specification_section: 7.5.5

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
index 7be18a6..6bc6b67 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
@@ -35,7 +35,8 @@ capability_types:
           * any page size maps to system default
           * custom MB value: sets TLB size to this specific value
         type: string
-        #constraints: # seems wrong in the spec
+        # ARIA NOTE: seems wrong in the spec
+        #constraints:
         #  - [ normal, huge ]
       cpu_allocation:
         description: >-

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
index 97467ba..89e3565 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
@@ -57,7 +57,7 @@ data_types:
 
   tosca.datatypes.compute.Container.Architecture.NUMA:
     _extensions:
-      shorthand_name: Container.Architecture.NUMA # seems to be a mistake in the spec; the norm is to add a "Container.Architecture." prefix
+      shorthand_name: Container.Architecture.NUMA # ARIA NOTE: seems to be a mistake in the spec; the norm is to add a "Container.Architecture." prefix
       type_qualified_name: tosca:Container.Architecture.NUMA
       specification: tosca-simple-nfv-1.0
       specification_section: 8.3.2

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml
index 4a01519..5eb87c8 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml
@@ -17,7 +17,7 @@ group_types:
 
   tosca.groups.nfv.VNFFG:
     _extensions:
-      shorthand_name: VNFFG # the spec must be mistaken here, says "VL"
+      shorthand_name: VNFFG # ARIA NOTE: the spec must be mistaken here, says "VL"
       type_qualified_name: tosca:VNFFG
       specification: tosca-simple-nfv-1.0
       specification_section: 10.6.1

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
index 5b9a653..0dfe38d 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
@@ -17,7 +17,7 @@ node_types:
 
   tosca.nodes.nfv.VNF:
     _extensions:
-      shorthand_name: VNF # ommitted in the spec (seems to be a mistake)
+      shorthand_name: VNF # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:VNF
       specification: tosca-simple-nfv-1.0
       specification_section: 8.5.1
@@ -103,7 +103,7 @@ node_types:
 
   tosca.nodes.nfv.FP:
     _extensions:
-      shorthand_name: FP # the spec must be mistaken here, says "VL"
+      shorthand_name: FP # ARIA NOTE: the spec must be mistaken here, says "VL"
       type_qualified_name: tosca:FP
       specification: tosca-simple-nfv-1.0
       specification_section: 10.5.1
@@ -147,7 +147,7 @@ node_types:
 
   tosca.nodes.nfv.VL.ELine:
     _extensions:
-      shorthand_name: VL.ELine # ommitted in the spec (seems to be a mistake)
+      shorthand_name: VL.ELine # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:VL.ELine
       specification: tosca-simple-nfv-1.0
       specification_section: 9.2
@@ -158,11 +158,11 @@ node_types:
     capabilities:
       virtual_linkable:
         type: tosca.capabilities.nfv.VirtualLinkable
-        occurrences: [ 2, UNBOUNDED ] # the spec is wrong here, must be a range
+        occurrences: [ 2, UNBOUNDED ] # ARIA NOTE: the spec is wrong here, must be a range
 
   tosca.nodes.nfv.VL.ELAN:
     _extensions:
-      shorthand_name: VL.ELAN # ommitted in the spec (seems to be a mistake)
+      shorthand_name: VL.ELAN # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:VL.ELAN
       specification: tosca-simple-nfv-1.0
       specification_section: 9.3
@@ -173,7 +173,7 @@ node_types:
 
   tosca.nodes.nfv.VL.ETree:
     _extensions:
-      shorthand_name: VL.ETree # ommitted in the spec (seems to be a mistake)
+      shorthand_name: VL.ETree # ARIA NOTE: ommitted in the spec
       type_qualified_name: tosca:VL.ETree
       specification: tosca-simple-nfv-1.0
       specification_section: 9.4

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/787d7e7e/extensions/aria_extension_tosca/simple_v1_0/assignments.py
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/simple_v1_0/assignments.py b/extensions/aria_extension_tosca/simple_v1_0/assignments.py
index 14fee96..2a39ed9 100644
--- a/extensions/aria_extension_tosca/simple_v1_0/assignments.py
+++ b/extensions/aria_extension_tosca/simple_v1_0/assignments.py
@@ -232,7 +232,7 @@ class RequirementAssignment(ExtensiblePresentation):
         * Relationship Type that the provider will use to select a type-compatible relationship
           template to relate the source node to the target node at runtime.
 
-        :rtype: :class:`RequirementRelationshipAssignment`
+        :rtype: :class:`RelationshipAssignment`
         """
 
     @field_validator(node_filter_validator)