Example 12 - An abstract Compute node template with a node filter tosca_definitions_version: tosca_simple_yaml_1_0 description: Template with requirements against hosting infrastructure. topology_template: inputs: # omitted here for brevity node_templates: mysql: type: properties: # omitted here for brevity requirements: - host: mysql_compute # Abstract node template (placeholder) to be selected by provider mysql_compute: type: Compute node_filter: capabilities: - host: properties: num_cpus: { equal: 2 } mem_size: { greater_or_equal: 2 GB } - os: properties: architecture: { equal: x86_64 } type: linux distribution: ubuntu As you can see the resulting mysql_compute node template looks very much like the world” template as “hello shown in (where the Compute node template was abstract), but this one also allows the TOSCA orchestrator more flexibility when a host Compute node by providing flexible constraints for properties like “selecting” mem_size. As we proceed, you will see that TOSCA provides many normative node types like Compute for commonly found services (e.g., BlockStorage, WebServer, Network, etc.). When these TOSCA normative node types are used in your application’s topology they are always assumed to be by TOSCA Orchestrators which work “selectable” with target infrastructure providers to find or allocate the best match for them based upon your application’s requirements and constraints.
Example 12 - An abstract Compute node template with a node filter tosca_definitions_version: tosca_simple_yaml_1_0 description: Template with requirements against hosting infrastructure. topology_template: inputs: # omitted here for brevity node_templates: mysql: type: properties: # omitted here for brevity requirements: - host: mysql_compute # Abstract node template (placeholder) to be selected by provider mysql_compute: type: Compute node_filter: capabilities: - host: properties: num_cpus: { equal: 2 } mem_size: { greater_or_equal: 2 GB } - os: properties: architecture: { equal: x86_64 } type: linux distribution: ubuntu As you can see the resulting mysql_compute node template looks very much like the “hello world” template as shown in (where the Compute node template was abstract), but this one also allows the TOSCA orchestrator more flexibility when “selecting” a host Compute node by providing flexible constraints for properties like mem_size. As we proceed, you will see that TOSCA provides many normative node types like Compute for commonly found services (e.g., BlockStorage, WebServer, Network, etc.). When these TOSCA normative node types are used in your application’s topology they are always assumed to be “selectable” by TOSCA Orchestrators which work with target infrastructure providers to find or allocate the best match for them based upon your application’s requirements and constraints.
TOSCA-Simple-Profile-YAML-v1.1-wd01-rev02a.docx