summaryrefslogtreecommitdiffstats
path: root/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml')
-rw-r--r--azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml525
1 files changed, 525 insertions, 0 deletions
diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml
new file mode 100644
index 0000000..05963b7
--- /dev/null
+++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml
@@ -0,0 +1,525 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+node_types:
+
+ tosca.nodes.Root:
+ _extensions:
+ shorthand_name: Root
+ type_qualified_name: tosca:Root
+ specification: tosca-simple-1.0
+ specification_section: 5.8.1
+ specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_ROOT'
+ description: >-
+ The TOSCA Root Node Type is the default type that all other TOSCA base Node Types derive from. This allows for all TOSCA nodes to have a consistent set of features for modeling and management (e.g., consistent definitions for requirements, capabilities and lifecycle interfaces).
+ attributes:
+ tosca_id:
+ description: >-
+ A unique identifier of the realized instance of a Node Template that derives from any TOSCA normative type.
+ type: string
+ tosca_name:
+ description: >-
+ This attribute reflects the name of the Node Template as defined in the TOSCA service template. This name is not unique
+ to the realized instance model of corresponding deployed application as each template in the model can result in one or
+ more instances (e.g., scaled) when orchestrated to a provider environment.
+ type: string
+ state:
+ description: >-
+ The state of the node instance.
+ type: string
+ default: initial
+ interfaces:
+ Standard:
+ type: tosca.interfaces.node.lifecycle.Standard
+ capabilities:
+ feature:
+ type: tosca.capabilities.Node
+ requirements:
+ - dependency:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences: [ 0, UNBOUNDED ]
+
+ tosca.nodes.Compute:
+ _extensions:
+ shorthand_name: Compute
+ type_qualified_name: tosca:Compute
+ specification: tosca-simple-1.0
+ specification_section: 5.8.2
+ specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_COMPUTE'
+ role: host
+ description: >-
+ The TOSCA Compute node represents one or more real or virtual processors of software applications or services along with
+ other essential local resources. Collectively, the resources the compute node represents can logically be viewed as a (real
+ or virtual) "server".
+ derived_from: tosca.nodes.Root
+ attributes:
+ private_address:
+ description: >-
+ The primary private IP address assigned by the cloud provider that applications may use to access the Compute node.
+ type: string
+ public_address:
+ description: >-
+ The primary public IP address assigned by the cloud provider that applications may use to access the Compute node.
+ type: string
+ networks:
+ description: >-
+ The list of logical networks assigned to the compute host instance and information about them.
+ type: map
+ entry_schema:
+ type: tosca.datatypes.network.NetworkInfo
+ ports:
+ description: >-
+ The list of logical ports assigned to the compute host instance and information about them.
+ type: map
+ entry_schema:
+ type: tosca.datatypes.network.PortInfo
+ capabilities:
+ host:
+ type: tosca.capabilities.Container
+ valid_source_types: [ tosca.nodes.SoftwareComponent ]
+ binding:
+ type: tosca.capabilities.network.Bindable
+ os:
+ type: tosca.capabilities.OperatingSystem
+ scalable:
+ type: tosca.capabilities.Scalable
+ requirements:
+ - local_storage:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences: [ 0, UNBOUNDED ]
+
+ tosca.nodes.LoadBalancer:
+ _extensions:
+ shorthand_name: LoadBalancer
+ type_qualified_name: tosca:LoadBalancer
+ specification: tosca-simple-1.0
+ specification_section: 5.8.12
+ specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#_Toc379548332'
+ description: >-
+ The TOSCA Load Balancer node represents logical function that be used in conjunction with a Floating Address to distribute an
+ application's traffic (load) across a number of instances of the application (e.g., for a clustered or scaled application).
+ derived_from: tosca.nodes.Root
+ properties:
+ algorithm:
+ description: >-
+ No description in spec.
+ type: string
+ required: false
+ status: experimental
+ capabilities:
+ client:
+ description: >-
+ The Floating (IP) client's on the public network can connect to.
+ type: tosca.capabilities.Endpoint.Public
+ occurrences: [ 0, UNBOUNDED ] # ARIA NOTE: it seems unnecessary to specify this, as it is the implied default
+ requirements:
+ - application:
+ capability: tosca.capabilities.Endpoint
+ relationship: tosca.relationships.RoutesTo
+ occurrences: [ 0, UNBOUNDED ]
+
+ #
+ # Software
+ #
+
+ tosca.nodes.SoftwareComponent:
+ _extensions:
+ shorthand_name: SoftwareComponent
+ type_qualified_name: tosca:SoftwareComponent
+ specification: tosca-simple-1.0
+ specification_section: 5.8.3
+ specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_SOFTWARE_COMPONENT'
+ description: >-
+ The TOSCA SoftwareComponent node represents a generic software component that can be managed and run by a TOSCA Compute Node
+ Type.
+ derived_from: tosca.nodes.Root
+ properties:
+ component_version:
+ description: >-
+ The optional software component's version.
+ type: version
+ required: false
+ admin_credential:
+ description: >-
+ The optional credential that can be used to authenticate to the software component.
+ type: tosca.datatypes.Credential
+ required: false
+ requirements:
+ - host:
+ capability: tosca.capabilities.Container
+ node: tosca.nodes.Compute
+ relationship: tosca.relationships.HostedOn
+
+ tosca.nodes.WebServer:
+ _extensions:
+ shorthand_name: WebServer
+ type_qualified_name: tosca:WebServer
+ specification: tosca-simple-1.0
+ specification_section: 5.8.4
+ specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_WEBSERVER'
+ description: >-
+ This TOSCA WebServer Node Type represents an abstract software component or service that is capable of hosting and providing
+ management operations for one or more WebApplication nodes.
+ derived_from: tosca.nodes.SoftwareComponent
+ capabilities:
+ data_endpoint:
+ type: tosca.capabilities.Endpoint
+ admin_endpoint:
+ type: tosca.capabilities.Endpoint.Admin
+ host:
+ type: tosca.capabilities.Container
+ valid_source_types: [ tosca.nodes.WebApplication ]
+
+ tosca.nodes.WebApplication:
+ _extensions:
+ shorthand_name: WebApplication
+ type_qualified_name: tosca:WebApplication
+ specification: tosca-simple-1.0
+ specification_section: 5.8.5
+ specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_WEBAPPLICATION'
+ description: >-
+ The TOSCA WebApplication node represents a software application that can be managed and run by a TOSCA WebServer node.
+ Specific types of web applications such as Java, etc. could be derived from this type.
+ derived_from: tosca.nodes.SoftwareComponent # ARIA NOTE: the spec says tosca.nodes.Root
+ properties:
+ context_root:
+ description: >-
+ The web application's context root which designates the application's URL path within the web server it is hosted on.
+ type: string
+ required: false
+ capabilities:
+ app_endpoint:
+ type: tosca.capabilities.Endpoint
+ requirements:
+ - host:
+ capability: tosca.capabilities.Container
+ node: tosca.nodes.WebServer
+ relationship: tosca.relationships.HostedOn
+
+ tosca.nodes.DBMS:
+ _extensions:
+ shorthand_name: DBMS # ARIA NOTE: omitted in the spec
+ type_qualified_name: tosca:DBMS
+ specification: tosca-simple-1.0
+ specification_section: 5.8.6
+ specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_DBMS'
+ description: >-
+ The TOSCA DBMS node represents a typical relational, SQL Database Management System software component or service.
+ derived_from: tosca.nodes.SoftwareComponent
+ properties:
+ root_password:
+ description: >-
+ The optional root password for the DBMS server.
+ type: string
+ required: false
+ port:
+ description: >-
+ The DBMS server's port.
+ type: integer
+ required: false
+ capabilities:
+ host:
+ type: tosca.capabilities.Container
+ valid_source_types: [ tosca.nodes.Database ]
+
+ tosca.nodes.Database:
+ _extensions:
+ shorthand_name: Database
+ type_qualified_name: tosca:Database
+ specification: tosca-simple-1.0
+ specification_section: 5.8.7
+ specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_DATABASE'
+ description: >-
+ The TOSCA Database node represents a logical database that can be managed and hosted by a TOSCA DBMS node.
+ derived_from: tosca.nodes.Root # ARIA NOTE: it's *not* a SoftwareComponent
+ properties:
+ name:
+ description: >-
+ The logical database Name.
+ type: string
+ port:
+ description: >-
+ The port the database service will use to listen for incoming data and requests.
+ type: integer
+ required: false
+ user:
+ description: >-
+ The special user account used for database administration.
+ type: string
+ required: false
+ password:
+ description: >-
+ The password associated with the user account provided in the 'user' property.
+ type: string
+ required: false
+ capabilities:
+ database_endpoint:
+ type: tosca.capabilities.Endpoint.Database
+ requirements:
+ - host:
+ capability: tosca.capabilities.Container
+ node: tosca.nodes.DBMS
+ relationship: tosca.relationships.HostedOn
+
+ #
+ # Container
+ #
+
+ tosca.nodes.Container.Runtime:
+ _extensions:
+ shorthand_name: Container.Runtime
+ type_qualified_name: tosca:Container.Runtime
+ specification: tosca-simple-1.0
+ specification_section: 5.8.10
+ specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_CONTAINER_RUNTIME'
+ description: >-
+ The TOSCA Container Runtime node represents operating system-level virtualization technology used to run multiple application
+ services on a single Compute host.
+ derived_from: tosca.nodes.SoftwareComponent
+ capabilities:
+ host:
+ type: tosca.capabilities.Container
+ scalable:
+ type: tosca.capabilities.Scalable
+
+ tosca.nodes.Container.Application:
+ _extensions:
+ shorthand_name: Container.Application
+ type_qualified_name: tosca:Container.Application
+ specification: tosca-simple-1.0
+ specification_section: 5.8.11
+ specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_CONTAINER_APP'
+ description: >-
+ The TOSCA Container Application node represents an application that requires Container-level virtualization technology.
+ derived_from: tosca.nodes.Root
+ requirements:
+ - host:
+ capability: tosca.capabilities.Container
+ # ARIA NOTE: seems a mistake in the spec
+ #node: tosca.nodes.Container
+ relationship: tosca.relationships.HostedOn
+
+ #
+ # Storage
+ #
+
+ tosca.nodes.ObjectStorage:
+ _extensions:
+ shorthand_name: ObjectStorage
+ type_qualified_name: tosca:ObjectStorage
+ specification: tosca-simple-1.0
+ specification_section: 5.8.8
+ description: >-
+ The TOSCA ObjectStorage node represents storage that provides the ability to store data as objects (or BLOBs of data) without
+ consideration for the underlying filesystem or devices.
+ derived_from: tosca.nodes.Root
+ properties:
+ name:
+ description: >-
+ The logical name of the object store (or container).
+ type: string
+ size:
+ description: >-
+ The requested initial storage size (default unit is in Gigabytes).
+ type: scalar-unit.size
+ constraints:
+ - greater_or_equal: 0 GB
+ required: false
+ maxsize:
+ description: >-
+ The requested maximum storage size (default unit is in Gigabytes).
+ type: scalar-unit.size
+ constraints:
+ - greater_or_equal: 0 GB
+ required: false
+ capabilities:
+ storage_endpoint:
+ type: tosca.capabilities.Endpoint
+
+ tosca.nodes.BlockStorage:
+ _extensions:
+ shorthand_name: BlockStorage
+ type_qualified_name: tosca:BlockStorage
+ specification: tosca-simple-1.0
+ specification_section: 5.8.9
+ specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_BLOCK_STORAGE'
+ description: >-
+ derived_from: tosca.nodes.Root
+ properties:
+ size:
+ description: >-
+ The requested storage size (default unit is MB).
+ type: scalar-unit.size
+ constraints:
+ - greater_or_equal: 1 MB
+ volume_id:
+ description: >-
+ ID of an existing volume (that is in the accessible scope of the requesting application).
+ type: string
+ required: false
+ snapshot_id:
+ description: >-
+ Some identifier that represents an existing snapshot that should be used when creating the block storage (volume).
+ type: string
+ required: false
+ capabilities:
+ attachment:
+ type: tosca.capabilities.Attachment
+
+ #
+ # Network
+ #
+
+ tosca.nodes.network.Network:
+ _extensions:
+ shorthand_name: Network
+ type_qualified_name: tosca:Network
+ specification: tosca-simple-1.0
+ specification_section: 7.5.1
+ description: >-
+ The TOSCA Network node represents a simple, logical network service.
+ derived_from: tosca.nodes.Root
+ properties:
+ ip_version:
+ description: >-
+ The IP version of the requested network.
+ type: integer
+ constraints:
+ - valid_values: [ 4, 6 ]
+ default: 4
+ required: false
+ cidr:
+ description: >-
+ The cidr block of the requested network.
+ type: string
+ required: false
+ start_ip:
+ description: >-
+ The IP address to be used as the 1st one in a pool of addresses derived from the cidr block full IP range.
+ type: string
+ required: false
+ end_ip:
+ description: >-
+ The IP address to be used as the last one in a pool of addresses derived from the cidr block full IP range.
+ type: string
+ required: false
+ gateway_ip:
+ description: >-
+ The gateway IP address.
+ type: string
+ required: false
+ network_name:
+ description: >-
+ An Identifier that represents an existing Network instance in the underlying cloud infrastructure - OR - be used as the
+ name of the new created network.
+ type: string
+ required: false
+ network_id:
+ description: >-
+ An Identifier that represents an existing Network instance in the underlying cloud infrastructure. This property is
+ mutually exclusive with all other properties except network_name.
+ type: string
+ required: false
+ segmentation_id:
+ description: >-
+ A segmentation identifier in the underlying cloud infrastructure (e.g., VLAN id, GRE tunnel id). If the segmentation_id
+ is specified, the network_type or physical_network properties should be provided as well.
+ type: string
+ required: false
+ network_type:
+ description: >-
+ Optionally, specifies the nature of the physical network in the underlying cloud infrastructure. Examples are flat, vlan,
+ gre or vxlan. For flat and vlan types, physical_network should be provided too.
+ type: string
+ required: false
+ physical_network:
+ description: >-
+ Optionally, identifies the physical network on top of which the network is implemented, e.g. physnet1. This property is
+ required if network_type is flat or vlan.
+ type: string
+ required: false
+ dhcp_enabled:
+ description: >-
+ Indicates the TOSCA container to create a virtual network instance with or without a DHCP service.
+ type: boolean
+ default: true
+ required: false
+ capabilities:
+ link:
+ type: tosca.capabilities.network.Linkable
+
+ tosca.nodes.network.Port:
+ _extensions:
+ shorthand_name: Port
+ type_qualified_name: tosca:Port
+ specification: tosca-simple-1.0
+ specification_section: 7.5.2
+ description: >-
+ The TOSCA Port node represents a logical entity that associates between Compute and Network normative types.
+
+ The Port node type effectively represents a single virtual NIC on the Compute node instance.
+ derived_from: tosca.nodes.Root
+ properties:
+ ip_address:
+ description: >-
+ Allow the user to set a fixed IP address. Note that this address is a request to the provider which they will attempt to
+ fulfill but may not be able to dependent on the network the port is associated with.
+ type: string
+ required: false
+ order:
+ description: >-
+ The order of the NIC on the compute instance (e.g. eth2). Note: when binding more than one port to a single compute (aka
+ multi vNICs) and ordering is desired, it is *mandatory* that all ports will be set with an order value and. The order
+ values must represent a positive, arithmetic progression that starts with 0 (e.g. 0, 1, 2, ..., n).
+ type: integer
+ constraints:
+ - greater_or_equal: 0
+ default: 0
+ required: false
+ is_default:
+ description: >-
+ Set is_default=true to apply a default gateway route on the running compute instance to the associated network gateway.
+ Only one port that is associated to single compute node can set as default=true.
+ type: boolean
+ default: false
+ required: false
+ ip_range_start:
+ description: >-
+ Defines the starting IP of a range to be allocated for the compute instances that are associated by this Port. Without
+ setting this property the IP allocation is done from the entire CIDR block of the network.
+ type: string
+ required: false
+ ip_range_end:
+ description: >-
+ Defines the ending IP of a range to be allocated for the compute instances that are associated by this Port. Without
+ setting this property the IP allocation is done from the entire CIDR block of the network.
+ type: string
+ required: false
+ attributes:
+ ip_address:
+ description: >-
+ The IP address would be assigned to the associated compute instance.
+ type: string
+ requirements:
+ - link:
+ capability: tosca.capabilities.network.Linkable
+ relationship: tosca.relationships.network.LinksTo
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ relationship: tosca.relationships.network.BindsTo