aria_extension_tosca.simple_v1_0

Parser implementation of TOSCA Simple Profile v1.0 cos01.

aria_extension_tosca.simple_v1_0.ToscaSimplePresenter1_0 ARIA presenter for the TOSCA Simple Profile v1.0 cos01.

Assignments

aria_extension_tosca.simple_v1_0.PropertyAssignment This section defines the grammar for assigning values to named properties within TOSCA Node and Relationship templates that are defined in their corresponding named types.
aria_extension_tosca.simple_v1_0.OperationAssignment An operation definition defines a named function or procedure that can be bound to an implementation artifact (e.g., a script).
aria_extension_tosca.simple_v1_0.InterfaceAssignment An interface definition defines a named interface that can be associated with a Node or Relationship Type.
aria_extension_tosca.simple_v1_0.RelationshipAssignment Relationship assignment.
aria_extension_tosca.simple_v1_0.RequirementAssignment A Requirement assignment allows template authors to provide either concrete names of TOSCA templates or provide abstract selection criteria for providers to use to find matching TOSCA templates that are used to fulfill a named requirement’s declared TOSCA Node Type.
aria_extension_tosca.simple_v1_0.AttributeAssignment This section defines the grammar for assigning values to named attributes within TOSCA Node and Relationship templates which are defined in their corresponding named types.
aria_extension_tosca.simple_v1_0.CapabilityAssignment A capability assignment allows node template authors to assign values to properties and attributes for a named capability definition that is part of a Node Template’s type definition.
aria_extension_tosca.simple_v1_0.ArtifactAssignment An artifact definition defines a named, typed file that can be associated with Node Type or Node Template and used by orchestration engine to facilitate deployment and implementation of interface operations.

Definitions

aria_extension_tosca.simple_v1_0.PropertyDefinition A property definition defines a named, typed value and related data that can be associated with an entity defined in this specification (e.g., Node Types, Relationship Types, Capability Types, etc.).
aria_extension_tosca.simple_v1_0.AttributeDefinition An attribute definition defines a named, typed value that can be associated with an entity defined in this specification (e.g., a Node, Relationship or Capability Type).
aria_extension_tosca.simple_v1_0.ParameterDefinition A parameter definition is essentially a TOSCA property definition; however, it also allows a value to be assigned to it (as for a TOSCA property assignment).
aria_extension_tosca.simple_v1_0.OperationDefinition An operation definition defines a named function or procedure that can be bound to an implementation artifact (e.g., a script).
aria_extension_tosca.simple_v1_0.InterfaceDefinition An interface definition defines a named interface that can be associated with a Node or Relationship Type.
aria_extension_tosca.simple_v1_0.RelationshipDefinition Relationship definition.
aria_extension_tosca.simple_v1_0.RequirementDefinition The Requirement definition describes a named requirement (dependencies) of a TOSCA Node Type or Node template which needs to be fulfilled by a matching Capability definition declared by another TOSCA modelable entity.
aria_extension_tosca.simple_v1_0.CapabilityDefinition A capability definition defines a named, typed set of data that can be associated with Node Type or Node Template to describe a transparent capability or feature of the software component the node describes.

Filters

aria_extension_tosca.simple_v1_0.CapabilityFilter Capability filter.
aria_extension_tosca.simple_v1_0.NodeFilter A node filter definition defines criteria for selection of a TOSCA Node Template based upon the template’s property values, capabilities and capability properties.

Miscellaneous

aria_extension_tosca.simple_v1_0.Description Human-readable description.
aria_extension_tosca.simple_v1_0.MetaData Meta data.
aria_extension_tosca.simple_v1_0.Repository A repository definition defines a named external repository which contains deployment and implementation artifacts that are referenced within the TOSCA Service Template.
aria_extension_tosca.simple_v1_0.Import An import definition is used within a TOSCA Service Template to locate and uniquely name another TOSCA Service Template file which has type and template definitions to be imported (included) and referenced within another Service Template.
aria_extension_tosca.simple_v1_0.ConstraintClause A constraint clause defines an operation along with one or more compatible values that can be used to define a constraint on a property or parameter’s allowed values when it is defined in a TOSCA Service Template or one of its entities.
aria_extension_tosca.simple_v1_0.EntrySchema ARIA NOTE: The specification does not properly explain this type, however it is implied by examples.
aria_extension_tosca.simple_v1_0.OperationImplementation Operation implementation.
aria_extension_tosca.simple_v1_0.SubstitutionMappingsRequirement Substitution mapping for requirement.
aria_extension_tosca.simple_v1_0.SubstitutionMappingsCapability Substitution mapping for capability.
aria_extension_tosca.simple_v1_0.SubstitutionMappings Substitution mappings.

Templates

aria_extension_tosca.simple_v1_0.NodeTemplate A Node Template specifies the occurrence of a manageable software component as part of an application’s topology model which is defined in a TOSCA Service Template.
aria_extension_tosca.simple_v1_0.RelationshipTemplate A Relationship Template specifies the occurrence of a manageable relationship between node templates as part of an application’s topology model that is defined in a TOSCA Service Template.
aria_extension_tosca.simple_v1_0.GroupTemplate A group definition defines a logical grouping of node templates, typically for management purposes, but is separate from the application’s topology template.
aria_extension_tosca.simple_v1_0.PolicyTemplate A policy definition defines a policy that can be associated with a TOSCA topology or top-level entity definition (e.g., group definition, node template, etc.).
aria_extension_tosca.simple_v1_0.TopologyTemplate This section defines the topology template of a cloud application.
aria_extension_tosca.simple_v1_0.ServiceTemplate Servicate template.

Types

aria_extension_tosca.simple_v1_0.ArtifactType An Artifact Type is a reusable entity that defines the type of one or more files that are used to define implementation or deployment artifacts that are referenced by nodes or relationships on their operations.
aria_extension_tosca.simple_v1_0.DataType A Data Type definition defines the schema for new named datatypes in TOSCA.
aria_extension_tosca.simple_v1_0.CapabilityType A Capability Type is a reusable entity that describes a kind of capability that a Node Type can declare to expose.
aria_extension_tosca.simple_v1_0.InterfaceType An Interface Type is a reusable entity that describes a set of operations that can be used to interact with or manage a node or relationship in a TOSCA topology.
aria_extension_tosca.simple_v1_0.RelationshipType A Relationship Type is a reusable entity that defines the type of one or more relationships between Node Types or Node Templates.
aria_extension_tosca.simple_v1_0.NodeType A Node Type is a reusable entity that defines the type of one or more Node Templates.
aria_extension_tosca.simple_v1_0.GroupType A Group Type defines logical grouping types for nodes, typically for different management purposes.
aria_extension_tosca.simple_v1_0.PolicyType A Policy Type defines a type of requirement that affects or governs an application or service’s topology at some stage of its lifecycle, but is not explicitly part of the topology itself (i.e., it does not prevent the application or service from being deployed or run if it did not exist).

Data types

aria_extension_tosca.simple_v1_0.Timestamp TOSCA timestamps follow the YAML specification, which in turn is a variant of ISO8601.
aria_extension_tosca.simple_v1_0.Version TOSCA supports the concept of “reuse” of type definitions, as well as template definitions which could be version and change over time.
aria_extension_tosca.simple_v1_0.Range The range type can be used to define numeric ranges with a lower and upper boundary.
aria_extension_tosca.simple_v1_0.List The list type allows for specifying multiple values for a parameter of property.
aria_extension_tosca.simple_v1_0.Map The map type allows for specifying multiple values for a parameter of property as a map.
aria_extension_tosca.simple_v1_0.ScalarSize Integer scalar for counting bytes.
aria_extension_tosca.simple_v1_0.ScalarTime Floating point scalar for counting seconds.
aria_extension_tosca.simple_v1_0.ScalarFrequency Floating point scalar for counting cycles per second (Hz).
class aria_extension_tosca.simple_v1_0.ToscaSimplePresenter1_0(name=None, raw=None, container=None)

Bases: aria.parser.presentation.presenter.Presenter

ARIA presenter for the TOSCA Simple Profile v1.0 cos01.

Supported tosca_definitions_version values:

  • tosca_simple_yaml_1_0
ALLOWED_IMPORTED_DSL_VERSIONS = ('tosca_simple_yaml_1_0',)
DSL_VERSIONS = ('tosca_simple_yaml_1_0',)
SIMPLE_PROFILE_LOCATION = 'tosca-simple-1.0/tosca-simple-1.0.yaml'
SPECIAL_IMPORTS = {'aria-1.0': 'aria-1.0/aria-1.0.yaml'}
functions
service_template
class aria_extension_tosca.simple_v1_0.PropertyAssignment(name=None, raw=None, container=None, cls=None)

Bases: aria.parser.presentation.presentation.AsIsPresentation

This section defines the grammar for assigning values to named properties within TOSCA Node and Relationship templates that are defined in their corresponding named types.

See the TOSCA Simple Profile v1.0 cos01 specification

class aria_extension_tosca.simple_v1_0.OperationAssignment(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

An operation definition defines a named function or procedure that can be bound to an implementation artifact (e.g., a script).

See the TOSCA Simple Profile v1.0 cos01 specification

description

The optional description string for the associated named operation.

Type:Description
implementation

The optional implementation artifact name (e.g., a script file name within a TOSCA CSAR file).

Type:OperationImplementation
inputs

The optional list of input property assignments (i.e., parameters assignments) for operation definitions that are within TOSCA Node or Relationship Template definitions. This includes when operation definitions are included as part of a Requirement assignment in a Node Template.

Type:{basestring: PropertyAssignment}
class aria_extension_tosca.simple_v1_0.InterfaceAssignment(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

An interface definition defines a named interface that can be associated with a Node or Relationship Type.

See the TOSCA Simple Profile v1.0 cos01 specification

inputs

The optional list of input property assignments (i.e., parameters assignments) for interface definitions that are within TOSCA Node or Relationship Template definitions. This includes when interface definitions are referenced as part of a Requirement assignment in a Node Template.

Type:{basestring: PropertyAssignment}
operations
Type:{basestring: OperationAssignment}
class aria_extension_tosca.simple_v1_0.RelationshipAssignment(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

Relationship assignment.

interfaces

The optional reserved keyname used to reference declared (named) interface definitions of the corresponding Relationship Type in order to provide Property assignments for these interfaces or operations of these interfaces.

Type:{basestring: InterfaceAssignment}
properties

ARIA NOTE: This field is not mentioned in the spec, but is implied.

Type:{basestring: PropertyAssignment}
type

The optional reserved keyname used to provide the name of the Relationship Type for the requirement assignment’s relationship keyname.

Type:basestring
class aria_extension_tosca.simple_v1_0.RequirementAssignment(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A Requirement assignment allows template authors to provide either concrete names of TOSCA templates or provide abstract selection criteria for providers to use to find matching TOSCA templates that are used to fulfill a named requirement’s declared TOSCA Node Type.

See the TOSCA Simple Profile v1.0 cos01 specification

capability

The optional reserved keyname used to provide the name of either a:

  • Capability definition within a target node template that can fulfill the requirement.
  • Capability Type that the provider will use to select a type-compatible target node template to fulfill the requirement at runtime.
Type:basestring
node

The optional reserved keyname used to identify the target node of a relationship. Specifically, it is used to provide either a:

  • Node Template name that can fulfill the target node requirement.
  • Node Type name that the provider will use to select a type-compatible node template to fulfill the requirement at runtime.
Type:basestring
node_filter

The optional filter definition that TOSCA orchestrators or providers would use to select a type-compatible target node that can fulfill the associated abstract requirement at runtime.

Type:NodeFilter
relationship

The optional reserved keyname used to provide the name of either a:

  • Relationship Template to use to relate the source node to the (capability in the) target node when fulfilling the requirement.
  • 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.
Type:RelationshipAssignment
class aria_extension_tosca.simple_v1_0.AttributeAssignment(name=None, raw=None, container=None, cls=None)

Bases: aria.parser.presentation.presentation.AsIsPresentation

This section defines the grammar for assigning values to named attributes within TOSCA Node and Relationship templates which are defined in their corresponding named types.

See the TOSCA Simple Profile v1.0 cos01 specification

class aria_extension_tosca.simple_v1_0.CapabilityAssignment(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A capability assignment allows node template authors to assign values to properties and attributes for a named capability definition that is part of a Node Template’s type definition.

See the TOSCA Simple Profile v1.0 cos01 specification

attributes

An optional list of attribute definitions for the Capability definition.

Type:{basestring: AttributeAssignment}
properties

An optional list of property definitions for the Capability definition.

Type:{basestring: PropertyAssignment}
class aria_extension_tosca.simple_v1_0.ArtifactAssignment(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

An artifact definition defines a named, typed file that can be associated with Node Type or Node Template and used by orchestration engine to facilitate deployment and implementation of interface operations.

See the TOSCA Simple Profile v1.0 cos01 specification

deploy_path

The file path the associated file would be deployed into within the target node’s container.

Type:basestring
description

The optional description for the artifact definition.

Type:Description
file

The required URI string (relative or absolute) which can be used to locate the artifact’s file.

Type:basestring
properties

ARIA NOTE: This field is not mentioned in the spec, but is implied.

Type:{basestring: PropertyAssignment}
repository

The optional name of the repository definition which contains the location of the external repository that contains the artifact. The artifact is expected to be referenceable by its file URI within the repository.

Type:basestring
type

The required artifact type for the artifact definition.

Type:basestring
class aria_extension_tosca.simple_v1_0.PropertyDefinition(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A property definition defines a named, typed value and related data that can be associated with an entity defined in this specification (e.g., Node Types, Relationship Types, Capability Types, etc.). Properties are used by template authors to provide input values to TOSCA entities which indicate their “desired state” when they are instantiated. The value of a property can be retrieved using the get_property function within TOSCA Service Templates.

See the TOSCA Simple Profile v1.0 cos01 specification

constraints

The optional list of sequenced constraint clauses for the property.

Type:list of (str, ConstraintClause)
default

An optional key that may provide a value to be used as a default if not provided by another means.

Type:basestring
description

The optional description for the property.

Type:Description
entry_schema

The optional key that is used to declare the name of the Datatype definition for entries of set types such as the TOSCA list or map.

Type:basestring
required

An optional key that declares a property as required (true) or not (false).

Type:bool
status

The optional status of the property relative to the specification or implementation.

Type:basestring
type

The required data type for the property.

Type:basestring
class aria_extension_tosca.simple_v1_0.AttributeDefinition(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

An attribute definition defines a named, typed value that can be associated with an entity defined in this specification (e.g., a Node, Relationship or Capability Type). Specifically, it is used to expose the “actual state” of some property of a TOSCA entity after it has been deployed and instantiated (as set by the TOSCA orchestrator). Attribute values can be retrieved via the get_attribute function from the instance model and used as values to other entities within TOSCA Service Templates.

See the TOSCA Simple Profile v1.0 cos01 specification

default

An optional key that may provide a value to be used as a default if not provided by another means.

This value SHALL be type compatible with the type declared by the property definition’s type keyname.

Type:basestring
description

The optional description for the attribute.

Type:Description
entry_schema

The optional key that is used to declare the name of the Datatype definition for entries of set types such as the TOSCA list or map.

Type:basestring
status

The optional status of the attribute relative to the specification or implementation.

Type:basestring
type

The required data type for the attribute.

Type:basestring
class aria_extension_tosca.simple_v1_0.ParameterDefinition(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.definitions.PropertyDefinition

A parameter definition is essentially a TOSCA property definition; however, it also allows a value to be assigned to it (as for a TOSCA property assignment). In addition, in the case of output parameters, it can optionally inherit the data type of the value assigned to it rather than have an explicit data type defined for it.

See the TOSCA Simple Profile v1.0 cos01 specification

type

The required data type for the parameter.

Note: This keyname is required for a TOSCA Property definition, but is not for a TOSCA Parameter definition.

Type:basestring
value

The type-compatible value to assign to the named parameter. Parameter values may be provided as the result from the evaluation of an expression or a function.

class aria_extension_tosca.simple_v1_0.OperationDefinition(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

An operation definition defines a named function or procedure that can be bound to an implementation artifact (e.g., a script).

See the TOSCA Simple Profile v1.0 cos01 specification

description

The optional description string for the associated named operation.

Type:Description
implementation

The optional implementation artifact name (e.g., a script file name within a TOSCA CSAR file).

Type:OperationImplementation
inputs

The optional list of input property definitions available to all defined operations for interface definitions that are within TOSCA Node or Relationship Type definitions. This includes when interface definitions are included as part of a Requirement definition in a Node Type.

Type:{basestring: PropertyDefinition}
class aria_extension_tosca.simple_v1_0.InterfaceDefinition(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

An interface definition defines a named interface that can be associated with a Node or Relationship Type.

See the TOSCA Simple Profile v1.0 cos01 specification

inputs

The optional list of input property definitions available to all defined operations for interface definitions that are within TOSCA Node or Relationship Type definitions. This includes when interface definitions are included as part of a Requirement definition in a Node Type.

Type:{basestring: PropertyDefinition}
operations
Type:{basestring: OperationDefinition}
type

ARIA NOTE: This field is not mentioned in the spec, but is implied.

Type:basestring
class aria_extension_tosca.simple_v1_0.RelationshipDefinition(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

Relationship definition.

interfaces

The optional reserved keyname used to reference declared (named) interface definitions of the corresponding Relationship Type in order to declare additional Property definitions for these interfaces or operations of these interfaces.

Type:list of InterfaceDefinition
type

The optional reserved keyname used to provide the name of the Relationship Type for the requirement definition’s relationship keyname.

Type:basestring
class aria_extension_tosca.simple_v1_0.RequirementDefinition(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

The Requirement definition describes a named requirement (dependencies) of a TOSCA Node Type or Node template which needs to be fulfilled by a matching Capability definition declared by another TOSCA modelable entity. The requirement definition may itself include the specific name of the fulfilling entity (explicitly) or provide an abstract type, along with additional filtering characteristics, that a TOSCA orchestrator can use to fulfill the capability at runtime (implicitly).

See the TOSCA Simple Profile v1.0 cos01 specification

capability

The required reserved keyname used that can be used to provide the name of a valid Capability Type that can fulfill the requirement.

Type:basestring
node

The optional reserved keyname used to provide the name of a valid Node Type that contains the capability definition that can be used to fulfill the requirement.

Type:basestring
occurrences

The optional minimum and maximum occurrences for the requirement.

Note: the keyword UNBOUNDED is also supported to represent any positive integer.

Type:Range
relationship

The optional reserved keyname used to provide the name of a valid Relationship Type to construct when fulfilling the requirement.

Type:RelationshipDefinition
class aria_extension_tosca.simple_v1_0.CapabilityDefinition(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A capability definition defines a named, typed set of data that can be associated with Node Type or Node Template to describe a transparent capability or feature of the software component the node describes.

See the TOSCA Simple Profile v1.0 cos01 specification

attributes

An optional list of attribute definitions for the Capability definition.

Type:{basestring: AttributeDefinition}
description

The optional description of the Capability definition.

Type:Description
occurrences

The optional minimum and maximum occurrences for the capability. By default, an exported Capability should allow at least one relationship to be formed with it with a maximum of UNBOUNDED relationships.

Note: the keyword UNBOUNDED is also supported to represent any positive integer.

ARIA NOTE: The spec seems wrong here: the implied default should be [0,UNBOUNDED], not [1,UNBOUNDED], otherwise it would imply that at 1 least one relationship must be formed.

Type:Range
properties

An optional list of property definitions for the Capability definition.

Type:{basestring: PropertyDefinition}
type

The required name of the Capability Type the capability definition is based upon.

Type:basestring
valid_source_types

An optional list of one or more valid names of Node Types that are supported as valid sources of any relationship established to the declared Capability Type.

Type:[basestring]
class aria_extension_tosca.simple_v1_0.CapabilityFilter(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

Capability filter.

properties
class aria_extension_tosca.simple_v1_0.NodeFilter(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A node filter definition defines criteria for selection of a TOSCA Node Template based upon the template’s property values, capabilities and capability properties.

See the TOSCA Simple Profile v1.0 cos01 specification

capabilities

An optional sequenced list of property filters that would be used to select (filter) matching TOSCA entities (e.g., Node Template, Node Type, Capability Types, etc.) based upon their capabilities’ property definitions’ values.

Type:list of (str, CapabilityDefinition)
properties

An optional sequenced list of property filters that would be used to select (filter) matching TOSCA entities (e.g., Node Template, Node Type, Capability Types, etc.) based upon their property definitions’ values.

See the TOSCA Simple Profile v1.0 cos01 specification

Type:list of (str, ConstraintClause)
class aria_extension_tosca.simple_v1_0.Description(name=None, raw=None, container=None, cls=None)

Bases: aria.parser.presentation.presentation.AsIsPresentation

Human-readable description.

See the TOSCA Simple Profile v1.0 cos01 specification

class aria_extension_tosca.simple_v1_0.MetaData(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

Meta data.

custom
Type:dict
template_author

This optional metadata keyname can be used to declare the author(s) of the service template as a single-line string value.

template_name

This optional metadata keyname can be used to declare the name of service template as a single-line string value.

template_version

This optional metadata keyname can be used to declare a domain specific version of the service template as a single-line string value.

class aria_extension_tosca.simple_v1_0.Repository(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A repository definition defines a named external repository which contains deployment and implementation artifacts that are referenced within the TOSCA Service Template.

See the TOSCA Simple Profile v1.0 cos01 specification

credential

The optional Credential used to authorize access to the repository.

Type:tosca.datatypes.Credential
description

The optional description for the repository.

Type:Description
url

The required URL or network address used to access the repository.

Type:basestring
class aria_extension_tosca.simple_v1_0.Import(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

An import definition is used within a TOSCA Service Template to locate and uniquely name another TOSCA Service Template file which has type and template definitions to be imported (included) and referenced within another Service Template.

See the TOSCA Simple Profile v1.0 cos01 specification

file

The required symbolic name for the imported file.

Type:basestring
namespace_prefix

The optional namespace prefix (alias) that will be used to indicate the namespace_uri when forming a qualified name (i.e., qname) when referencing type definitions from the imported file.

Type:basestring
namespace_uri

The optional namespace URI to that will be applied to type definitions found within the imported file as a string.

Type:basestring
repository

The optional symbolic name of the repository definition where the imported file can be found as a string.

Type:basestring
class aria_extension_tosca.simple_v1_0.ConstraintClause(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A constraint clause defines an operation along with one or more compatible values that can be used to define a constraint on a property or parameter’s allowed values when it is defined in a TOSCA Service Template or one of its entities.

See the TOSCA Simple Profile v1.0 cos01 specification

equal

Constrains a property or parameter to a value equal to (‘=’) the value declared.

greater_or_equal

Constrains a property or parameter to a value greater than or equal to (‘>=’) the value declared.

greater_than

Constrains a property or parameter to a value greater than (‘>’) the value declared.

in_range

Constrains a property or parameter to a value in range of (inclusive) the two values declared.

Note: subclasses or templates of types that declare a property with the in_range constraint MAY only further restrict the range specified by the parent type.

length

Constrains the property or parameter to a value of a given length.

less_or_equal

Constrains a property or parameter to a value less than or equal to (‘<=’) the value declared.

less_than

Constrains a property or parameter to a value less than (‘<’) the value declared.

max_length

Constrains the property or parameter to a value to a maximum length.

min_length

Constrains the property or parameter to a value to a minimum length.

pattern

Constrains the property or parameter to a value that is allowed by the provided regular expression.

Note: Future drafts of this specification will detail the use of regular expressions and reference an appropriate standardized grammar.

valid_values

Constrains a property or parameter to a value that is in the list of declared values.

class aria_extension_tosca.simple_v1_0.EntrySchema(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

ARIA NOTE: The specification does not properly explain this type, however it is implied by examples.

constraints
Type:list of (str, ConstraintClause)
description
Type:Description
type
Type:basestring
class aria_extension_tosca.simple_v1_0.OperationImplementation(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

Operation implementation.

dependencies

The optional ordered list of one or more dependent or secondary implementation artifact name which are referenced by the primary implementation artifact (e.g., a library the script installs or a secondary script).

Type:[basestring]
primary

The optional implementation artifact name (i.e., the primary script file name within a TOSCA CSAR file).

Type:basestring
class aria_extension_tosca.simple_v1_0.SubstitutionMappingsRequirement(name=None, raw=None, container=None, cls=None)

Bases: aria.parser.presentation.presentation.AsIsPresentation

Substitution mapping for requirement.

node_template
requirement
class aria_extension_tosca.simple_v1_0.SubstitutionMappingsCapability(name=None, raw=None, container=None, cls=None)

Bases: aria.parser.presentation.presentation.AsIsPresentation

Substitution mapping for capability.

capability
node_template
class aria_extension_tosca.simple_v1_0.SubstitutionMappings(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

Substitution mappings.

capabilities
Type:{basestring: SubstitutionMappingsCapability}
node_type
Type:basestring
requirements
Type:{basestring: SubstitutionMappingsRequirement}
class aria_extension_tosca.simple_v1_0.NodeTemplate(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A Node Template specifies the occurrence of a manageable software component as part of an application’s topology model which is defined in a TOSCA Service Template. A Node template is an instance of a specified Node Type and can provide customized properties, constraints or operations which override the defaults provided by its Node Type and its implementations.

See the TOSCA Simple Profile v1.0 cos01 specification

artifacts

An optional list of named artifact definitions for the Node Template.

Type:{basestring: ArtifactAssignment}
attributes

An optional list of attribute value assignments for the Node Template.

Type:{basestring: AttributeAssignment}
capabilities

An optional list of capability assignments for the Node Template.

Type:{basestring: CapabilityAssignment}
copy

The optional (symbolic) name of another node template to copy into (all keynames and values) and use as a basis for this node template.

Type:basestring
description

An optional description for the Node Template.

Type:Description
directives

An optional list of directive values to provide processing instructions to orchestrators and tooling.

Type:[basestring]
interfaces

An optional list of named interface definitions for the Node Template.

Type:{basestring: InterfaceAssignment}
node_filter

The optional filter definition that TOSCA orchestrators would use to select the correct target node. This keyname is only valid if the directive has the value of “selectable” set.

Type:NodeFilter
properties

An optional list of property value assignments for the Node Template.

Type:{basestring: PropertyAssignment}
requirements

An optional sequenced list of requirement assignments for the Node Template.

Type:list of (str, RequirementAssignment)
type

The required name of the Node Type the Node Template is based upon.

Type:basestring
class aria_extension_tosca.simple_v1_0.RelationshipTemplate(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A Relationship Template specifies the occurrence of a manageable relationship between node templates as part of an application’s topology model that is defined in a TOSCA Service Template. A Relationship template is an instance of a specified Relationship Type and can provide customized properties, constraints or operations which override the defaults provided by its Relationship Type and its implementations.

See the TOSCA Simple Profile v1.0 cos01 specification

attributes

An optional list of attribute assignments for the Relationship Template.

Type:{basestring: AttributeAssignment}
copy

The optional (symbolic) name of another relationship template to copy into (all keynames and values) and use as a basis for this relationship template.

Type:basestring
description

An optional description for the Relationship Template.

Type:Description
interfaces

An optional list of named interface definitions for the Node Template.

ARIA NOTE: Spec is wrong here, should be Relationship Template.

Type:{basestring: InterfaceAssignment}
properties

An optional list of property assignments for the Relationship Template.

Type:{basestring: PropertyAssignment}
type

The required name of the Relationship Type the Relationship Template is based upon.

Type:basestring
class aria_extension_tosca.simple_v1_0.GroupTemplate(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A group definition defines a logical grouping of node templates, typically for management purposes, but is separate from the application’s topology template.

See the TOSCA Simple Profile v1.0 cos01 specification

description

The optional description for the group definition.

Type:Description
interfaces

An optional list of named interface definitions for the group definition.

Type:{basestring: InterfaceDefinition}
members

The optional list of one or more node template names that are members of this group definition.

Type:[basestring]
properties

An optional list of property value assignments for the group definition.

Type:{basestring: PropertyAssignment}
type

The required name of the group type the group definition is based upon.

Type:basestring
class aria_extension_tosca.simple_v1_0.PolicyTemplate(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A policy definition defines a policy that can be associated with a TOSCA topology or top-level entity definition (e.g., group definition, node template, etc.).

See the TOSCA Simple Profile v1.0 cos01 specification

description

The optional description for the policy definition.

Type:Description
properties

An optional list of property value assignments for the policy definition.

Type:{basestring: PropertyAssignment
targets

An optional list of valid Node Templates or Groups the Policy can be applied to.

Type:[basestring]
type

The required name of the policy type the policy definition is based upon.

Type:basestring
class aria_extension_tosca.simple_v1_0.TopologyTemplate(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

This section defines the topology template of a cloud application. The main ingredients of the topology template are node templates representing components of the application and relationship templates representing links between the components. These elements are defined in the nested node_templates section and the nested relationship_templates sections, respectively. Furthermore, a topology template allows for defining input parameters, output parameters as well as grouping of node templates.

See the TOSCA Simple Profile v1.0 cos01 specification

description

The optional description for the Topology Template.

Type:Description
groups

An optional list of Group definitions whose members are node templates defined within this same Topology Template.

GroupTemplate

inputs

An optional list of input parameters (i.e., as parameter definitions) for the Topology Template.

Type:{basestring: ParameterDefinition}
node_templates

An optional list of node template definitions for the Topology Template.

Type:{basestring: NodeTemplate}
outputs

An optional list of output parameters (i.e., as parameter definitions) for the Topology Template.

Type:{basestring: ParameterDefinition}
policies

An optional list of Policy definitions for the Topology Template.

Type:{basestring: PolicyTemplate}
relationship_templates

An optional list of relationship templates for the Topology Template.

Type:{basestring: RelationshipTemplate}
substitution_mappings

An optional declaration that exports the topology template as an implementation of a Node type.

This also includes the mappings between the external Node Types named capabilities and requirements to existing implementations of those capabilities and requirements on Node templates declared within the topology template.

class aria_extension_tosca.simple_v1_0.ServiceTemplate(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

Servicate template.

See the TOSCA Simple Profile v1.0 cos01 specification.

artifact_types

This section contains an optional list of artifact type definitions for use in the service template.

Type:{basestring: ArtifactType}
capability_types

This section contains an optional list of capability type definitions for use in the service template.

Type:{basestring: CapabilityType}
data_types

Declares a list of optional TOSCA Data Type definitions.

Type:{basestring: DataType}
description

Declares a description for this Service Template and its contents.

Type:Description
dsl_definitions

Declares optional DSL-specific definitions and conventions. For example, in YAML, this allows defining reusable YAML macros (i.e., YAML alias anchors) for use throughout the TOSCA Service Template.

See the TOSCA Simple Profile v1.0 cos01 specification

group_types

This section contains a list of group type definitions for use in the service template.

Type:{basestring: GroupType}
imports

Declares import statements external TOSCA Definitions documents. For example, these may be file location or URIs relative to the service template file within the same TOSCA CSAR file.

Type:list of Import
interface_types

This section contains an optional list of interface type definitions for use in the service template.

Type:{basestring: InterfaceType}
metadata

Defines a section used to declare additional metadata information. Domain-specific TOSCA profile specifications may define keynames that are required for their implementations.

See the TOSCA Simple Profile v1.0 cos01 specification

Type:MetaData
node_types

This section contains a set of node type definitions for use in the service template.

Type:{basestring: NodeType}
policy_types

This section contains a list of policy type definitions for use in the service template.

Type:{basestring: PolicyType}
relationship_types

This section contains a set of relationship type definitions for use in the service template.

Type:{basestring: RelationshipType}
repositories

Declares the list of external repositories which contain artifacts that are referenced in the service template along with their addresses and necessary credential information used to connect to them in order to retrieve the artifacts.

Type:{basestring: Repository}
topology_template

Defines the topology template of an application or service, consisting of node templates that represent the application’s or service’s components, as well as relationship templates representing relations between the components.

Type:TopologyTemplate
tosca_definitions_version

Defines the version of the TOSCA Simple Profile specification the template (grammar) complies with.

See the TOSCA Simple Profile v1.0 cos01 specification

Type:basestring
class aria_extension_tosca.simple_v1_0.ArtifactType(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

An Artifact Type is a reusable entity that defines the type of one or more files that are used to define implementation or deployment artifacts that are referenced by nodes or relationships on their operations.

See the TOSCA Simple Profile v1.0 cos01 specification

derived_from

An optional parent Artifact Type name the Artifact Type derives from.

Type:basestring
description

An optional description for the Artifact Type.

Type:Description
file_ext

The required file extension property for the Artifact Type.

Type:[basestring]
mime_type

The required mime type property for the Artifact Type.

Type:basestring
properties

An optional list of property definitions for the Artifact Type.

Type:{basestring: PropertyDefinition}
version

An optional version for the Artifact Type definition.

Type:Version
class aria_extension_tosca.simple_v1_0.DataType(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A Data Type definition defines the schema for new named datatypes in TOSCA.

See the TOSCA Simple Profile v1.0 cos01 specification

constraints

The optional list of sequenced constraint clauses for the Data Type.

Type:list of (str, ConstraintClause)
derived_from

The optional key used when a datatype is derived from an existing TOSCA Data Type.

Type:basestring
description

The optional description for the Data Type.

Type:Description
properties

The optional list property definitions that comprise the schema for a complex Data Type in TOSCA.

Type:{basestring: PropertyDefinition}
version

An optional version for the Data Type definition.

Type:Version
class aria_extension_tosca.simple_v1_0.CapabilityType(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A Capability Type is a reusable entity that describes a kind of capability that a Node Type can declare to expose. Requirements (implicit or explicit) that are declared as part of one node can be matched to (i.e., fulfilled by) the Capabilities declared by another node.

See the TOSCA Simple Profile v1.0 cos01 specification

attributes

An optional list of attribute definitions for the Capability Type.

Type:{basestring: AttributeDefinition}
derived_from

An optional parent capability type name this new Capability Type derives from.

Type:basestring
description

An optional description for the Capability Type.

Type:Description
properties

An optional list of property definitions for the Capability Type.

ARIA NOTE: The spec says ‘list’, but the examples are all of dicts.

Type:{basestring: PropertyDefinition}
valid_source_types

An optional list of one or more valid names of Node Types that are supported as valid sources of any relationship established to the declared Capability Type.

Type:[basestring]
version

An optional version for the Capability Type definition.

Type:Version
class aria_extension_tosca.simple_v1_0.InterfaceType(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

An Interface Type is a reusable entity that describes a set of operations that can be used to interact with or manage a node or relationship in a TOSCA topology.

See the TOSCA Simple Profile v1.0 cos01 specification

derived_from

An optional parent Interface Type name this new Interface Type derives from.

Type:basestring
description

An optional description for the Interface Type.

Type:Description
inputs

The optional list of input parameter definitions.

Type:{basestring: PropertyDefinition}
operations
Type:{basestring: OperationDefinition}
version

An optional version for the Interface Type definition.

Type:Version
class aria_extension_tosca.simple_v1_0.RelationshipType(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A Relationship Type is a reusable entity that defines the type of one or more relationships between Node Types or Node Templates.

See the TOSCA Simple Profile v1.0 cos01 specification

attributes

An optional list of attribute definitions for the Relationship Type.

Type:{basestring: AttributeDefinition}
derived_from

An optional parent Relationship Type name the Relationship Type derives from.

Type:basestring
description

An optional description for the Relationship Type.

Type:Description
interfaces

An optional list of interface definitions interfaces supported by the Relationship Type.

Type:{basestring: InterfaceDefinition}
properties

An optional list of property definitions for the Relationship Type.

Type:{basestring: PropertyDefinition}
valid_target_types

An optional list of one or more names of Capability Types that are valid targets for this relationship.

Type:[basestring]
version

An optional version for the Relationship Type definition.

Type:Version
class aria_extension_tosca.simple_v1_0.NodeType(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A Node Type is a reusable entity that defines the type of one or more Node Templates. As such, a Node Type defines the structure of observable properties via a Properties Definition, the Requirements and Capabilities of the node as well as its supported interfaces.

See the TOSCA Simple Profile v1.0 cos01 specification

artifacts

An optional list of named artifact definitions for the Node Type.

Type:{basestring: ArtifactAssignment}
attributes

An optional list of attribute definitions for the Node Type.

Type:{basestring: AttributeDefinition}
capabilities

An optional list of capability definitions for the Node Type.

Type:list of CapabilityDefinition
derived_from

An optional parent Node Type name this new Node Type derives from.

Type:basestring
description

An optional description for the Node Type.

Type:Description
interfaces

An optional list of interface definitions supported by the Node Type.

Type:{basestring: InterfaceDefinition}
properties

An optional list of property definitions for the Node Type.

Type:{basestring: PropertyDefinition}
requirements

An optional sequenced list of requirement definitions for the Node Type.

ARIA NOTE: The spec seems wrong to make this a sequenced list. It seems that when you have more than one requirement of the same name, behavior is undefined. The idea is to use the “occurrences” field if you need to limit the number of requirement assignments.

Type:list of (str, RequirementDefinition)
version

An optional version for the Node Type definition.

Type:Version
class aria_extension_tosca.simple_v1_0.GroupType(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A Group Type defines logical grouping types for nodes, typically for different management purposes. Groups can effectively be viewed as logical nodes that are not part of the physical deployment topology of an application, yet can have capabilities and the ability to attach policies and interfaces that can be applied (depending on the group type) to its member nodes.

Conceptually, group definitions allow the creation of logical “membership” relationships to nodes in a service template that are not a part of the application’s explicit requirement dependencies in the topology template (i.e. those required to actually get the application deployed and running). Instead, such logical membership allows for the introduction of things such as group management and uniform application of policies (i.e., requirements that are also not bound to the application itself) to the group’s members.

See the TOSCA Simple Profile v1.0 cos01 specification

derived_from

An optional parent Group Type name the Group Type derives from.

Type:basestring
description

The optional description for the Group Type.

Type:Description
interfaces

An optional list of interface definitions supported by the Group Type.

Type:{basestring: InterfaceDefinition}
members

An optional list of one or more names of Node Types that are valid (allowed) as members of the Group Type.

Note: This can be viewed by TOSCA Orchestrators as an implied relationship from the listed members nodes to the group, but one that does not have operational lifecycle considerations. For example, if we were to name this as an explicit Relationship Type we might call this “MemberOf” (group).

Type:[basestring]
properties

An optional list of property definitions for the Group Type.

Type:{basestring: PropertyDefinition}
version

An optional version for the Group Type definition.

Type:Version
class aria_extension_tosca.simple_v1_0.PolicyType(name=None, raw=None, container=None)

Bases: aria_extension_tosca.simple_v1_0.presentation.extensible.ExtensiblePresentation

A Policy Type defines a type of requirement that affects or governs an application or service’s topology at some stage of its lifecycle, but is not explicitly part of the topology itself (i.e., it does not prevent the application or service from being deployed or run if it did not exist).

See the TOSCA Simple Profile v1.0 cos01 specification

derived_from

An optional parent Policy Type name the Policy Type derives from.

Type:basestring
description

The optional description for the Policy Type.

Type:Description
properties

An optional list of property definitions for the Policy Type.

Type:PropertyDefinition
targets

An optional list of valid Node Types or Group Types the Policy Type can be applied to.

Note: This can be viewed by TOSCA Orchestrators as an implied relationship to the target nodes, but one that does not have operational lifecycle considerations. For example, if we were to name this as an explicit Relationship Type we might call this “AppliesTo” (node or group).

Type:[basestring]
version

An optional version for the Policy Type definition.

Type:Version
class aria_extension_tosca.simple_v1_0.Timestamp(entry_schema, constraints, value, aspect)

Bases: object

TOSCA timestamps follow the YAML specification, which in turn is a variant of ISO8601.

Long forms and short forms (without time of day and assuming UTC timezone) are supported for parsing. The canonical form (for rendering) matches the long form at the UTC timezone.

See the Timestamp Language-Independent Type for YAML Version 1.1 (Working Draft 2005-01-18)

CANONICAL = '%Y-%m-%dT%H:%M:%S'
REGULAR_LONG = '^(?P<year>[0-9][0-9][0-9][0-9])-(?P<month>[0-9][0-9]?)-(?P<day>[0-9][0-9]?)([Tt]|[ \\t]+)(?P<hour>[0-9][0-9]?):(?P<minute>[0-9][0-9]):(?P<second>[0-9][0-9])(?P<fraction>\\.[0-9]*)?(([ \\t]*)Z|(?P<tzhour>[-+][0-9][0-9])?(:(?P<tzminute>[0-9][0-9])?)?)?$'
REGULAR_SHORT = '^(?P<year>[0-9][0-9][0-9][0-9])-(?P<month>[0-9][0-9])-(?P<day>[0-9][0-9])$'
as_datetime_utc
as_raw
class aria_extension_tosca.simple_v1_0.Version(entry_schema, constraints, value, aspect)

Bases: object

TOSCA supports the concept of “reuse” of type definitions, as well as template definitions which could be version and change over time. It is important to provide a reliable, normative means to represent a version string which enables the comparison and management of types and templates over time. Therefore, the TOSCA TC intends to provide a normative version type (string) for this purpose in future Working Drafts of this specification.

See the TOSCA Simple Profile v1.0 cos01 specification

REGULAR = '^(?P<major>\\d+)\\.(?P<minor>\\d+)(\\.(?P<fix>\\d+)((\\.(?P<qualifier>\\d+))(\\-(?P<build>\\d+))?)?)?$'
as_raw
static key(version)

Key method for fast sorting.

class aria_extension_tosca.simple_v1_0.Range(entry_schema, constraints, value, aspect)

Bases: object

The range type can be used to define numeric ranges with a lower and upper boundary. For example, this allows for specifying a range of ports to be opened in a firewall.

See the TOSCA Simple Profile v1.0 cos01 specification

as_raw
is_in(value)
class aria_extension_tosca.simple_v1_0.List

Bases: list

The list type allows for specifying multiple values for a parameter of property. For example, if an application allows for being configured to listen on multiple ports, a list of ports could be configured using the list data type.

See the TOSCA Simple Profile v1.0 cos01 specification

as_raw()
class aria_extension_tosca.simple_v1_0.Map(items=None)

Bases: aria.utils.collections.StrictDict

The map type allows for specifying multiple values for a parameter of property as a map. In contrast to the list type, where each entry can only be addressed by its index in the list, entries in a map are named elements that can be addressed by their keys.

See the TOSCA Simple Profile v1.0 cos01 specification

as_raw()
class aria_extension_tosca.simple_v1_0.ScalarSize(entry_schema, constraints, value, aspect)

Bases: aria_extension_tosca.simple_v1_0.data_types.Scalar

Integer scalar for counting bytes.

See the TOSCA Simple Profile v1.0 cos01 specification

REGULAR = '^(?P<scalar>[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)\\s*(?P<unit>B|kB|KiB|MB|MiB|GB|GiB|TB|TiB)$'
TYPE

alias of int

UNIT = 'bytes'
UNITS = {'kB': 1000, 'B': 1, 'GB': 1000000000, 'MB': 1000000, 'KiB': 1024, 'MiB': 1048576, 'TB': 1000000000000, 'TiB': 1099511627776, 'GiB': 1073741824}
class aria_extension_tosca.simple_v1_0.ScalarTime(entry_schema, constraints, value, aspect)

Bases: aria_extension_tosca.simple_v1_0.data_types.Scalar

Floating point scalar for counting seconds.

See the TOSCA Simple Profile v1.0 cos01 specification

REGULAR = '^(?P<scalar>[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)\\s*(?P<unit>ns|us|ms|s|m|h|d)$'
TYPE

alias of float

UNIT = 'seconds'
UNITS = {'d': 86400.0, 'h': 3600.0, 'm': 60.0, 'us': 1e-06, 's': 1.0, 'ms': 0.001, 'ns': 1e-09}
class aria_extension_tosca.simple_v1_0.ScalarFrequency(entry_schema, constraints, value, aspect)

Bases: aria_extension_tosca.simple_v1_0.data_types.Scalar

Floating point scalar for counting cycles per second (Hz).

See the TOSCA Simple Profile v1.0 cos01 specification

REGULAR = '^(?P<scalar>[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)\\s*(?P<unit>Hz|kHz|MHz|GHz)$'
TYPE

alias of float

UNIT = 'Hz'
UNITS = {'Hz': 1.0, 'kHz': 1000.0, 'MHz': 1000000.0, 'GHz': 1000000000.0}