1 # Licensed to the Apache Software Foundation (ASF) under one or more
2 # contributor license agreements. See the NOTICE file distributed with
3 # this work for additional information regarding copyright ownership.
4 # The ASF licenses this file to You under the Apache License, Version 2.0
5 # (the "License"); you may not use this file except in compliance with
6 # the License. You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
21 type_qualified_name: tosca:Root
22 specification: tosca-simple-1.0
23 specification_section: 5.8.1
24 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'
26 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).
30 A unique identifier of the realized instance of a Node Template that derives from any TOSCA normative type.
34 This attribute reflects the name of the Node Template as defined in the TOSCA service template. This name is not unique
35 to the realized instance model of corresponding deployed application as each template in the model can result in one or
36 more instances (e.g., scaled) when orchestrated to a provider environment.
40 The state of the node instance.
45 type: tosca.interfaces.node.lifecycle.Standard
48 type: tosca.capabilities.Node
51 capability: tosca.capabilities.Node
52 node: tosca.nodes.Root
53 relationship: tosca.relationships.DependsOn
54 occurrences: [ 0, UNBOUNDED ]
58 shorthand_name: Compute
59 type_qualified_name: tosca:Compute
60 specification: tosca-simple-1.0
61 specification_section: 5.8.2
62 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'
65 The TOSCA Compute node represents one or more real or virtual processors of software applications or services along with
66 other essential local resources. Collectively, the resources the compute node represents can logically be viewed as a (real
68 derived_from: tosca.nodes.Root
72 The primary private IP address assigned by the cloud provider that applications may use to access the Compute node.
76 The primary public IP address assigned by the cloud provider that applications may use to access the Compute node.
80 The list of logical networks assigned to the compute host instance and information about them.
83 type: tosca.datatypes.network.NetworkInfo
86 The list of logical ports assigned to the compute host instance and information about them.
89 type: tosca.datatypes.network.PortInfo
92 type: tosca.capabilities.Container
93 valid_source_types: [ tosca.nodes.SoftwareComponent ]
95 type: tosca.capabilities.network.Bindable
97 type: tosca.capabilities.OperatingSystem
99 type: tosca.capabilities.Scalable
102 capability: tosca.capabilities.Attachment
103 node: tosca.nodes.BlockStorage
104 relationship: tosca.relationships.AttachesTo
105 occurrences: [ 0, UNBOUNDED ]
107 tosca.nodes.LoadBalancer:
109 shorthand_name: LoadBalancer
110 type_qualified_name: tosca:LoadBalancer
111 specification: tosca-simple-1.0
112 specification_section: 5.8.12
113 specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#_Toc379548332'
115 The TOSCA Load Balancer node represents logical function that be used in conjunction with a Floating Address to distribute an
116 application's traffic (load) across a number of instances of the application (e.g., for a clustered or scaled application).
117 derived_from: tosca.nodes.Root
121 No description in spec.
128 The Floating (IP) client's on the public network can connect to.
129 type: tosca.capabilities.Endpoint.Public
130 occurrences: [ 0, UNBOUNDED ] # ARIA NOTE: it seems unnecessary to specify this, as it is the implied default
133 capability: tosca.capabilities.Endpoint
134 relationship: tosca.relationships.RoutesTo
135 occurrences: [ 0, UNBOUNDED ]
141 tosca.nodes.SoftwareComponent:
143 shorthand_name: SoftwareComponent
144 type_qualified_name: tosca:SoftwareComponent
145 specification: tosca-simple-1.0
146 specification_section: 5.8.3
147 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'
149 The TOSCA SoftwareComponent node represents a generic software component that can be managed and run by a TOSCA Compute Node
151 derived_from: tosca.nodes.Root
155 The optional software component's version.
160 The optional credential that can be used to authenticate to the software component.
161 type: tosca.datatypes.Credential
165 capability: tosca.capabilities.Container
166 node: tosca.nodes.Compute
167 relationship: tosca.relationships.HostedOn
169 tosca.nodes.WebServer:
171 shorthand_name: WebServer
172 type_qualified_name: tosca:WebServer
173 specification: tosca-simple-1.0
174 specification_section: 5.8.4
175 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'
177 This TOSCA WebServer Node Type represents an abstract software component or service that is capable of hosting and providing
178 management operations for one or more WebApplication nodes.
179 derived_from: tosca.nodes.SoftwareComponent
182 type: tosca.capabilities.Endpoint
184 type: tosca.capabilities.Endpoint.Admin
186 type: tosca.capabilities.Container
187 valid_source_types: [ tosca.nodes.WebApplication ]
189 tosca.nodes.WebApplication:
191 shorthand_name: WebApplication
192 type_qualified_name: tosca:WebApplication
193 specification: tosca-simple-1.0
194 specification_section: 5.8.5
195 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'
197 The TOSCA WebApplication node represents a software application that can be managed and run by a TOSCA WebServer node.
198 Specific types of web applications such as Java, etc. could be derived from this type.
199 derived_from: tosca.nodes.SoftwareComponent # ARIA NOTE: the spec says tosca.nodes.Root
203 The web application's context root which designates the application's URL path within the web server it is hosted on.
208 type: tosca.capabilities.Endpoint
211 capability: tosca.capabilities.Container
212 node: tosca.nodes.WebServer
213 relationship: tosca.relationships.HostedOn
217 shorthand_name: DBMS # ARIA NOTE: omitted in the spec
218 type_qualified_name: tosca:DBMS
219 specification: tosca-simple-1.0
220 specification_section: 5.8.6
221 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'
223 The TOSCA DBMS node represents a typical relational, SQL Database Management System software component or service.
224 derived_from: tosca.nodes.SoftwareComponent
228 The optional root password for the DBMS server.
233 The DBMS server's port.
238 type: tosca.capabilities.Container
239 valid_source_types: [ tosca.nodes.Database ]
241 tosca.nodes.Database:
243 shorthand_name: Database
244 type_qualified_name: tosca:Database
245 specification: tosca-simple-1.0
246 specification_section: 5.8.7
247 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'
249 The TOSCA Database node represents a logical database that can be managed and hosted by a TOSCA DBMS node.
250 derived_from: tosca.nodes.Root # ARIA NOTE: it's *not* a SoftwareComponent
254 The logical database Name.
258 The port the database service will use to listen for incoming data and requests.
263 The special user account used for database administration.
268 The password associated with the user account provided in the 'user' property.
273 type: tosca.capabilities.Endpoint.Database
276 capability: tosca.capabilities.Container
277 node: tosca.nodes.DBMS
278 relationship: tosca.relationships.HostedOn
284 tosca.nodes.Container.Runtime:
286 shorthand_name: Container.Runtime
287 type_qualified_name: tosca:Container.Runtime
288 specification: tosca-simple-1.0
289 specification_section: 5.8.10
290 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'
292 The TOSCA Container Runtime node represents operating system-level virtualization technology used to run multiple application
293 services on a single Compute host.
294 derived_from: tosca.nodes.SoftwareComponent
297 type: tosca.capabilities.Container
299 type: tosca.capabilities.Scalable
301 tosca.nodes.Container.Application:
303 shorthand_name: Container.Application
304 type_qualified_name: tosca:Container.Application
305 specification: tosca-simple-1.0
306 specification_section: 5.8.11
307 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'
309 The TOSCA Container Application node represents an application that requires Container-level virtualization technology.
310 derived_from: tosca.nodes.Root
313 capability: tosca.capabilities.Container
314 # ARIA NOTE: seems a mistake in the spec
315 #node: tosca.nodes.Container
316 relationship: tosca.relationships.HostedOn
322 tosca.nodes.ObjectStorage:
324 shorthand_name: ObjectStorage
325 type_qualified_name: tosca:ObjectStorage
326 specification: tosca-simple-1.0
327 specification_section: 5.8.8
329 The TOSCA ObjectStorage node represents storage that provides the ability to store data as objects (or BLOBs of data) without
330 consideration for the underlying filesystem or devices.
331 derived_from: tosca.nodes.Root
335 The logical name of the object store (or container).
339 The requested initial storage size (default unit is in Gigabytes).
340 type: scalar-unit.size
342 - greater_or_equal: 0 GB
346 The requested maximum storage size (default unit is in Gigabytes).
347 type: scalar-unit.size
349 - greater_or_equal: 0 GB
353 type: tosca.capabilities.Endpoint
355 tosca.nodes.BlockStorage:
357 shorthand_name: BlockStorage
358 type_qualified_name: tosca:BlockStorage
359 specification: tosca-simple-1.0
360 specification_section: 5.8.9
361 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'
363 derived_from: tosca.nodes.Root
367 The requested storage size (default unit is MB).
368 type: scalar-unit.size
370 - greater_or_equal: 1 MB
373 ID of an existing volume (that is in the accessible scope of the requesting application).
378 Some identifier that represents an existing snapshot that should be used when creating the block storage (volume).
383 type: tosca.capabilities.Attachment
389 tosca.nodes.network.Network:
391 shorthand_name: Network
392 type_qualified_name: tosca:Network
393 specification: tosca-simple-1.0
394 specification_section: 7.5.1
396 The TOSCA Network node represents a simple, logical network service.
397 derived_from: tosca.nodes.Root
401 The IP version of the requested network.
404 - valid_values: [ 4, 6 ]
409 The cidr block of the requested network.
414 The IP address to be used as the 1st one in a pool of addresses derived from the cidr block full IP range.
419 The IP address to be used as the last one in a pool of addresses derived from the cidr block full IP range.
424 The gateway IP address.
429 An Identifier that represents an existing Network instance in the underlying cloud infrastructure - OR - be used as the
430 name of the new created network.
435 An Identifier that represents an existing Network instance in the underlying cloud infrastructure. This property is
436 mutually exclusive with all other properties except network_name.
441 A segmentation identifier in the underlying cloud infrastructure (e.g., VLAN id, GRE tunnel id). If the segmentation_id
442 is specified, the network_type or physical_network properties should be provided as well.
447 Optionally, specifies the nature of the physical network in the underlying cloud infrastructure. Examples are flat, vlan,
448 gre or vxlan. For flat and vlan types, physical_network should be provided too.
453 Optionally, identifies the physical network on top of which the network is implemented, e.g. physnet1. This property is
454 required if network_type is flat or vlan.
459 Indicates the TOSCA container to create a virtual network instance with or without a DHCP service.
465 type: tosca.capabilities.network.Linkable
467 tosca.nodes.network.Port:
470 type_qualified_name: tosca:Port
471 specification: tosca-simple-1.0
472 specification_section: 7.5.2
474 The TOSCA Port node represents a logical entity that associates between Compute and Network normative types.
476 The Port node type effectively represents a single virtual NIC on the Compute node instance.
477 derived_from: tosca.nodes.Root
481 Allow the user to set a fixed IP address. Note that this address is a request to the provider which they will attempt to
482 fulfill but may not be able to dependent on the network the port is associated with.
487 The order of the NIC on the compute instance (e.g. eth2). Note: when binding more than one port to a single compute (aka
488 multi vNICs) and ordering is desired, it is *mandatory* that all ports will be set with an order value and. The order
489 values must represent a positive, arithmetic progression that starts with 0 (e.g. 0, 1, 2, ..., n).
492 - greater_or_equal: 0
497 Set is_default=true to apply a default gateway route on the running compute instance to the associated network gateway.
498 Only one port that is associated to single compute node can set as default=true.
504 Defines the starting IP of a range to be allocated for the compute instances that are associated by this Port. Without
505 setting this property the IP allocation is done from the entire CIDR block of the network.
510 Defines the ending IP of a range to be allocated for the compute instances that are associated by this Port. Without
511 setting this property the IP allocation is done from the entire CIDR block of the network.
517 The IP address would be assigned to the associated compute instance.
521 capability: tosca.capabilities.network.Linkable
522 relationship: tosca.relationships.network.LinksTo
524 capability: tosca.capabilities.network.Bindable
525 relationship: tosca.relationships.network.BindsTo