aria.modeling.models

Data models.

Service template models

aria.modeling.models.ServiceTemplate Template for creating Service instances.
aria.modeling.models.NodeTemplate Template for creating zero or more Node instances, which are typed vertices in the service topology.
aria.modeling.models.GroupTemplate Template for creating a Group instance, which is a typed logical container for zero or more Node instances.
aria.modeling.models.PolicyTemplate Template for creating a Policy instance, which is a typed set of orchestration hints applied to zero or more Node or Group instances.
aria.modeling.models.SubstitutionTemplate Template for creating a Substitution instance, which exposes an entire instantiated service as a single node.
aria.modeling.models.SubstitutionTemplateMapping Used by SubstitutionTemplate to map a capability template or a requirement template to the exposed node.
aria.modeling.models.RequirementTemplate Template for creating Relationship instances, which are optionally-typed edges in the service topology, connecting a Node to a Capability of another node.
aria.modeling.models.RelationshipTemplate Optional addition to a RequirementTemplate.
aria.modeling.models.CapabilityTemplate Template for creating Capability instances, typed attachments which serve two purposes: to provide extra properties and attributes to Node instances, and to expose targets for Relationship instances from other nodes.
aria.modeling.models.InterfaceTemplate Template for creating Interface instances, which are typed bundles of Operation instances.
aria.modeling.models.OperationTemplate Template for creating Operation instances, which are entry points to Python functions called as part of a workflow execution.
aria.modeling.models.ArtifactTemplate Template for creating an Artifact instance, which is a typed file, either provided in a CSAR or downloaded from a repository.
aria.modeling.models.PluginSpecification Requirement for a Plugin.

Service instance models

aria.modeling.models.Service Usually an instance of a ServiceTemplate and its many associated templates (node templates, group templates, policy templates, etc.).
aria.modeling.models.Node Typed vertex in the service topology.
aria.modeling.models.Group Typed logical container for zero or more Node instances.
aria.modeling.models.Policy Typed set of orchestration hints applied to zero or more Node or Group instances.
aria.modeling.models.Substitution Exposes the entire service as a single node.
aria.modeling.models.SubstitutionMapping Used by Substitution to map a capability or a requirement to the exposed node.
aria.modeling.models.Relationship Optionally-typed edge in the service topology, connecting a Node to a Capability of another node.
aria.modeling.models.Capability Typed attachment serving two purposes: to provide extra properties and attributes to a Node, and to expose targets for Relationship instances from other nodes.
aria.modeling.models.Interface Typed bundle of Operation instances.
aria.modeling.models.Operation Entry points to Python functions called as part of a workflow execution.
aria.modeling.models.Artifact Typed file, either provided in a CSAR or downloaded from a repository.

Common models

aria.modeling.models.Output Output parameter or declaration for an output parameter.
aria.modeling.models.Input Input parameter or declaration for an input parameter.
aria.modeling.models.Configuration Configuration parameter.
aria.modeling.models.Property Property parameter or declaration for a property parameter.
aria.modeling.models.Attribute Attribute parameter or declaration for an attribute parameter.
aria.modeling.models.Type Type and its children.
aria.modeling.models.Metadata Custom values associated with the service.

Orchestration models

aria.modeling.models.Execution Workflow execution.
aria.modeling.models.Task Represents the smallest unit of stateful execution in ARIA.
aria.modeling.models.Log Single log message.
aria.modeling.models.Plugin Installed plugin.
aria.modeling.models.Argument Python function argument parameter.
class aria.modeling.models.ServiceTemplate(*args, **kwargs)

Template for creating Service instances.

Usually created by various DSL parsers, such as ARIA’s TOSCA extension. However, it can also be created programmatically.

artifact_types

Base for the artifact type hierarchy,

Type:Type
capability_types

Base for the capability type hierarchy,

Type:Type
created_at

Creation timestamp.

Type:datetime
description

Human-readable description.

Type:basestring
group_templates

Templates for creating groups.

Type:{basestring, GroupTemplate}
group_types

Base for the group type hierarchy,

Type:Type
id

Unique ID.

Type:int
inputs

Declarations for externally provided parameters.

Type:{basestring: Input}
interface_types

Base for the interface type hierarchy,

Type:Type
main_file_name

Filename of CSAR or YAML file from which this service template was parsed.

Type:basestring
meta_data

Associated metadata.

Type:{basestring: Metadata}
name
node_templates

Templates for creating nodes.

Type:{basestring, NodeTemplate}
node_types

Base for the node type hierarchy,

Type:Type
outputs

Declarations for output parameters are filled in after service installation.

Type:{basestring: Output}
plugin_specifications

Required plugins for instantiated services.

Type:{basestring: PluginSpecification}
policy_templates

Templates for creating policies.

Type:{basestring, PolicyTemplate}
policy_types

Base for the policy type hierarchy,

Type:Type
relationship_types

Base for the relationship type hierarchy,

Type:Type
services

Instantiated services.

Type:[Service]
substitution_template

Exposes an entire service as a single node.

Type:SubstitutionTemplate
updated_at

Update timestamp.

Type:datetime
workflow_templates

Templates for creating workflows.

Type:{basestring, OperationTemplate}
class aria.modeling.models.NodeTemplate(*args, **kwargs)

Template for creating zero or more Node instances, which are typed vertices in the service topology.

artifact_templates

Associated artifacts.

Type:{basestring: ArtifactTemplate}
attributes

Declarations for associated mutable parameters.

Type:{basestring: Attribute}
capability_templates

Associated exposed capability templates.

Type:{basestring: CapabilityTemplate}
default_instances

Default number nodes that will appear in the service.

Type:int
description

Human-readable description.

Type:basestring
id

Unique ID.

Type:int
interface_templates

Associated interface templates.

Type:{basestring: InterfaceTemplate}
max_instances

Maximum number nodes that will appear in the service.

Type:int
min_instances

Minimum number nodes that will appear in the service.

Type:int
name

Model name.

Type:basestring
nodes

Instantiated nodes.

Type:[Node]
properties

Declarations for associated immutable parameters.

Type:{basestring: Property}
requirement_templates

Associated potential relationships with other nodes.

Type:[RequirementTemplate]
service_template

Containing service template.

Type:ServiceTemplate
service_template_name

Internal. For use in SQLAlchemy queries.

Type:basestring
target_node_template_constraints

Constraints for filtering relationship targets.

Type:[NodeTemplateConstraint]
type

Node type.

Type:Type
type_name

Internal. For use in SQLAlchemy queries.

Type:basestring
class aria.modeling.models.GroupTemplate(*args, **kwargs)

Template for creating a Group instance, which is a typed logical container for zero or more Node instances.

description

Human-readable description.

Type:basestring
groups

Instantiated groups.

Type:[Group]
id

Unique ID.

Type:int
interface_templates

Associated interface templates.

Type:{basestring: InterfaceTemplate}
name

Model name.

Type:basestring
node_templates

Nodes instantiated by these templates will be members of the group.

Type:[NodeTemplate]
properties

Declarations for associated immutable parameters.

Type:{basestring: Property}
service_template

Containing service template.

Type:ServiceTemplate
type

Group type.

Type:Type
class aria.modeling.models.PolicyTemplate(*args, **kwargs)

Template for creating a Policy instance, which is a typed set of orchestration hints applied to zero or more Node or Group instances.

description

Human-readable description.

Type:basestring
group_templates

Policy will be enacted on all nodes in all groups instantiated by these templates.

Type:{basestring: GroupTemplate}
id

Unique ID.

Type:int
name

Model name.

Type:basestring
node_templates

Policy will be enacted on all nodes instantiated by these templates.

Type:{basestring: NodeTemplate}
policies

Instantiated policies.

Type:[Policy]
properties

Declarations for associated immutable parameters.

Type:{basestring: Property}
service_template

Containing service template.

Type:ServiceTemplate
type

Policy type.

Type:Type
class aria.modeling.models.SubstitutionTemplate(*args, **kwargs)

Template for creating a Substitution instance, which exposes an entire instantiated service as a single node.

id

Unique ID.

Type:int
mappings

Map requirement and capabilities to exposed node.

Type:{basestring: SubstitutionTemplateMapping}
name

Model name.

Type:basestring
node_type

Exposed node type.

Type:Type
substitutions

Instantiated substitutions.

Type:[Substitution]
class aria.modeling.models.SubstitutionTemplateMapping(*args, **kwargs)

Used by SubstitutionTemplate to map a capability template or a requirement template to the exposed node.

The name field should match the capability or requirement name on the exposed node’s type.

Only one of capability_template and requirement_template can be set.

capability_template

Capability template to expose (can be None).

Type:CapabilityTemplate
id

Unique ID.

Type:int
name

Model name.

Type:basestring
requirement_template

Requirement template to expose (can be None).

Type:RequirementTemplate
substitution_template

Containing substitution template.

Type:SubstitutionTemplate
class aria.modeling.models.RequirementTemplate(*args, **kwargs)

Template for creating Relationship instances, which are optionally-typed edges in the service topology, connecting a Node to a Capability of another node.

Note that there is no equivalent “Requirement” instance model. Instead, during instantiation a requirement template is matched with a capability and a Relationship is instantiated.

A requirement template must target a CapabilityType or a capability name. It can optionally target a specific NodeType or NodeTemplate.

Requirement templates may optionally contain a RelationshipTemplate. If they do not, a Relationship will be instantiated with default values.

id

Unique ID.

Type:int
name

Model name.

Type:basestring
node_template

Containing node template.

Type:NodeTemplate
relationship_template

Associated relationship template (can be None).

Type:RelationshipTemplate
relationships

Instantiated relationships.

Type:[Relationship]
target_capability_name

Target capability name in node template or node type (can be None).

Type:basestring
target_capability_type

Target capability type.

Type:CapabilityType
target_node_template

Target node template (can be None).

Type:NodeTemplate
target_node_template_constraints

Constraints for filtering relationship targets.

Type:[NodeTemplateConstraint]
target_node_type

Target node type (can be None).

Type:Type
class aria.modeling.models.RelationshipTemplate(*args, **kwargs)

Optional addition to a RequirementTemplate.

Note that a relationship template here is not exactly equivalent to a relationship template entity in TOSCA. For example, a TOSCA requirement specifying a relationship type rather than a relationship template would still be represented here as a relationship template.

description

Human-readable description.

Type:basestring
id

Unique ID.

Type:int
interface_templates

Associated interface templates.

Type:{basestring: InterfaceTemplate}
name

Model name.

Type:basestring
properties

Declarations for associated immutable parameters.

Type:{basestring: Property}
relationships

Instantiated relationships.

Type:[Relationship]
type

Relationship type.

Type:Type
class aria.modeling.models.CapabilityTemplate(*args, **kwargs)

Template for creating Capability instances, typed attachments which serve two purposes: to provide extra properties and attributes to Node instances, and to expose targets for Relationship instances from other nodes.

capabilities

Instantiated capabilities.

Type:[Capability]
description

Human-readable description.

Type:basestring
id

Unique ID.

Type:int
max_occurrences

Maximum number of requirement matches allowed.

Type:int
min_occurrences

Minimum number of requirement matches required.

Type:int
name

Model name.

Type:basestring
node_template

Containing node template.

Type:NodeTemplate
properties

Declarations for associated immutable parameters.

Type:{basestring: Property}
type

Capability type.

Type:Type
valid_source_node_types

Reject requirements that are not from these node types.

Type:[Type]
class aria.modeling.models.InterfaceTemplate(*args, **kwargs)

Template for creating Interface instances, which are typed bundles of Operation instances.

Can be associated with a NodeTemplate, a GroupTemplate, or a RelationshipTemplate.

description

Human-readable description.

Type:basestring
group_template

Containing group template (can be None).

Type:GroupTemplate
id

Unique ID.

Type:int
inputs

Declarations for externally provided parameters that can be used by all operations of the interface.

Type:{basestring: Input}
interfaces

Instantiated interfaces.

Type:[Interface]
name

Model name.

Type:basestring
node_template

Containing node template (can be None).

Type:NodeTemplate
operation_templates

Associated operation templates.

Type:{basestring: OperationTemplate}
relationship_template

Containing relationship template (can be None).

Type:RelationshipTemplate
type

Interface type.

Type:Type
class aria.modeling.models.OperationTemplate(*args, **kwargs)

Template for creating Operation instances, which are entry points to Python functions called as part of a workflow execution.

configurations

Configuration parameters for the operation instance Python function.

Type:{basestring: Configuration}
dependencies

Dependencies (usually names of artifacts).

Type:[basestring]
description

Human-readable description.

Type:basestring
executor

Name of executor.

Type:basestring
function

Full path to Python function.

Type:basestring
id

Unique ID.

Type:int
implementation

Implementation (usually the name of an artifact).

Type:basestring
inputs

Declarations for parameters provided to the implementation.

Type:{basestring: Input}
interface_template

Containing interface template (can be None).

Type:InterfaceTemplate
max_attempts

Maximum number of attempts allowed in case of task failure.

Type:int
name

Model name.

Type:basestring
operations

Instantiated operations.

Type:[Operation]
plugin_specification

Associated plugin specification.

Type:PluginSpecification
relationship_edge

When True specifies that the operation is on the relationship’s target edge; False is the source edge (only used by operations on relationships)

Type:bool
retry_interval

Interval between task retry attemps (in seconds).

Type:float
service_template

Containing service template (can be None). For workflow operation templates.

Type:ServiceTemplate
class aria.modeling.models.ArtifactTemplate(*args, **kwargs)

Template for creating an Artifact instance, which is a typed file, either provided in a CSAR or downloaded from a repository.

artifacts

Instantiated artifacts.

Type:[Artifact]
description

Human-readable description.

Type:basestring
id

Unique ID.

Type:int
name

Model name.

Type:basestring
node_template

Containing node template.

Type:NodeTemplate
properties

Declarations for associated immutable parameters.

Type:{basestring: Property}
repository_credential

Credentials for accessing the repository.

Type:{basestring, basestring}
repository_url

Repository URL.

Type:basestring
source_path

Source path (in CSAR or repository).

Type:basestring
target_path

Path at which to install at destination.

Type:basestring
type

Artifact type.

Type:Type
class aria.modeling.models.PluginSpecification(*args, **kwargs)

Requirement for a Plugin.

The actual plugin to be selected depends on those currently installed in ARIA.

enabled

Whether the plugin is enabled.

Type:bool
id

Unique ID.

Type:int
name

Model name.

Type:basestring
plugin

Matched plugin.

Type:Plugin
service_template

Containing service template.

Type:ServiceTemplate
version

Minimum plugin version.

Type:basestring
class aria.modeling.models.Service(*args, **kwargs)

Usually an instance of a ServiceTemplate and its many associated templates (node templates, group templates, policy templates, etc.). However, it can also be created programmatically.

created_at

Creation timestamp.

Type:datetime
description

Human-readable description.

Type:basestring
executions

Executions.

Type:[Execution]
groups

Groups.

Type:{basestring, Group}
id

Unique ID.

Type:int
inputs

Externally provided parameters.

Type:{basestring: Input}
meta_data

Associated metadata.

Type:{basestring, Metadata}
modifications

Service modifications.

Type:[ServiceModification]
name
nodes

Nodes.

Type:{basestring, Node}
outputs

Output parameters.

Type:{basestring: Output}
plugins

Associated plugins.

Type:{basestring, Plugin}
policies

Policies.

Type:{basestring, Policy}
service_template

Source service template (can be None).

Type:ServiceTemplate
service_template_name

Internal. For use in SQLAlchemy queries.

Type:basestring
substitution

Exposes the entire service as a single node.

Type:Substitution
updated_at

Update timestamp.

Type:datetime
updates

Service updates.

Type:[ServiceUpdate]
workflows

Workflows.

Type:{basestring, Operation}
class aria.modeling.models.Node(*args, **kwargs)

Typed vertex in the service topology.

Nodes may have zero or more Relationship instances to other nodes, together forming a many-to-many node graph.

Usually an instance of a NodeTemplate.

artifacts

Associated artifacts.

Type:{basestring: Artifact}
attributes

Associated mutable parameters.

Type:{basestring: Attribute}
capabilities

Associated exposed capabilities.

Type:{basestring: Capability}
description

Human-readable description.

Type:basestring
host

Node in which we are hosted (can be None).

Normally the host node is found by following the relationship graph (relationships with host roles) to final nodes (with host roles).

Type:Node
id

Unique ID.

Type:int
inbound_relationships

Relationships from other nodes.

Type:[Relationship]
interfaces

Associated interfaces.

Type:{basestring: Interface}
name

Model name.

Type:basestring
node_template

Source node template (can be None).

Type:NodeTemplate
node_template_name

Internal. For use in SQLAlchemy queries.

Type:basestring
outbound_relationships

Relationships to other nodes.

Type:[Relationship]
properties

Associated immutable parameters.

Type:{basestring: Property}
service

Containing service.

Type:Service
service_name

Internal. For use in SQLAlchemy queries.

Type:basestring
state

TOSCA state.

Type:basestring
tasks

Associated tasks.

Type:[Task]
type

Node type.

Type:Type
version

Used by aria.storage.instrumentation.

Type:int
class aria.modeling.models.Group(*args, **kwargs)

Typed logical container for zero or more Node instances.

Usually an instance of a GroupTemplate.

description

Human-readable description.

Type:basestring
group_template

Source group template (can be None).

Type:GroupTemplate
id

Unique ID.

Type:int
interfaces

Associated interfaces.

Type:{basestring: Interface}
name

Model name.

Type:basestring
nodes

Member nodes.

Type:[Node]
properties

Associated immutable parameters.

Type:{basestring: Property}
service

Containing service.

Type:Service
type

Group type.

Type:Type
class aria.modeling.models.Policy(*args, **kwargs)

Typed set of orchestration hints applied to zero or more Node or Group instances.

Usually an instance of a PolicyTemplate.

description

Human-readable description.

Type:basestring
groups

Policy is enacted on nodes in these groups.

Type:{basestring: Group}
id

Unique ID.

Type:int
name

Model name.

Type:basestring
nodes

Policy is enacted on these nodes.

Type:{basestring: Node}
policy_template

Source policy template (can be None).

Type:PolicyTemplate
properties

Associated immutable parameters.

Type:{basestring: Property}
service

Containing service.

Type:Service
type

Group type.

Type:Type
class aria.modeling.models.Substitution(*args, **kwargs)

Exposes the entire service as a single node.

Usually an instance of a SubstitutionTemplate.

id

Unique ID.

Type:int
mappings

Map requirement and capabilities to exposed node.

Type:{basestring: SubstitutionMapping}
name

Model name.

Type:basestring
node_type

Exposed node type.

Type:Type
service

Containing service.

Type:Service
substitution_template

Source substitution template (can be None).

Type:SubstitutionTemplate
class aria.modeling.models.SubstitutionMapping(*args, **kwargs)

Used by Substitution to map a capability or a requirement to the exposed node.

The name field should match the capability or requirement template name on the exposed node’s type.

Only one of capability and requirement_template can be set. If the latter is set, then node must also be set.

Usually an instance of a SubstitutionMappingTemplate.

capability

Capability to expose (can be None).

Type:Capability
id

Unique ID.

Type:int
name

Model name.

Type:basestring
node

Node for which to expose requirement_template (can be None).

Type:Node
requirement_template

Requirement template to expose (can be None).

Type:RequirementTemplate
substitution

Containing substitution.

Type:Substitution
class aria.modeling.models.Relationship(*args, **kwargs)

Optionally-typed edge in the service topology, connecting a Node to a Capability of another node.

Might be an instance of RelationshipTemplate and/or RequirementTemplate.

id

Unique ID.

Type:int
interfaces

Associated interfaces.

Type:{basestring: Interface}
name

Model name.

Type:basestring
properties

Associated immutable parameters.

Type:{basestring: Property}
relationship_template

Source relationship template (can be None).

Type:RelationshipTemplate
requirement_template

Source requirement template (can be None).

Type:RequirementTemplate
source_node

Source node.

Type:Node
source_node_name

Internal. For use in SQLAlchemy queries.

Type:basestring
source_position

Position at source.

Type:int
target_capability

Target capability.

Type:Capability
target_node

Target node.

Type:Node
target_node_name

Internal. For use in SQLAlchemy queries.

Type:basestring
target_position

Position at target.

Type:int
tasks

Associated tasks.

Type:[Task]
type

Relationship type.

Type:Type
class aria.modeling.models.Capability(*args, **kwargs)

Typed attachment serving two purposes: to provide extra properties and attributes to a Node, and to expose targets for Relationship instances from other nodes.

Usually an instance of a CapabilityTemplate.

capability_template

Source capability template (can be None).

Type:CapabilityTemplate
id

Unique ID.

Type:int
max_occurrences

Maximum number of requirement matches allowed.

Type:int
min_occurrences

Minimum number of requirement matches required.

Type:int
name

Model name.

Type:basestring
node

Containing node.

Type:Node
occurrences

Number of requirement matches.

Type:int
properties

Associated immutable parameters.

Type:{basestring: Property}
type

Capability type.

Type:Type
class aria.modeling.models.Interface(*args, **kwargs)

Typed bundle of Operation instances.

Can be associated with a Node, a Group, or a Relationship.

Usually an instance of a InterfaceTemplate.

description

Human-readable description.

Type:basestring
group

Containing group (can be None).

Type:Group
id

Unique ID.

Type:int
inputs

Parameters for all operations of the interface.

Type:{basestring: Input}
interface_template

Source interface template (can be None).

Type:InterfaceTemplate
name

Model name.

Type:basestring
node

Containing node (can be None).

Type:Node
operations

Associated operations.

Type:{basestring: Operation}
relationship

Containing relationship (can be None).

Type:Relationship
type

Interface type.

Type:Type
class aria.modeling.models.Operation(*args, **kwargs)

Entry points to Python functions called as part of a workflow execution.

The operation signature (its name and its inputs’s names and types) is declared by the type of the Interface, however each operation can provide its own implementation as well as additional inputs.

The Python function is usually provided by an associated Plugin. Its purpose is to execute the implementation, providing it with both the operation’s and interface’s inputs. The arguments of the function should be set according to the specific signature of the function.

Additionally, configuration parameters can be provided as hints to configure the function’s behavior. For example, they can be used to configure remote execution credentials.

Might be an instance of OperationTemplate.

arguments

Arguments sent to the Python function.

Type:{basestring: Argument}
configurations

Configuration parameters for the Python function.

Type:{basestring: Configuration}
dependencies

Dependencies (usually names of artifacts).

Type:[basestring]
description

Human-readable description.

Type:basestring
executor

Name of executor.

Type:basestring
function

Full path to Python function.

Type:basestring
id

Unique ID.

Type:int
implementation

Implementation (usually the name of an artifact).

Type:basestring
inputs

Parameters provided to the implementation.

Type:{basestring: Input}
interface

Containing interface (can be None).

Type:Interface
max_attempts

Maximum number of attempts allowed in case of task failure.

Type:int
name

Model name.

Type:basestring
operation_template

Source operation template (can be None).

Type:OperationTemplate
plugin

Associated plugin.

Type:Plugin
relationship_edge

When True specifies that the operation is on the relationship’s target edge; False is the source edge (only used by operations on relationships)

Type:bool
retry_interval

Interval between task retry attemps (in seconds).

Type:float
service

Containing service (can be None). For workflow operations.

Type:Service
class aria.modeling.models.Artifact(*args, **kwargs)

Typed file, either provided in a CSAR or downloaded from a repository.

Usually an instance of ArtifactTemplate.

artifact_template

Source artifact template (can be None).

Type:ArtifactTemplate
description

Human-readable description.

Type:basestring
id

Unique ID.

Type:int
name

Model name.

Type:basestring
node

Containing node.

Type:Node
properties

Associated immutable parameters.

Type:{basestring: Property}
repository_credential

Credentials for accessing the repository.

Type:{basestring, basestring}
repository_url

Repository URL.

Type:basestring
source_path

Source path (in CSAR or repository).

Type:basestring
target_path

Path at which to install at destination.

Type:basestring
type

Artifact type.

Type:Type
class aria.modeling.models.ServiceUpdate(*args, **kwargs)

Deployment update model representation.

created_at
execution
execution_name

Internal. For use in SQLAlchemy queries.

Type:basestring
id

Unique ID.

Type:int
modified_entity_ids
name

Model name.

Type:basestring
service
service_name

Internal. For use in SQLAlchemy queries.

Type:basestring
service_plan
service_update_node_templates
service_update_nodes
service_update_service
state
steps
class aria.modeling.models.ServiceUpdateStep(*args, **kwargs)

Deployment update step model representation.

action
entity_id
entity_type
id

Unique ID.

Type:int
name

Model name.

Type:basestring
service_update
service_update_name

Internal. For use in SQLAlchemy queries.

Type:basestring
class aria.modeling.models.ServiceModification(*args, **kwargs)

Deployment modification model representation.

context
created_at
ended_at
id

Unique ID.

Type:int
modified_node_templates
name

Model name.

Type:basestring
nodes
service
service_name

Internal. For use in SQLAlchemy queries.

Type:basestring
status
class aria.modeling.models.Input(*args, **kwargs)

Input parameter or declaration for an input parameter.

description

Human-readable description.

Type:basestring
execution

Containing execution (can be None).

Type:Execution
id

Unique ID.

Type:int
interface

Containing interface (can be None).

Type:Interface
interface_template

Containing interface template (can be None).

Type:InterfaceTemplate
name

Model name.

Type:basestring
operation

Containing operation (can be None).

Type:Operation
operation_template

Containing operation template (can be None).

Type:OperationTemplate
service

Containing service (can be None).

Type:Service
service_template

Containing service template (can be None).

Type:ServiceTemplate
type_name

Type name.

Type:basestring
class aria.modeling.models.Configuration(*args, **kwargs)

Configuration parameter.

description

Human-readable description.

Type:basestring
id

Unique ID.

Type:int
name

Model name.

Type:basestring
operation

Containing operation (can be None).

Type:Operation
operation_template

Containing operation template (can be None).

Type:OperationTemplate
type_name

Type name.

Type:basestring
class aria.modeling.models.Output(*args, **kwargs)

Output parameter or declaration for an output parameter.

description

Human-readable description.

Type:basestring
id

Unique ID.

Type:int
name

Model name.

Type:basestring
service

Containing service (can be None).

Type:ServiceTemplate
service_template

Containing service template (can be None).

Type:ServiceTemplate
type_name

Type name.

Type:basestring
class aria.modeling.models.Property(*args, **kwargs)

Property parameter or declaration for a property parameter.

artifact

Containing artifact (can be None).

Type:Artifact
artifact_template

Containing artifact template (can be None).

Type:ArtifactTemplate
capability

Containing capability (can be None).

Type:Capability
capability_template

Containing capability template (can be None).

Type:CapabilityTemplate
description

Human-readable description.

Type:basestring
group

Containing group (can be None).

Type:Group
group_template

Containing group template (can be None).

Type:GroupTemplate
id

Unique ID.

Type:int
name

Model name.

Type:basestring
node

Containing node (can be None).

Type:Node
node_template

Containing node template (can be None).

Type:NodeTemplate
policy

Containing policy (can be None).

Type:Policy
policy_template

Containing policy template (can be None).

Type:PolicyTemplate
relationship

Containing relationship (can be None).

Type:Relationship
relationship_template

Containing relationship template (can be None).

Type:RelationshipTemplate
type_name

Type name.

Type:basestring
class aria.modeling.models.Attribute(*args, **kwargs)

Attribute parameter or declaration for an attribute parameter.

description

Human-readable description.

Type:basestring
id

Unique ID.

Type:int
name

Model name.

Type:basestring
node

Containing node (can be None).

Type:Node
node_template

Containing node template (can be None).

Type:NodeTemplate
type_name

Type name.

Type:basestring
class aria.modeling.models.Type(*args, **kwargs)

Type and its children. Can serve as the root for a type hierarchy.

children

Children.

Type:[Type]
description

Human-readable description.

Type:basestring
id

Unique ID.

Type:int
name

Model name.

Type:basestring
parent

Parent type (will be None for the root of a type hierarchy).

Type:Type
variant
class aria.modeling.models.Metadata(*args, **kwargs)

Custom values associated with the service.

This model is used by both service template and service instance elements.

Variables:
id

Unique ID.

Type:int
name

Model name.

Type:basestring
value
class aria.modeling.models.Execution(*args, **kwargs)

Workflow execution.

created_at

Creation timestamp.

Type:datetime
ended_at

Ended timestamp.

Type:datetime
error

Error message.

Type:basestring
id

Unique ID.

Type:int
inputs

Execution parameters.

Type:{basestring: Input}
logs

Log messages for the execution (including log messages for its tasks).

Type:[Log]
name

Model name.

Type:basestring
service

Associated service.

Type:Service
service_name

Internal. For use in SQLAlchemy queries.

Type:basestring
service_template

Internal. For use in SQLAlchemy queries.

Type:basestring
service_template_name

Internal. For use in SQLAlchemy queries.

Type:basestring
started_at

Started timestamp.

Type:datetime
status

Status.

Type:basestring
tasks

Tasks.

Type:[Task]
workflow_name

Workflow name.

Type:basestring
class aria.modeling.models.Plugin(*args, **kwargs)

Installed plugin.

Plugins are usually packaged as wagons, which are archives of one or more wheels. Most of these fields are indeed extracted from the installed wagon’s metadata.

archive_name

Filename (not the full path) of the wagon’s archive, often with a .wgn extension.

Type:basestring
distribution

Name of the operating system on which the wagon was installed (e.g. ubuntu).

Type:basestring
distribution_release

Release of the operating system on which the wagon was installed (e.g. trusty).

Type:basestring
distribution_version

Version of the operating system on which the wagon was installed (e.g. 14.04).

Type:basestring
id

Unique ID.

Type:int
name

Model name.

Type:basestring
package_name

Primary Python package name used when the wagon was installed, which is one of the wheels in the wagon (e.g. cloudify-script-plugin).

Type:basestring
package_source

Full install string for the primary Python package name used when the wagon was installed (e.g. cloudify-script-plugin==1.2).

Type:basestring
package_version

Version for the primary Python package name used when the wagon was installed (e.g. 1.2).

Type:basestring
supported_platform

If the wheels are all pure Python then this would be “any”, otherwise it would be the installed platform name (e.g. linux_x86_64).

Type:basestring
supported_py_versions

Python versions supported by all the wheels (e.g. ["py26", "py27"])

Type:[basestring]
tasks

Associated Tasks.

Type:[Task]
uploaded_at

Timestamp for when the wagon was installed.

Type:datetime
wheels

Filenames of the wheels archived in the wagon, often with a .whl extension.

Type:[basestring]
class aria.modeling.models.Task(*args, **kwargs)

Represents the smallest unit of stateful execution in ARIA. The task state includes inputs, outputs, as well as an atomic status, ensuring that the task can only be running once at any given time.

The Python function is usually provided by an associated Plugin. The arguments of the function should be set according to the specific signature of the function.

Tasks may be “one shot” or may be configured to run repeatedly in the case of failure.

Tasks are often based on Operation, and thus act on either a Node or a Relationship, however this is not required.

arguments

Arguments sent to the Python function`.

Type:{basestring: Argument}
attempts_count

How many attempts occurred.

Type:datetime
dependencies
due_at

Timestamp to start the task.

Type:datetime
ended_at

Ended timestamp.

Type:datetime
execution

Containing execution.

Type:Execution
execution_name

Internal. For use in SQLAlchemy queries.

Type:basestring
function

Full path to Python function.

Type:basestring
id

Unique ID.

Type:int
ignore_failure

Set to True to ignore failures.

Type:bool
interface_name

Name of interface on node or relationship.

Type:basestring
logs

Log messages.

Type:[Log]
max_attempts

Maximum number of attempts allowed in case of task failure.

Type:int
name

Model name.

Type:basestring
node

Node actor (can be None).

Type:Node
node_name

Internal. For use in SQLAlchemy queries.

Type:basestring
operation_name

Name of operation in interface on node or relationship.

Type:basestring
plugin

Associated plugin.

Type:Plugin
relationship

Relationship actor (can be None).

Type:Relationship
relationship_name

Internal. For use in SQLAlchemy queries.

Type:basestring
retry_interval

Interval between task retry attemps (in seconds).

Type:float
started_at

Started timestamp.

Type:datetime
status

Current atomic status (‘pending’, ‘retrying’, ‘sent’, ‘started’, ‘success’, ‘failed’).

Type:basestring
class aria.modeling.models.Log(*args, **kwargs)

Single log message.

created_at

Creation timestamp.

Type:datetime
execution

Containing execution.

Type:Execution
id

Unique ID.

Type:int
level

Log level.

Type:basestring
msg

Log message.

Type:basestring
name

Model name.

Type:basestring
task

Containing task (can be None).

Type:Task
traceback

Error traceback in case of failure.

Type:datetime
class aria.modeling.models.Argument(*args, **kwargs)

Python function argument parameter.

description

Human-readable description.

Type:basestring
id

Unique ID.

Type:int
name

Model name.

Type:basestring
operation

Containing operation (can be None);

Type:Operation
task

Containing task (can be None);

Type:Task
type_name

Type name.

Type:basestring