[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-be / lib / openecomp-sdc-enrichment-lib / openecomp-sdc-enrichment-impl / src / test / resources / mock / toscaGlobalServiceTemplates / tosca / nodes.yml
1 tosca_definitions_version: tosca_simple_yaml_1_0
2 metadata:
3   filename: tosca/nodes.yml
4   version: '1.0'
5 imports:
6 - tosca_index:
7     file: _index.yml
8 node_types:
9   tosca.nodes.Root:
10     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).
11     attributes:
12       tosca_id:
13         type: string
14         description: A unique identifier of the realized instance of a Node Template that derives from any TOSCA normative type.
15         status: SUPPORTED
16       tosca_name:
17         type: string
18         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.
19         status: SUPPORTED
20       state:
21         type: string
22         description: The state of the node instance.
23         default: initial
24         status: SUPPORTED
25     requirements:
26     - dependency:
27         capability: tosca.capabilities.Node
28         node: tosca.nodes.Root
29         relationship: tosca.relationships.DependsOn
30         occurrences:
31         - 0
32         - UNBOUNDED
33     capabilities:
34       feature:
35         type: tosca.capabilities.Node
36         occurrences:
37         - 1
38         - UNBOUNDED
39     interfaces:
40       standard:
41         type: tosca.interfaces.node.lifecycle.Standard
42   tosca.nodes.ObjectStorage:
43     derived_from: tosca.nodes.Root
44     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.
45     properties:
46       name:
47         type: string
48         description: The logical name of the object store (or container).
49         required: true
50         status: SUPPORTED
51       size:
52         type: scalar-unit.size
53         description: The requested initial storage size (default unit is in Gigabytes).
54         required: false
55         status: SUPPORTED
56         constraints:
57         - greater_or_equal: 0 GB
58       maxsize:
59         type: scalar-unit.size
60         description: The requested maximum storage size (default unit is in Gigabytes).
61         required: false
62         status: SUPPORTED
63         constraints:
64         - greater_or_equal: 0 GB
65     capabilities:
66       storage_endpoint:
67         type: tosca.capabilities.Endpoint
68         occurrences:
69         - 1
70         - UNBOUNDED
71   tosca.nodes.DBMS:
72     derived_from: tosca.nodes.SoftwareComponent
73     description: The TOSCA DBMS node represents a typical relational, SQL Database Management System software component or service.
74     properties:
75       root_password:
76         type: string
77         description: The optional root password for the DBMS server.
78         required: false
79         status: SUPPORTED
80       port:
81         type: integer
82         description: The DBMS server's port.
83         required: false
84         status: SUPPORTED
85     capabilities:
86       host:
87         type: tosca.capabilities.Container
88         valid_source_types:
89         - tosca.nodes.Database
90         occurrences:
91         - 1
92         - UNBOUNDED
93   tosca.nodes.WebApplication:
94     derived_from: tosca.nodes.Root
95     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.
96     properties:
97       context_root:
98         type: string
99         description: The web application's context root which designates the application's URL path within the web server it is hosted on.
100         required: false
101         status: SUPPORTED
102     requirements:
103     - host:
104         capability: tosca.capabilities.Container
105         node: tosca.nodes.WebServer
106         relationship: tosca.relationships.HostedOn
107     capabilities:
108       app_endpoint:
109         type: tosca.capabilities.Endpoint
110         occurrences:
111         - 1
112         - UNBOUNDED
113   tosca.nodes.Compute:
114     derived_from: tosca.nodes.Root
115     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".
116     attributes:
117       private_address:
118         type: string
119         description: The primary private IP address assigned by the cloud provider that applications may use to access the Compute node.
120         status: SUPPORTED
121       public_address:
122         type: string
123         description: The primary public IP address assigned by the cloud provider that applications may use to access the Compute node.
124         status: SUPPORTED
125       networks:
126         type: map
127         description: The list of logical networks assigned to the compute host instance and information about them.
128         status: SUPPORTED
129         entry_schema:
130           type: tosca.datatypes.network.NetworkInfo
131       ports:
132         type: map
133         description: The list of logical ports assigned to the compute host instance and information about them.
134         status: SUPPORTED
135         entry_schema:
136           type: tosca.datatypes.network.PortInfo
137     requirements:
138     - local_storage:
139         capability: tosca.capabilities.Attachment
140         node: tosca.nodes.BlockStorage
141         relationship: tosca.relationships.AttachesTo
142         occurrences:
143         - 0
144         - UNBOUNDED
145     capabilities:
146       host:
147         type: tosca.capabilities.Container
148         valid_source_types:
149         - tosca.nodes.SoftwareComponent
150         occurrences:
151         - 1
152         - UNBOUNDED
153       binding:
154         type: tosca.capabilities.network.Bindable
155         occurrences:
156         - 1
157         - UNBOUNDED
158       os:
159         type: tosca.capabilities.OperatingSystem
160         occurrences:
161         - 1
162         - UNBOUNDED
163       scalable:
164         type: tosca.capabilities.Scalable
165         occurrences:
166         - 1
167         - UNBOUNDED
168       endpoint:
169         type: tosca.capabilities.Endpoint.Admin
170         occurrences:
171         - 1
172         - UNBOUNDED
173   tosca.nodes.network.Network:
174     derived_from: tosca.nodes.Root
175     description: The TOSCA Network node represents a simple, logical network service.
176     properties:
177       ip_version:
178         type: integer
179         description: The IP version of the requested network.
180         required: false
181         default: 4
182         status: SUPPORTED
183         constraints:
184         - valid_values:
185           - 4
186           - 6
187       cidr:
188         type: string
189         description: The cidr block of the requested network.
190         required: false
191         status: SUPPORTED
192       start_ip:
193         type: string
194         description: The IP address to be used as the 1st one in a pool of addresses derived from the cidr block full IP range.
195         required: false
196         status: SUPPORTED
197       end_ip:
198         type: string
199         description: The IP address to be used as the last one in a pool of addresses derived from the cidr block full IP range.
200         required: false
201         status: SUPPORTED
202       gateway_ip:
203         type: string
204         description: The gateway IP address.
205         required: false
206         status: SUPPORTED
207       network_name:
208         type: string
209         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.
210         required: false
211         status: SUPPORTED
212       network_id:
213         type: string
214         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.
215         required: false
216         status: SUPPORTED
217       segmentation_id:
218         type: string
219         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.
220         required: false
221         status: SUPPORTED
222       network_type:
223         type: string
224         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.
225         required: false
226         status: SUPPORTED
227       physical_network:
228         type: string
229         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.
230         required: false
231         status: SUPPORTED
232       dhcp_enabled:
233         type: boolean
234         description: Indicates the TOSCA container to create a virtual network instance with or without a DHCP service.
235         required: false
236         default: true
237         status: SUPPORTED
238     capabilities:
239       link:
240         type: tosca.capabilities.network.Linkable
241         occurrences:
242         - 1
243         - UNBOUNDED
244   tosca.nodes.WebServer:
245     derived_from: tosca.nodes.SoftwareComponent
246     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.
247     capabilities:
248       data_endpoint:
249         type: tosca.capabilities.Endpoint
250         occurrences:
251         - 1
252         - UNBOUNDED
253       admin_endpoint:
254         type: tosca.capabilities.Endpoint.Admin
255         occurrences:
256         - 1
257         - UNBOUNDED
258       host:
259         type: tosca.capabilities.Container
260         valid_source_types:
261         - tosca.nodes.WebApplication
262         occurrences:
263         - 1
264         - UNBOUNDED
265   tosca.nodes.Container.Application:
266     derived_from: tosca.nodes.Root
267     description: The TOSCA Container Application node represents an application that requires Container-level virtualization technology.
268     requirements:
269     - host:
270         capability: tosca.capabilities.Container
271         relationship: tosca.relationships.HostedOn
272   tosca.nodes.Container.Runtime:
273     derived_from: tosca.nodes.SoftwareComponent
274     description: The TOSCA Container Runtime node represents operating system-level virtualization technology used to run multiple application services on a single Compute host.
275     capabilities:
276       host:
277         type: tosca.capabilities.Container
278         occurrences:
279         - 1
280         - UNBOUNDED
281       scalable:
282         type: tosca.capabilities.Scalable
283         occurrences:
284         - 1
285         - UNBOUNDED
286   tosca.nodes.SoftwareComponent:
287     derived_from: tosca.nodes.Root
288     description: The TOSCA SoftwareComponent node represents a generic software component that can be managed and run by a TOSCA Compute Node Type.
289     properties:
290       component_version:
291         type: version
292         description: The optional software component's version.
293         required: false
294         status: SUPPORTED
295       admin_credential:
296         type: tosca.datatypes.Credential
297         description: The optional credential that can be used to authenticate to the software component.
298         required: false
299         status: SUPPORTED
300     requirements:
301     - host:
302         capability: tosca.capabilities.Container
303         node: tosca.nodes.Compute
304         relationship: tosca.relationships.HostedOn
305   tosca.nodes.BlockStorage:
306     derived_from: tosca.nodes.Root
307     description: ''
308     properties:
309       size:
310         type: scalar-unit.size
311         description: The requested storage size (default unit is MB).
312         required: true
313         status: SUPPORTED
314         constraints:
315         - greater_or_equal: 1 MB
316       volume_id:
317         type: string
318         description: ID of an existing volume (that is in the accessible scope of the requesting application).
319         required: false
320         status: SUPPORTED
321       snapshot_id:
322         type: string
323         description: Some identifier that represents an existing snapshot that should be used when creating the block storage (volume).
324         required: false
325         status: SUPPORTED
326     capabilities:
327       attachment:
328         type: tosca.capabilities.Attachment
329         occurrences:
330         - 1
331         - UNBOUNDED
332   tosca.nodes.network.Port:
333     derived_from: tosca.nodes.Root
334     description: |-
335       The TOSCA Port node represents a logical entity that associates between Compute and Network normative types.
336       The Port node type effectively represents a single virtual NIC on the Compute node instance.
337     properties:
338       ip_address:
339         type: string
340         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.
341         required: false
342         status: SUPPORTED
343       order:
344         type: integer
345         description: 'The order of the NIC on the compute instance (e.g. eth2). Note:
346           when binding more than one port to a single compute (aka multi vNICs) and
347           ordering is desired, it is *mandatory* that all ports will be set with an
348           order value and. The order values must represent a positive, arithmetic
349           progression that starts with 0 (e.g. 0, 1, 2, ..., n).'
350         required: false
351         default: 0
352         status: SUPPORTED
353         constraints:
354         - greater_or_equal: 0
355       is_default:
356         type: boolean
357         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.
358         required: false
359         default: false
360         status: SUPPORTED
361       ip_range_start:
362         type: string
363         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.
364         required: false
365         status: SUPPORTED
366       ip_range_end:
367         type: string
368         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.
369         required: false
370         status: SUPPORTED
371     attributes:
372       ip_address:
373         type: string
374         description: The IP address would be assigned to the associated compute instance.
375         status: SUPPORTED
376     requirements:
377     - link:
378         capability: tosca.capabilities.network.Linkable
379         relationship: tosca.relationships.network.LinksTo
380     - binding:
381         capability: tosca.capabilities.network.Bindable
382         relationship: tosca.relationships.network.BindsTo
383   tosca.nodes.LoadBalancer:
384     derived_from: tosca.nodes.Root
385     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).
386     requirements:
387     - application:
388         capability: tosca.capabilities.Endpoint
389         relationship: tosca.relationships.RoutesTo
390         occurrences:
391         - 0
392         - UNBOUNDED
393     capabilities:
394       client:
395         type: tosca.capabilities.Endpoint.Public
396         description: The Floating (IP) client's on the public network can connect to.
397         occurrences:
398         - 0
399         - UNBOUNDED
400   tosca.nodes.Database:
401     derived_from: tosca.nodes.Root
402     description: The TOSCA Database node represents a logical database that can be managed and hosted by a TOSCA DBMS node.
403     properties:
404       name:
405         type: string
406         description: The logical database Name.
407         required: true
408         status: SUPPORTED
409       port:
410         type: integer
411         description: The port the database service will use to listen for incoming data and requests.
412         required: false
413         status: SUPPORTED
414       user:
415         type: string
416         description: The special user account used for database administration.
417         required: false
418         status: SUPPORTED
419       password:
420         type: string
421         description: The password associated with the user account provided in the 'user' property.
422         required: false
423         status: SUPPORTED
424     requirements:
425     - host:
426         capability: tosca.capabilities.Container
427         node: tosca.nodes.DBMS
428         relationship: tosca.relationships.HostedOn
429     capabilities:
430       database_endpoint:
431         type: tosca.capabilities.Endpoint.Database
432         occurrences:
433         - 1
434         - UNBOUNDED