Unfurl Specific

See also the built-in Unfurl types.

Extensions

  • add ‘any’ schema type for properties and attributes definitions

  • ‘additionalProperties’ field in type and template metadata

  • allow metadata field on inputs, outputs, artifacts, and repositories

  • metadata values can be JSON (instead only strings)

  • add “sensitive” property and datatype metadata field

  • add “immutable” property metadata field

  • add “environment” keyword to implementation definition

  • add “eval” function

  • add “type” in capability assignment

  • allow workflows to be imported

  • workflow “target” keyword also accepts type names

  • groups can have other groups as members

  • an operation’s operation_host field can also be set to a node template’s name.

  • added OPERATION_HOST as a reserved function keyword.

  • add “discover”, “default”, “dependent”, “virtual”, and “protected” directives

  • add “default_for” keyword to relationship templates

  • add “defaults” section to interface definitions

  • add “requirements” keyword to interface definitions

  • add “types” section to the service template can contain any entity type definition.

  • add “when” keyword to “imports” to allow conditional imports

  • add “decorators” section for rule-based enhancements of node templates

  • add “requirements” section to node_filters

  • add “match” key to node_filters for selecting nodes

  • allow “root” to used as alias for the substitution_mappings keyword.

  • add “node” keyword to substitution_mappings section

  • add not_implemented keyword for operations (set to prevent operation inheritance)

  • add invoke keyword for operations (delegates to another operation)

  • add entry_state for operations (only invoke if target has advanced to given node state)

  • allow TOSCAVersion to accept Semantic Versioning 2.0 syntax

  • allow “required” key in artifact definitions on node types

  • allow “revision” keyword in repository definitions

  • allow “imported” key on template definitions

  • derived_from can accept a list types, enabling multiple inheritance.

  • add removed property status value

  • artifacts can be declared on node types.

  • add target, contents, order, permissions, and intent keywords to artifacts

Not yet implemented

The following feature are either not yet implemented or don’t currently conform with the TOSCA 1.3 specification:

  • The get_operation_output function (use resultTemplate instead)

  • “copy” keyword (use the dsl section or merge directives instead)

  • the location and remove arguments to the get_artifact function

  • CSAR manifests and archives (implemented but untested)

  • substitution mappings: only input mappings are supported (set node to a node template instead)

  • triggers

  • notifications

  • xml schema constraints