summaryrefslogtreecommitdiffstats
path: root/dcaedt_validator/checker/src/main/resources/tosca/tosca-common-types.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'dcaedt_validator/checker/src/main/resources/tosca/tosca-common-types.yaml')
-rw-r--r--dcaedt_validator/checker/src/main/resources/tosca/tosca-common-types.yaml665
1 files changed, 665 insertions, 0 deletions
diff --git a/dcaedt_validator/checker/src/main/resources/tosca/tosca-common-types.yaml b/dcaedt_validator/checker/src/main/resources/tosca/tosca-common-types.yaml
new file mode 100644
index 0000000..c26c6e8
--- /dev/null
+++ b/dcaedt_validator/checker/src/main/resources/tosca/tosca-common-types.yaml
@@ -0,0 +1,665 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+description: >
+ TOSCA simple profile common types. To be included by default in all templates.
+
+
+data_types:
+
+#see 5.3.1
+ tosca.datatypes.Root:
+ description: The TOSCA root Data Type all other TOSCA base Data Types derive from
+
+#from 5.3.2
+ tosca.datatypes.Credential:
+ derived_from: tosca.datatypes.Root
+ properties:
+ protocol:
+ type: string
+ required: false
+ token_type:
+ type: string
+ default: password
+ token:
+ type: string
+ keys:
+ type: map
+ required: false
+ entry_schema: string
+ user:
+ type: string
+ required: false
+
+#from 5.3.3
+ tosca.datatypes.TimeInterval:
+ derived_from: tosca.datatypes.Root
+ properties:
+ start_time:
+ type: timestamp
+ required: true
+ end_time:
+ type: timestamp
+ required: true
+
+#from 5.3.4
+ tosca.datatypes.network.NetworkInfo:
+ derived_from: tosca.datatypes.Root
+ properties:
+ network_name:
+ type: string
+ network_id:
+ type: string
+ addresses:
+ type: list
+ entry_schema: string
+
+#from 5.3.5
+ tosca.datatypes.network.PortInfo:
+ derived_from: tosca.datatypes.Root
+ properties:
+ port_name:
+ type: string
+ port_id:
+ type: string
+ network_id:
+ type: string
+ mac_address:
+ type: string
+ addresses:
+ type: list
+ entry_schema: string
+
+#from 5.3.6
+ tosca.datatypes.network.PortDef:
+ derived_from: integer
+ constraints:
+ - in_range: [ 1, 65535 ]
+
+#from 5.3.7
+ tosca.datatypes.network.PortSpec:
+ derived_from: tosca.datatypes.Root
+ properties:
+ protocol:
+ type: string
+ required: true
+ default: tcp
+ constraints:
+ - valid_values: [ udp, tcp, igmp ]
+ target:
+#I think the intent was (same for source):
+#type: tosca.datatypes.network.PortDef
+ type: integer
+ entry_schema: tosca.datatypes.network.PortDef
+ target_range:
+ type: range
+ constraints:
+ - in_range: [ 1, 65535 ]
+ source:
+ type: integer
+ entry_schema: tosca.datatypes.network.PortDef
+ source_range:
+ type: range
+ constraints:
+ - in_range: [ 1, 65535 ]
+
+capability_types:
+
+#from 5.5.1
+ tosca.capabilities.Root:
+ description: The TOSCA root Capability Type all other TOSCA base Capability Types derive from
+
+#from 5.5.2
+ tosca.capabilities.Node:
+ derived_from: tosca.capabilities.Root
+
+#from 5.5.3
+ tosca.capabilities.Compute:
+ derived_from: tosca.capabilities.Root
+ properties:
+ name:
+ type: string
+ required: false
+ num_cpus:
+ type: integer
+ required: false
+ constraints:
+ - greater_or_equal: 1
+ cpu_frequency:
+ type: scalar-unit.frequency
+ required: false
+ constraints:
+ - greater_or_equal: 0.1 GHz
+ disk_size:
+ type: scalar-unit.size
+ required: false
+ constraints:
+ - greater_or_equal: 0 MB
+ mem_size:
+ type: scalar-unit.size
+ required: false
+ constraints:
+ - greater_or_equal: 0 MB
+
+#from 5.5.4
+ tosca.capabilities.Network:
+ derived_from: tosca.capabilities.Root
+ properties:
+ name:
+ type: string
+ required: false
+
+#from 5.5.5
+ tosca.capabilities.Storage:
+ derived_from: tosca.capabilities.Root
+ properties:
+ name:
+ type: string
+ required: false
+
+#from 5.5.6
+ tosca.capabilities.compute.Container:
+ derived_from: tosca.capabilities.Compute
+
+#from 5.5.7
+ tosca.capabilities.Endpoint:
+ derived_from: tosca.capabilities.Root
+ properties:
+ protocol:
+ type: string
+ default: tcp
+ port:
+ type: tosca.datatypes.network.PortDef
+ required: false
+ secure:
+ type: boolean
+ default: false
+ url_path:
+ type: string
+ required: false
+ port_name:
+ type: string
+ required: false
+ network_name:
+ type: string
+ required: false
+ default: PRIVATE
+ initiator:
+ type: string
+ default: source
+ constraints:
+ - valid_values: [ source, target, peer ]
+ ports:
+ type: map
+ required: false
+ constraints:
+ - min_length: 1
+ entry_schema: tosca.datatypes.network.PortSpec
+ attributes:
+ ip_address:
+ type: string
+
+#from 5.5.8
+ tosca.capabilities.Endpoint.Public:
+ derived_from: tosca.capabilities.Endpoint
+ properties:
+ # Change the default network_name to use the first public network found
+ network_name:
+ type: string
+ default: PUBLIC
+ floating:
+ description: >
+ indicates that the public address should be allocated from a pool of floating IPs that are associated with the network.
+ type: boolean
+ default: false
+ status: experimental
+ dns_name:
+ description: The optional name to register with DNS
+ type: string
+ required: false
+ status: experimental
+
+#from 5.5.9
+ tosca.capabilities.Endpoint.Admin:
+ derived_from: tosca.capabilities.Endpoint
+ # Change Endpoint secure indicator to true from its default of false
+ properties:
+ secure:
+ type: boolean
+ default: true
+ constraints:
+ - equal: true
+
+#from 5.5.10
+ tosca.capabilities.Endpoint.Database:
+ derived_from: tosca.capabilities.Endpoint
+
+#from 5.5.11
+ tosca.capabilities.Attachment:
+ derived_from: tosca.capabilities.Root
+
+#from 5.5.12
+ tosca.capabilities.OperatingSystem:
+ derived_from: tosca.capabilities.Root
+ properties:
+ architecture:
+ type: string
+ required: false
+ type:
+ type: string
+ required: false
+ distribution:
+ type: string
+ required: false
+ version:
+ type: version
+ required: false
+
+#from 5.5.13
+ tosca.capabilities.Scalable:
+ derived_from: tosca.capabilities.Root
+ properties:
+ min_instances:
+ type: integer
+ default: 1
+ max_instances:
+ type: integer
+ default: 1
+ default_instances:
+ type: integer
+
+#from C.3.11
+ tosca.capabilities.network.Bindable:
+ derived_from: tosca.capabilities.Node
+
+
+relationship_types:
+
+#from 5.7.1
+ tosca.relationships.Root:
+ description: The TOSCA root Relationship Type all other TOSCA base Relationship Types derive from
+ attributes:
+ tosca_id:
+ type: string
+ tosca_name:
+ type: string
+ interfaces:
+ Configure:
+ type: tosca.interfaces.relationship.Configure
+
+#from 5.7.2
+ tosca.relationships.DependsOn:
+ derived_from: tosca.relationships.Root
+ valid_target_types: [ tosca.capabilities.Node ]
+
+#from 5.7.3
+ tosca.relationships.HostedOn:
+ derived_from: tosca.relationships.Root
+ valid_target_types: [ tosca.capabilities.compute.Container ]
+
+#from 5.7.4
+ tosca.relationships.ConnectsTo:
+ derived_from: tosca.relationships.Root
+ valid_target_types: [ tosca.capabilities.Endpoint ]
+ properties:
+ credential:
+ type: tosca.datatypes.Credential
+ required: false
+
+#from 5.7.5
+ tosca.relationships.AttachesTo:
+ derived_from: tosca.relationships.Root
+ valid_target_types: [ tosca.capabilities.Attachment ]
+ properties:
+ location:
+ type: string
+ constraints:
+ - min_length: 1
+ device:
+ type: string
+ required: false
+
+#from 5.7.6
+ tosca.relationships.RoutesTo:
+ derived_from: tosca.relationships.ConnectsTo
+ valid_target_types: [ tosca.capabilities.Endpoint ]
+
+
+interface_types:
+
+#from 5.8.3
+ tosca.interfaces.Root:
+# derived_from: tosca.entity.Root
+ description: The TOSCA root Interface Type all other TOSCA base Interface Types derive from
+
+#from 5.8.4
+ tosca.interfaces.node.lifecycle.Standard:
+ derived_from: tosca.interfaces.Root
+ create:
+ description: Standard lifecycle create operation.
+ configure:
+ description: Standard lifecycle configure operation.
+ start:
+ description: Standard lifecycle start operation.
+ stop:
+ description: Standard lifecycle stop operation.
+ delete:
+ description: Standard lifecycle delete operation.
+
+#from 5.8.5
+ tosca.interfaces.relationship.Configure:
+ derived_from: tosca.interfaces.Root
+ 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.
+ target_changed:
+ description: Operation to notify source some property or attribute of the target changed
+ remove_target:
+ description: Operation to remove a target node.
+
+
+node_types:
+
+#from 5.9.1
+ tosca.nodes.Root:
+ description: The TOSCA Node Type all other TOSCA base Node Types derive from
+ attributes:
+ tosca_id:
+ type: string
+ tosca_name:
+ type: string
+ state:
+ type: string
+ capabilities:
+ feature:
+ type: tosca.capabilities.Node
+ requirements:
+ - dependency:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences: [ 0, UNBOUNDED ]
+ interfaces:
+ Standard:
+ type: tosca.interfaces.node.lifecycle.Standard
+
+#from 5.9.2
+ tosca.nodes.Compute:
+ derived_from: tosca.nodes.Root
+ attributes:
+ private_address:
+ type: string
+ public_address:
+ type: string
+ networks:
+ type: map
+#entry schema for attribute has a string value as per A.5.9 ..
+#the standard document defines it as a map similar to the property definition ..
+ entry_schema: tosca.datatypes.network.NetworkInfo
+ ports:
+ type: map
+ entry_schema: tosca.datatypes.network.PortInfo
+ requirements:
+ - local_storage:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences: [0, UNBOUNDED]
+ capabilities:
+ host:
+ type: tosca.capabilities.compute.Container
+ valid_source_types: [tosca.nodes.SoftwareComponent]
+ endpoint:
+ type: tosca.capabilities.Endpoint.Admin
+ os:
+ type: tosca.capabilities.OperatingSystem
+ scalable:
+ type: tosca.capabilities.Scalable
+ binding:
+ type: tosca.capabilities.network.Bindable
+
+#from 5.9.3
+ tosca.nodes.SoftwareComponent:
+ derived_from: tosca.nodes.Root
+ properties:
+ # domain-specific software component version
+ component_version:
+ type: version
+ required: false
+ admin_credential:
+ type: tosca.datatypes.Credential
+ required: false
+ requirements:
+ - host:
+ capability: tosca.capabilities.compute.Container
+ node: tosca.nodes.Compute
+ relationship: tosca.relationships.HostedOn
+
+#from 5.9.4
+ tosca.nodes.WebServer:
+ derived_from: tosca.nodes.SoftwareComponent
+ capabilities:
+ # Private, layer 4 endpoints
+ data_endpoint: tosca.capabilities.Endpoint
+ admin_endpoint: tosca.capabilities.Endpoint.Admin
+ host:
+ type: tosca.capabilities.compute.Container
+ valid_source_types: [ tosca.nodes.WebApplication ]
+
+#from 5.9.5
+ tosca.nodes.WebApplication:
+ derived_from: tosca.nodes.Root
+ properties:
+ context_root:
+ type: string
+ capabilities:
+ app_endpoint:
+ type: tosca.capabilities.Endpoint
+ requirements:
+ - host:
+ capability: tosca.capabilities.compute.Container
+ node: tosca.nodes.WebServer
+ relationship: tosca.relationships.HostedOn
+
+#from 5.9.6
+ tosca.nodes.DBMS:
+ derived_from: tosca.nodes.SoftwareComponent
+ properties:
+ root_password:
+ type: string
+ required: false
+ description: the optional root password for the DBMS service
+ port:
+ type: integer
+ required: false
+ description: the port the DBMS service will listen to for data and requests
+ capabilities:
+ host:
+ type: tosca.capabilities.compute.Container
+ valid_source_types: [ tosca.nodes.Database ]
+
+#from 5.9.7
+ tosca.nodes.Database:
+ derived_from: tosca.nodes.Root
+ properties:
+ name:
+ type: string
+ description: the logical name of the database
+ port:
+ type: integer
+ description: the port the underlying database service will listen to for data
+ user:
+ type: string
+ description: the optional user account name for DB administration
+ required: false
+ password:
+ type: string
+ description: the optional password for the DB user account
+ required: false
+ requirements:
+ - host:
+ capability: tosca.capabilities.compute.Container
+ node: tosca.nodes.DBMS
+ relationship: tosca.relationships.HostedOn
+ capabilities:
+ database_endpoint:
+ type: tosca.capabilities.Endpoint.Database
+
+#from 5.9.8
+ tosca.nodes.ObjectStorage:
+ derived_from: tosca.nodes.Root
+ properties:
+ name:
+ type: string
+ size:
+ type: scalar-unit.size
+ constraints:
+ - greater_or_equal: 0 GB
+ maxsize:
+ type: scalar-unit.size
+ constraints:
+ - greater_or_equal: 0 GB
+ capabilities:
+ storage_endpoint:
+ type: tosca.capabilities.Endpoint
+
+#from 5.9.9
+ tosca.nodes.BlockStorage:
+ derived_from: tosca.nodes.Root
+ properties:
+ size:
+ type: scalar-unit.size
+ constraints:
+ - greater_or_equal: 1 MB
+ volume_id:
+ type: string
+ required: false
+ snapshot_id:
+ type: string
+ required: false
+ capabilities:
+ attachment:
+ type: tosca.capabilities.Attachment
+
+#from 5.9.10
+ tosca.nodes.Container.Runtime:
+ derived_from: tosca.nodes.SoftwareComponent
+ capabilities:
+ host:
+ type: tosca.capabilities.compute.Container
+ scalable:
+ type: tosca.capabilities.Scalable
+
+#from 5.9.11
+ tosca.nodes.Container.Application:
+ derived_from: tosca.nodes.Root
+ requirements:
+ - host:
+ capability: tosca.capabilities.compute.Container
+ # node: tosca.nodes.Container !invalid node reference!
+ relationship: tosca.relationships.HostedOn
+
+#from 5.9.12
+ tosca.nodes.LoadBalancer:
+ derived_from: tosca.nodes.Root
+ properties:
+ # TBD
+ algorithm:
+ type: string
+ required: false
+ status: experimental
+ capabilities:
+ client:
+ type: tosca.capabilities.Endpoint.Public
+ occurrences: [0, UNBOUNDED]
+ description: the Floating (IP) clients on the public network can connect to
+ requirements:
+ - application:
+ capability: tosca.capabilities.Endpoint
+ relationship: tosca.relationships.RoutesTo
+ occurrences: [0, UNBOUNDED]
+# correction by jora: requirement defintion does not allow for a description entry
+# description: Connection to one or more load balanced applications
+
+artifact_types:
+
+#from 5.4.1
+ tosca.artifacts.Root:
+ description: The TOSCA Artifact Type all other TOSCA Artifact Types derive from
+
+#from 5.4.2
+ tosca.artifacts.File:
+ derived_from: tosca.artifacts.Root
+
+#from 5.4.3
+ tosca.artifacts.Deployment:
+ derived_from: tosca.artifacts.Root
+ description: TOSCA base type for deployment artifacts
+
+#from 5.4.3.3
+ tosca.artifacts.Deployment.Image:
+ derived_from: tosca.artifacts.Deployment
+
+#from 5.4.3.4
+ tosca.artifacts.Deployment.Image.VM:
+ derived_from: tosca.artifacts.Deployment.Image
+ description: Virtual Machine (VM) Image
+
+#from 5.4.4
+ tosca.artifacts.Implementation:
+ derived_from: tosca.artifacts.Root
+ description: TOSCA base type for implementation artifacts
+
+#from 5.4.4.3
+ tosca.artifacts.Implementation.Bash:
+ derived_from: tosca.artifacts.Implementation
+ description: Script artifact for the Unix Bash shell
+ mime_type: application/x-sh
+ file_ext: [ sh ]
+
+#from 5.4.4.4
+ tosca.artifacts.Implementation.Python:
+ derived_from: tosca.artifacts.Implementation
+ description: Artifact for the interpreted Python language
+ mime_type: application/x-python
+ file_ext: [ py ]
+
+
+#from 5.9
+group_types:
+
+ tosca.groups.Root:
+ description: The TOSCA Group Type all other TOSCA Group Types derive from
+ interfaces:
+ Standard:
+ type: tosca.interfaces.node.lifecycle.Standard
+
+#from 5.10
+policy_types:
+
+ tosca.policies.Root:
+ description: The TOSCA Policy Type all other TOSCA Policy Types derive from
+
+ tosca.policies.Placement:
+ derived_from: tosca.policies.Root
+ description: The TOSCA Policy Type definition that is used to govern placement of TOSCA nodes or groups of nodes.
+
+ tosca.policies.Scaling:
+ derived_from: tosca.policies.Root
+ description: The TOSCA Policy Type definition that is used to govern scaling of TOSCA nodes or groups of nodes.
+
+ tosca.policies.Update:
+ derived_from: tosca.policies.Root
+ description: The TOSCA Policy Type definition that is used to govern update of TOSCA nodes or groups of nodes.
+
+ tosca.policies.Performance:
+ derived_from: tosca.policies.Root
+ description: The TOSCA Policy Type definition that is used to declare performance requirements for TOSCA nodes or groups of nodes.
+