tosca_definitions_version: tosca_simple_yaml_1_0_0_wd03 template_name: tosca-normative-types-root template_author: TOSCA TC template_version: 1.0.0.wd03-SNAPSHOT description: Contains the normative types definition. node_types: tosca.nodes.Root: abstract: true description: > This is the default (root) TOSCA Node Type that all other TOSCA nodes should extends. This allows all TOSCA nodes to have a consistent set of features for modeling and management (e.g, consistent definitions for requirements, capabilities, and lifecycle interfaces). tags: icon: /images/root.png attributes: tosca_id: type: string tosca_name: type: string requirements: dependency: type: tosca.capabilities.Root lower_bound: 0 upper_bound: unbounded capabilities: root: type: tosca.capabilities.Root interfaces: tosca.interfaces.node.lifecycle.Standard: description: > This lifecycle interface defines the essential, normative operations that TOSCA nodes may support. create: description: Standard lifecycle create operation. configure: description: Standard lifecycle configure operation (pre-start). start: description: Standard lifecycle start operation. post_start: description: Standard lifecycle post-configure operation (post-start) stop: description: Standard lifecycle stop operation. delete: description: Standard lifecycle delete operation. capability_types: tosca.capabilities.Root: description: This is the default (root) TOSCA Capability Type definition that all other TOSCA Capability Types derive from. tosca.capabilities.Container: derived_from: tosca.capabilities.Root properties: valid_node_types: type: string required: true description: > A list of one or more names of Node Types that are supported as containees that declare the Container type as a Capability. tosca.capabilities.Endpoint: derived_from: tosca.capabilities.Root properties: protocol: type: string default: tcp port: type: integer required: false constraints: - greater_or_equal: 1 - less_or_equal: 65535 secure: type: boolean default: false url_path: type: string required: false tosca.capabilities.DatabaseEndpoint: derived_from: tosca.capabilities.Endpoint description: This is the default TOSCA type that should be used or extended to define a specialized database endpoint capability. tosca.capabilities.Attachment: derived_from: tosca.capabilities.Root description: This is the default TOSCA type that should be used or extended to define a network endpoint capability. tosca.capabilities.Scalable: derived_from: tosca.capabilities.Root properties: min_intances: type: integer default: 1 max_intances: type: integer default: 1 default_instances: type: integer default: 1 tosca.capabilities.Connectivity: derived_from: tosca.capabilities.Root relationship_types: tosca.relationships.Root: abstract: true description: This is the default (root) TOSCA Relationship Type definition that all other TOSCA Relationship Types derive from. valid_targets: [ tosca.capabilities.Root ] attributes: tosca_id: type: string tosca_name: type: string interfaces: tosca.interfaces.relationship.Configure: description: > The lifecycle interfaces define the essential, normative operations that each TOSCA Relationship Types may support. pre_configure_source: description: Operation to pre-configure the source endpoint. pre_configure_target: description: Operation to pre-configure the target endpoint. post_configure_source: description: Operation to post-configure the source endpoint. post_configure_target: description: Operation to post-configure the target endpoint. add_target: description: Operation to notify the source node of a target node being added via a relationship. add_source: description: Operation to notify the target node of a source node which is now available via a relationship. remove_target: description: Operation to notify the source node of a target node being removed from a relationship. remove_source: description: Operation to notify the target node of a source node being removed from a relationship. target_changed: description: Operation to notify source some property or attribute of the target. source_changed: description: Operation to notify target some property or attribute of the source. tosca.relationships.DependsOn: derived_from: tosca.relationships.Root description: > A generic depends on relationship. tosca.relationships.HostedOn: derived_from: tosca.relationships.DependsOn description: Relationship to use to describe that the source is hosted (installed/ deployed) on the target node. valid_targets: [ tosca.capabilities.Container ] tosca.relationships.ConnectsTo: derived_from: tosca.relationships.DependsOn valid_targets: [ tosca.capabilities.Endpoint ] tosca.relationships.AttachTo: derived_from: tosca.relationships.Root valid_targets: [ tosca.capabilities.Attachment ] properties: location: type: string constraints: - min_length: 1 device: type: string required: false tosca.relationships.Network: derived_from: tosca.relationships.Root valid_sources: [ tosca.capabilities.Connectivity ] valid_targets: [ tosca.capabilities.Connectivity ] artifact_types: tosca.artifacts.Root: description: The TOSCA Artifact Type all other TOSCA Artifact Types derive from. tosca.artifacts.File: derived_from: tosca.artifacts.Root description: This artifact type is used when an artifact definition needs to have its associated file simply treated as a file and no special handling/handlers are invoked. tosca.artifacts.ShellScript: description: A shell script (.sh file) file_ext: [ sh ]