7c5c453afa12d1039ec773910ce96a2100c8ad14
[sdc.git] /
1 #
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at
5 #
6 #      http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13 #
14
15 tosca_definitions_version: tosca_simple_openecomp_1_0
16
17 metadata:
18   filename: openecomp/nodes.yml
19   version: '1.0'
20   
21 imports:
22 - openecomp_index:
23     file: _index.yml
24
25 node_types:
26
27   org.openecomp.resource.vl.nodes.network.Network:
28     derived_from: tosca.nodes.network.Network
29     properties:
30       vendor:
31         type: string
32         required: false
33       vl_name:
34         type: string
35         required: false
36     capabilities:
37       end_point:
38         type: tosca.capabilities.Endpoint
39
40   org.openecomp.resource.abstract.nodes.AbstractSubstitute:
41     derived_from: tosca.nodes.Root
42     properties:
43       service_template_filter:
44         description: Substitution Filter
45         type: org.openecomp.datatypes.substitution.SubstitutionFiltering
46         status: SUPPORTED
47         required: true
48
49   org.openecomp.resource.vl.extVL:
50     derived_from: org.openecomp.resource.vl.nodes.network.Network
51     description: VF Tenant oam protected network
52     properties:
53       network_type:
54         description: OPENECOMP supported network types.
55         type: string
56         required: true
57       network_role:
58         description: |
59           Unique label that defines the role that this network performs.   example: vce oam network, vnat sr-iov1 network
60         type: string
61         required: true
62       network_scope:
63         description: |
64           Uniquely identifies the network scope. Valid values for the network scope   includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects  the VFs within the service GLOBAL - Global network which can be shared by multiple services
65         type: string
66         constraints:
67         - valid_values:
68           - VF
69           - SERVICE
70           - GLOBAL
71       network_technology:
72         description: OPENECOMP supported network technology
73         type: string
74         required: true
75       network_ecomp_naming:
76         type: org.openecomp.datatypes.EcompNaming
77         required: true
78       network_homing:
79         type: org.openecomp.datatypes.EcompHoming
80         required: true
81       network_assignments:
82         type: org.openecomp.datatypes.network.NetworkAssignments
83         required: true
84       provider_network:
85         type: org.openecomp.datatypes.network.ProviderNetwork
86         required: true
87       network_flows:
88         type: org.openecomp.datatypes.network.NetworkFlows
89         required: false
90
91
92   org.openecomp.resource.vfc.nodes.Compute:
93     derived_from: tosca.nodes.Compute
94     capabilities:
95       disk.ephemeral.size:
96         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
97         type: org.openecomp.capabilities.metric.Ceilometer
98         occurrences:
99         - 1
100         - UNBOUNDED
101       instance:
102         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
103         type: org.openecomp.capabilities.metric.Ceilometer
104         occurrences:
105         - 1
106         - UNBOUNDED
107       memory:
108         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
109         type: org.openecomp.capabilities.metric.Ceilometer
110         occurrences:
111         - 1
112         - UNBOUNDED
113       disk.iops:
114         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
115         type: org.openecomp.capabilities.metric.Ceilometer
116         occurrences:
117         - 1
118         - UNBOUNDED
119       disk.device.read.requests:
120         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
121         type: org.openecomp.capabilities.metric.Ceilometer
122         occurrences:
123         - 1
124         - UNBOUNDED
125       cpu.delta:
126         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
127         type: org.openecomp.capabilities.metric.Ceilometer
128         occurrences:
129         - 1
130         - UNBOUNDED
131       disk.capacity:
132         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
133         type: org.openecomp.capabilities.metric.Ceilometer
134         occurrences:
135         - 1
136         - UNBOUNDED
137       disk.device.read.bytes:
138         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
139         type: org.openecomp.capabilities.metric.Ceilometer
140         occurrences:
141         - 1
142         - UNBOUNDED
143       disk.write.bytes:
144         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
145         type: org.openecomp.capabilities.metric.Ceilometer
146         occurrences:
147         - 1
148         - UNBOUNDED
149       disk.latency:
150         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
151         type: org.openecomp.capabilities.metric.Ceilometer
152         occurrences:
153         - 1
154         - UNBOUNDED
155       disk.device.read.bytes.rate:
156         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
157         type: org.openecomp.capabilities.metric.Ceilometer
158         occurrences:
159         - 1
160         - UNBOUNDED
161       disk.usage:
162         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
163         type: org.openecomp.capabilities.metric.Ceilometer
164         occurrences:
165         - 1
166         - UNBOUNDED
167       cpu_util:
168         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
169         type: org.openecomp.capabilities.metric.Ceilometer
170         occurrences:
171         - 1
172         - UNBOUNDED
173       disk.device.allocation:
174         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
175         type: org.openecomp.capabilities.metric.Ceilometer
176         occurrences:
177         - 1
178         - UNBOUNDED
179       disk.write.requests.rate:
180         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
181         type: org.openecomp.capabilities.metric.Ceilometer
182         occurrences:
183         - 1
184         - UNBOUNDED
185       disk.write.bytes.rate:
186         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
187         type: org.openecomp.capabilities.metric.Ceilometer
188         occurrences:
189         - 1
190         - UNBOUNDED
191       disk.device.latency:
192         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
193         type: org.openecomp.capabilities.metric.Ceilometer
194         occurrences:
195         - 1
196         - UNBOUNDED
197       cpu:
198         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
199         type: org.openecomp.capabilities.metric.Ceilometer
200         occurrences:
201         - 1
202         - UNBOUNDED
203       disk.device.write.requests:
204         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
205         type: org.openecomp.capabilities.metric.Ceilometer
206         occurrences:
207         - 1
208         - UNBOUNDED
209       disk.device.write.bytes:
210         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
211         type: org.openecomp.capabilities.metric.Ceilometer
212         occurrences:
213         - 1
214         - UNBOUNDED
215       disk.read.requests:
216         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
217         type: org.openecomp.capabilities.metric.Ceilometer
218         occurrences:
219         - 1
220         - UNBOUNDED
221       disk.root.size:
222         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
223         type: org.openecomp.capabilities.metric.Ceilometer
224         occurrences:
225         - 1
226         - UNBOUNDED
227       disk.device.write.bytes.rate:
228         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
229         type: org.openecomp.capabilities.metric.Ceilometer
230         occurrences:
231         - 1
232         - UNBOUNDED
233       vcpus:
234         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
235         type: org.openecomp.capabilities.metric.Ceilometer
236         occurrences:
237         - 1
238         - UNBOUNDED
239       disk.device.iops:
240         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
241         type: org.openecomp.capabilities.metric.Ceilometer
242         occurrences:
243         - 1
244         - UNBOUNDED
245       disk.device.usage:
246         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
247         type: org.openecomp.capabilities.metric.Ceilometer
248         occurrences:
249         - 1
250         - UNBOUNDED
251       disk.device.read.requests.rate:
252         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
253         type: org.openecomp.capabilities.metric.Ceilometer
254         occurrences:
255         - 1
256         - UNBOUNDED
257       disk.device.write.requests.rate:
258         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
259         type: org.openecomp.capabilities.metric.Ceilometer
260         occurrences:
261         - 1
262         - UNBOUNDED
263       disk.allocation:
264         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
265         type: org.openecomp.capabilities.metric.Ceilometer
266         occurrences:
267         - 1
268         - UNBOUNDED
269       disk.read.bytes.rate:
270         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
271         type: org.openecomp.capabilities.metric.Ceilometer
272         occurrences:
273         - 1
274         - UNBOUNDED
275       disk.read.bytes:
276         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
277         type: org.openecomp.capabilities.metric.Ceilometer
278         occurrences:
279         - 1
280         - UNBOUNDED
281       memory.usage:
282         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
283         type: org.openecomp.capabilities.metric.Ceilometer
284         occurrences:
285         - 1
286         - UNBOUNDED
287       disk.device.capacity:
288         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
289         type: org.openecomp.capabilities.metric.Ceilometer
290         occurrences:
291         - 1
292         - UNBOUNDED
293       memory.resident:
294         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
295         type: org.openecomp.capabilities.metric.Ceilometer
296         occurrences:
297         - 1
298         - UNBOUNDED
299       disk.write.requests:
300         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
301         type: org.openecomp.capabilities.metric.Ceilometer
302         occurrences:
303         - 1
304         - UNBOUNDED
305
306   org.openecomp.resource.abstract.nodes.DFAbstractSubstitute:
307     derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
308     properties:
309       license_feature_group_ref:
310         description: refrence to license feature group
311         type: string
312         status: SUPPORTED
313         required: true
314     requirements:
315     - deployment_flavor:
316         capability: org.openecomp.capabilities.attachment.DeploymentFlavor
317         node: org.openecomp.resource.nodes.DeploymentFlavor
318         relationship: org.openecomp.relationships.AttachesTo
319         occurrences:
320         - 1
321         - UNBOUNDED
322
323   org.openecomp.resource.abstract.nodes.ComplexVFC:
324     derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
325
326   org.openecomp.resource.abstract.nodes.VFC:
327     derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
328     properties:
329       high_availablity:
330         description: high_availablity
331         type: string
332         status: SUPPORTED
333         required: false
334       vm_image_name:
335         description: Master image_name volume id
336         type: string
337         status: SUPPORTED
338         required: true
339       vm_flavor_name:
340         description: Master image_name volume id
341         type: string
342         status: SUPPORTED
343         required: true
344       nfc_naming_code:
345         description: nfc code for instance naming
346         type: string
347         status: SUPPORTED
348         required: false
349       nfc_code:
350         type: string
351         description: nfc code
352         status: SUPPORTED
353         required: false
354       nfc_function:
355         type: string
356         description: nfc function
357         status: SUPPORTED
358         required: false
359       vm_type_tag:
360         description: vm type based on naming Convention
361         type: string
362         status: SUPPORTED
363         required: false
364       vfc_naming:
365         description: vfc naming
366         type: org.openecomp.datatypes.Naming
367         status: SUPPORTED
368         default: false
369         required: false
370       min_instances:
371         description: Minimum number of VFC Instances
372         type: integer
373         status: SUPPORTED
374         default: 0
375         required: false
376         constraints:
377         - greater_or_equal: 0
378       max_instances:
379         description: Maximum number of VFC Instances
380         type: integer
381         status: SUPPORTED
382         required: false
383         constraints:
384         - greater_or_equal: 1
385
386   org.openecomp.resource.vl.ELine:
387     derived_from: org.openecomp.resource.vl.nodes.network.Network
388     capabilities:
389       linkable:
390         type: tosca.capabilities.network.Linkable
391         occurrences:
392         - 0
393         - 2
394
395   org.openecomp.resource.cp.nodes.network.v2.SubInterface:
396     derived_from: tosca.nodes.Root
397     properties:
398       ip_address:
399         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.
400         type: string
401         required: false
402       order:
403         description: 'The order of the NIC on the compute instance (e.g. eth2). Note:
404           when binding more than one port to a single compute (aka multi vNICs) and
405           ordering is desired, it is *mandatory* that all ports will be set with an
406           order value and. The order values must represent a positive, arithmetic
407           progression that starts with 0 (e.g. 0, 1, 2, ..., n).'
408         type: integer
409         default: 0
410         required: false
411         constraints:
412         - greater_or_equal: 0
413       is_default:
414         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.
415         type: boolean
416         default: false
417         required: false
418       ip_range_start:
419         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.
420         type: string
421         required: false
422       ip_range_end:
423         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.
424         type: string
425         required: false
426     attributes:
427       ip_address:
428         description: The IP address would be assigned to the associated compute instance.
429         type: string
430     requirements:
431     - subinterface_link:
432         capability: tosca.capabilities.network.Linkable
433         relationship: tosca.relationships.network.LinksTo
434     - binding:
435         capability: tosca.capabilities.network.Bindable
436         relationship: tosca.relationships.network.BindsTo
437
438   org.openecomp.resource.cp.nodes.network.SubInterface:
439     derived_from: tosca.nodes.network.Port
440
441   org.openecomp.resource.vl.internalVL:
442     derived_from: org.openecomp.resource.vl.nodes.network.Network
443     description: The AT&T internal (VF-level) Virtual Link
444
445   org.openecomp.resource.cp.nodes.network.Port:
446     derived_from: tosca.nodes.network.Port  
447     properties:
448       subinterface_indicator:
449         description: identifies if Port is having Sub Interface
450         type: boolean
451         required: false
452         default: false
453       network_role_tag:
454         description: Must correlate to the set of defined â€œnetwork-role�? tag identifiers from the associated HEAT template
455         type: string
456         required: true
457       mac_requirements:
458         description: identifies MAC address assignments to the CP
459         type: org.openecomp.datatypes.network.MacRequirements
460         required: false
461       vlan_requirements:
462         description: identifies vlan address assignments to the CP
463         type: list
464         entry_schema:
465           type: org.openecomp.datatypes.network.VlanRequirements
466         required: false
467       ip_requirements:
468         description: identifies IP requirements to the CP
469         type: list
470         entry_schema:
471           type: org.openecomp.datatypes.network.IpRequirements
472         required: true
473       network_role:
474         description: identical to VL network_role
475         type: string
476         required: false
477       order:
478         description: The order of the CP on the compute instance (e.g. eth2).
479         type: integer
480         required: false
481       exCP_naming:
482         description: CP Name
483         type: org.openecomp.datatypes.Naming
484         required: false
485       subnetpoolid:
486         description: subnet pool id
487         type: string
488         required: false
489       related_networks:
490         type: list
491         description: Related Networks List.
492         required: false
493         entry_schema:
494           type: org.openecomp.datatypes.network.RelatedNetworksAssignments
495     capabilities:
496       network.incoming.packets.rate:
497         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
498         type: org.openecomp.capabilities.metric.Ceilometer
499         occurrences:
500         - 1
501         - UNBOUNDED
502       network.outgoing.bytes:
503         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
504         type: org.openecomp.capabilities.metric.Ceilometer
505         occurrences:
506         - 1
507         - UNBOUNDED
508       network.outgoing.packets.rate:
509         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
510         type: org.openecomp.capabilities.metric.Ceilometer
511         occurrences:
512         - 1
513         - UNBOUNDED
514       network.outpoing.packets:
515         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
516         type: org.openecomp.capabilities.metric.Ceilometer
517         occurrences:
518         - 1
519         - UNBOUNDED
520       network.incoming.bytes.rate:
521         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
522         type: org.openecomp.capabilities.metric.Ceilometer
523         occurrences:
524         - 1
525         - UNBOUNDED
526       network.incoming.bytes:
527         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
528         type: org.openecomp.capabilities.metric.Ceilometer
529         occurrences:
530         - 1
531         - UNBOUNDED
532       network.outgoing.bytes.rate:
533         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
534         type: org.openecomp.capabilities.metric.Ceilometer
535         occurrences:
536         - 1
537         - UNBOUNDED
538       network.incoming.packets:
539         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
540         type: org.openecomp.capabilities.metric.Ceilometer
541         occurrences:
542         - 1
543         - UNBOUNDED
544
545   org.openecomp.resource.nodes.DeploymentFlavor:
546     derived_from: tosca.nodes.Root
547     capabilities:
548       deployment_flavor:
549         description: Allowed deployment flavors of an abstract node
550         type: org.openecomp.capabilities.attachment.DeploymentFlavor
551         occurrences:
552         - 1
553         - UNBOUNDED
554
555   org.openecomp.resource.cp.extCP:
556     derived_from: tosca.nodes.Root
557     description: The AT&T Connection Point base type all other CP derive from
558     properties:
559       network_role:
560         description: identical to VL network_role
561         type: string
562         required: true
563       order:
564         description: The order of the CP on the compute instance (e.g. eth2).
565         type: integer
566         required: true
567       network_role_tag:
568         description: Must correlate to the set of defined â€œnetwork-role�? tag identifiers from the associated HEAT template
569         type: string
570         required: true
571       mac_requirements:
572         description: identifies MAC address assignments to the CP
573         type: org.openecomp.datatypes.network.MacRequirements
574         required: false
575       vlan_requirements:
576         description: identifies vlan address assignments to the CP
577         type: list
578         entry_schema:
579           type: org.openecomp.datatypes.network.VlanRequirements
580         required: false
581       ip_requirements:
582         description: identifies IP requirements to the CP
583         type: list
584         entry_schema:
585           type: org.openecomp.datatypes.network.IpRequirements
586         required: true
587     capabilities:
588       internal_connectionPoint:
589         type: tosca.capabilities.Node
590         valid_source_types:
591         - tosca.nodes.network.Port
592     requirements:
593     - virtualLink:
594         capability: tosca.capabilities.network.Linkable
595         relationship: tosca.relationships.network.LinksTo
596     - virtualBinding:
597         capability: tosca.capabilities.network.Bindable
598         relationship: tosca.relationships.network.BindsTo
599     - external_virtualLink:
600         capability: tosca.capabilities.network.Linkable
601         node: org.openecomp.resource.vl.nodes.network.Network
602         relationship: tosca.relationships.network.LinksTo
603
604   org.openecomp.resource.vfc.nodes.volume:
605     derived_from: tosca.nodes.BlockStorage
606     
607   ### Node types related to Deployment Flavors
608   org.openecomp.resource.abstract.nodes.VnfConfiguration:
609     derived_from: tosca.nodes.Root
610     description: a container for the available flavors
611     properties:
612       allowed_flavors:
613         description: a collection of all available flavor valuesets
614         type: map
615         entry_schema:
616           type: org.openecomp.datatypes.flavors.DeploymentFlavor
617
618   org.openecomp.resource.abstract.nodes.MultiFlavorVFC:
619     derived_from: org.openecomp.resource.abstract.nodes.VFC
620     description: Multi flavored VFC node
621     properties:
622       images:
623         type: map
624         entry_schema:
625           type: org.openecomp.datatypes.ImageInfo
626         required: false
627
628   ## New node types for Port Mirroring
629   org.openecomp.nodes.ServiceProxy:
630     derived_from: tosca.nodes.Root
631
632   org.openecomp.nodes.PortMirroringConfiguration:
633     derived_from: tosca.nodes.Root
634     requirements:
635     - source:
636         capability: org.openecomp.capabilities.PortMirroring
637         occurrences:
638         - 1
639         - UNBOUNDED
640     - collector:
641         capability: org.openecomp.capabilities.PortMirroring
642         occurrences:
643         - 1
644         - 1
645
646   org.openecomp.resource.cp.v2.extCP:
647     derived_from: org.openecomp.resource.cp.nodes.network.Port
648     description: The SDC External Connection Point base type
649     capabilities:
650       port_mirroring:
651         type: org.openecomp.capabilities.PortMirroring
652
653   org.openecomp.resource.cp.v2.extNeutronCP:
654     derived_from: org.openecomp.resource.cp.v2.extCP
655     properties:
656       port_security_enabled:
657         type: boolean
658         description: Flag to enable/disable port security on the network
659         required: false
660         status: SUPPORTED
661       device_id:
662         type: string
663         description: Device ID of this port
664         required: false
665         status: SUPPORTED
666       qos_policy:
667         type: string
668         description: The name or ID of QoS policy to attach to this network
669         required: false
670         status: SUPPORTED
671       allowed_address_pairs:
672         type: list
673         description: Additional MAC/IP address pairs allowed to pass through the port
674         required: false
675         status: SUPPORTED
676         entry_schema:
677           type: org.openecomp.datatypes.heat.network.AddressPair
678       binding:vnic_type:
679         type: string
680         description: The vnic type to be bound on the neutron port
681         required: false
682         status: SUPPORTED
683         constraints:
684         - valid_values:
685           - macvtap
686           - direct
687           - normal
688       value_specs:
689         type: map
690         description: Extra parameters to include in the request
691         required: false
692         default: {
693           }
694         status: SUPPORTED
695         entry_schema:
696           type: string
697       device_owner:
698         type: string
699         description: Name of the network owning the port
700         required: false
701         status: SUPPORTED
702       network:
703         type: string
704         description: Network this port belongs to
705         required: false
706         status: SUPPORTED
707       replacement_policy:
708         type: string
709         description: Policy on how to respond to a stack-update for this resource
710         required: false
711         default: AUTO
712         status: SUPPORTED
713         constraints:
714         - valid_values:
715           - REPLACE_ALWAYS
716           - AUTO
717       security_groups:
718         type: list
719         description: List of security group names or IDs
720         required: false
721         status: SUPPORTED
722         entry_schema:
723           type: string
724       fixed_ips:
725         type: list
726         description: Desired IPs for this port
727         required: false
728         status: SUPPORTED
729         entry_schema:
730           type: org.openecomp.datatypes.heat.neutron.port.FixedIps
731       mac_address:
732         type: string
733         description: MAC address to give to this port
734         required: false
735         status: SUPPORTED
736       admin_state_up:
737         type: boolean
738         description: A boolean value specifying the administrative status of the network
739         required: false
740         default: true
741         status: SUPPORTED
742       name:
743         type: string
744         description: A symbolic name for this port
745         required: false
746         status: SUPPORTED
747     attributes:
748       tenant_id:
749         type: string
750         description: Tenant owning the port
751         status: SUPPORTED
752       network_id:
753         type: string
754         description: Unique identifier for the network owning the port
755         status: SUPPORTED
756       qos_policy_id:
757         type: string
758         description: The QoS policy ID attached to this network
759         status: SUPPORTED
760       show:
761         type: string
762         description: Detailed information about resource
763         status: SUPPORTED
764       subnets:
765         type: list
766         description: Subnets of this network
767         status: SUPPORTED
768         entry_schema:
769           type: string
770       status:
771         type: string
772         description: The status of the network
773         status: SUPPORTED
774     capabilities:
775       attachment:
776         type: tosca.capabilities.Attachment
777         occurrences:
778         - 1
779         - UNBOUNDED
780       binding:
781         type: tosca.capabilities.network.Bindable
782         valid_source_types:
783         - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
784         - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
785         occurrences:
786         - 0
787         - UNBOUNDED
788
789   org.openecomp.resource.cp.v2.extContrailCP:
790     derived_from: org.openecomp.resource.cp.v2.extCP
791     properties:
792       static_routes:
793         type: list
794         description: An ordered list of static routes to be added to this interface
795         required: false
796         status: SUPPORTED
797         entry_schema:
798           type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
799       virtual_network:
800         type: string
801         description: Virtual Network for this interface
802         required: true
803         status: SUPPORTED
804       static_route:
805         type: boolean
806         description: Static route enabled
807         required: false
808         default: false
809         status: SUPPORTED
810       allowed_address_pairs:
811         type: list
812         description: List of allowed address pair for this interface
813         required: false
814         status: SUPPORTED
815         entry_schema:
816           type: org.openecomp.datatypes.heat.network.contrail.AddressPair
817       shared_ip:
818         type: boolean
819         description: Shared ip enabled
820         required: false
821         default: false
822         status: SUPPORTED
823       ip_address:
824         type: string
825         description: IP for this interface
826         required: false
827         status: SUPPORTED
828       interface_type:
829         type: string
830         description: Interface type
831         required: true
832         status: SUPPORTED
833         constraints:
834         - valid_values:
835           - management
836           - left
837           - right
838           - other
839     attributes:
840       fq_name:
841         type: string
842         description: fq_name
843         status: SUPPORTED
844
845   org.openecomp.resource.cp.v2.extVirtualMachineInterfaceCP:
846     derived_from: org.openecomp.resource.cp.v2.extCP
847     properties:
848       name:
849         description: Virtual Machine Interface name
850         type: string
851         status: SUPPORTED
852         required: false
853       security_group_refs:
854         description: List of security groups.
855         type: list
856         status: SUPPORTED
857         entry_schema:
858           type: string
859         required: false
860       virtual_network_refs:
861         description: List of virtual networks.
862         type: list
863         status: SUPPORTED
864         entry_schema:
865           type: string
866         required: false
867       virtual_machine_interface_properties:
868         description: virtual machine interface properties.
869         type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties
870         status: SUPPORTED
871         required: false
872       port_tuple_refs:
873         description: List of port tuples.
874         type: list
875         status: SUPPORTED
876         entry_schema:
877           type: string
878         required: false
879       virtual_machine_interface_mac_addresses:
880         description: List of mac addresses.
881         type: list
882         status: SUPPORTED
883         entry_schema:
884           type: string
885         required: false
886       virtual_machine_interface_allowed_address_pairs:
887         description: Virtual Machine Interface allowed address pairs.
888         type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
889         status: SUPPORTED
890         required: false
891     attributes:
892       fq_name:
893         description: The FQ name of the Virtual Network.
894         type: string
895         status: SUPPORTED
896       show:
897         description: All attributes.
898         type: string
899         status: SUPPORTED
900     capabilities:
901       binding:
902         type: tosca.capabilities.network.Bindable
903         occurrences:
904         - 0
905         - UNBOUNDED
906         valid_source_types:
907         - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
908         - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
909
910   tosca.nodes.nfv.NS.vEPC_NS:
911     derived_from: tosca.nodes.nfv.NS
912     properties:
913       vendor:
914         default: ChinaMobile
915         required: false
916         type: string
917       csarVersion:
918         default: v1.0
919         required: false
920         type: string
921       name:
922         default: vEPC_NS
923         required: false
924         type: string
925       csarProvider:
926         default: ChinaMobile
927         required: false
928         type: string
929       id:
930         default: vEPC_NS
931         required: false
932         type: string
933       version:
934         default: v1.0
935         required: false
936         type: string
937       csarType:
938         default: NSAR
939         required: false
940         type: string
941     requirements:
942     - virtualLink:
943         capability: tosca.capabilities.nfv.VirtualLinkable
944         occurrences:
945         - 0
946         - UNBOUNDED
947
948   tosca.nodes.nfv.NS.vIMS_NS:
949     derived_from: tosca.nodes.nfv.NS
950     properties:
951       vendor:
952         default: ChinaMobile
953         required: false
954         type: string
955       csarVersion:
956         default: v1.0
957         required: false
958         type: string
959       name:
960         default: vIMS_NS
961         required: false
962         type: string
963       csarProvider:
964         default: ChinaMobile
965         required: false
966         type: string
967       id:
968         default: vIMS_NS
969         required: false
970         type: string
971       version:
972         default: v1.0
973         required: false
974         type: string
975       csarType:
976         default: NSAR
977         required: false
978         type: string
979     requirements:
980     - virtualLink:
981         capability: tosca.capabilities.nfv.VirtualLinkable
982         occurrences:
983         - 0
984         - UNBOUNDED
985
986   tosca.nodes.nfv.NS:
987     derived_from: tosca.nodes.Root
988     properties:
989       vendor:
990         required: false
991         type: string
992       name:
993         required: false
994         type: string
995       id:
996         required: false
997         type: string
998       version:
999         required: false
1000         type: string
1001     requirements:
1002     - virtualLink:
1003         capability: tosca.capabilities.nfv.VirtualLinkable
1004         occurrences:
1005         - 0
1006         - UNBOUNDED
1007
1008   tosca.nodes.nfv.Vdu.Compute:
1009     #attributes:
1010     #  private_address:
1011     #    type: string
1012     #  public_address:
1013     #    type: string
1014     #  networks:
1015     #    type: string
1016     #  ports:
1017     #    type: string
1018     capabilities:
1019       #scalable:
1020       #  type: tosca.capabilities.Scalable
1021       virtual_compute:
1022         type: tosca.capabilities.nfv.VirtualCompute
1023       #endpoint:
1024       #  type: tosca.capabilities.Endpoint.Admin
1025       #os:
1026       #  type: tosca.capabilities.OperatingSystem
1027       virtual_binding:
1028         type: tosca.capabilities.nfv.VirtualBindable
1029         occurrences: [1, UNBOUNDED]
1030       #host:
1031       #  type: tosca.capabilities.Container
1032       #binding:
1033       #  type: tosca.capabilities.network.Bindable
1034       monitoring_parameter:
1035         type: tosca.capabilities.nfv.Metric
1036         occurrences: [0, UNBOUNDED]
1037     derived_from: tosca.nodes.Root
1038     properties:
1039       vdu_profile:
1040         type: tosca.datatypes.nfv.VduProfile
1041         required: true
1042       inject_files: # Used for vCPE usecase Aligned with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
1043         type: tosca.datatypes.nfv.injectFile
1044         required: false
1045       meta_data: #metadata attached to the VM or container
1046         type: map
1047         entry_schema:
1048           type: string
1049         required: false
1050       user_data: #cloudinit userdata script support
1051         type: string
1052         required: false
1053       configurable_properties:
1054         entry_schema:
1055           type: tosca.datatypes.nfv.VnfcConfigurableProperties
1056         type: map
1057         required: true
1058       name:
1059         type: string
1060         required: true
1061       nfvi_constraints:
1062         entry_schema:
1063           type: string
1064         required: false
1065         type: list
1066       descrption:
1067         type: string
1068         required: true
1069       boot_order:
1070         entry_schema:
1071           type: string
1072         required: false
1073         type: list
1074     requirements:
1075     #- local_storage:
1076     #    capability: tosca.capabilities.Attachment
1077     #    occurrences:
1078     #    - 0
1079     #    - UNBOUNDED
1080       - virtual_storage:
1081           capability: tosca.capabilities.nfv.VirtualStorage
1082           relationship: tosca.relationships.nfv.Vdu.AttachedTo
1083           node: tosca.nodes.nfv.VDU.VirtualStorage
1084           occurences: [ 0, UNBOUNDED ]
1085
1086   tosca.nodes.nfv.Vdu.VirtualStorage:
1087     capabilities:
1088       virtual_storage:
1089         type: tosca.capabilities.nfv.VirtualStorage
1090     derived_from: tosca.nodes.Root
1091     properties:
1092       #id:
1093       #  type: string
1094       size_of_storage:
1095         type: scalar-unit.size
1096         required: true
1097       vdu_storage_requirements:
1098         type: map
1099         entry_schema:
1100           type: string
1101         required: false
1102       rdma_enabled:
1103         required: false
1104         type: boolean
1105       type_of_storage:
1106         type: string
1107         constraints:
1108           - valid_values: [volume, object, root, block]
1109         required: true
1110
1111   tosca.nodes.nfv.Cp:
1112     derived_from: tosca.nodes.Root
1113     properties:
1114       layer_protocol:
1115         type: list
1116         entry_schema:
1117           constraints:
1118             - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
1119           type: string
1120         required: true
1121       role: #Name in ETSI NFV IFA011 v0.7.3 cpRole
1122         type: string
1123         constraints:
1124           - valid_values: [ root, leaf ]
1125         required: false
1126       description:
1127         type: string
1128         required: false
1129       protocol_data:
1130         type: list
1131         entry_schema:
1132           type: tosca.datatypes.nfv.CpProtocolData
1133         required: true
1134       trunk_mode:
1135         type: boolean
1136         required: true
1137       allowedAddressData: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0
1138         type: tosca.datatypes.nfv.AddressData
1139         required: false
1140
1141   tosca.nodes.nfv.VduCpd:
1142     derived_from: tosca.nodes.Root
1143     properties:
1144       virtual_network_interface_requirements:
1145         entry_schema:
1146           type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
1147         required: false
1148         type: list
1149       #role:
1150       #  constraints:
1151       #  - valid_values:
1152       #    - root
1153       #    - leaf
1154       #  required: false
1155       #  type: string
1156       bitrate_requirement:
1157         required: false
1158         type: integer
1159       #description:
1160       #  required: false
1161       #  type: string
1162       #layer_protocol:
1163       #  constraints:
1164       #  - valid_values:
1165       #    - ethernet
1166       #    - mpls
1167       #    - odu2
1168       #    - ipv4
1169       #    - ipv6
1170       #    - pseudo_wire
1171       #  type: string
1172       #address_data:
1173       #  entry_schema:
1174       #    type: tosca.datatype.nfv.AddressData
1175       #  required: false
1176       #  type: list
1177       vnic_name: #  Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0
1178         type: string
1179         required: false
1180       vnic_order: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
1181         type: integer
1182         required: false
1183       vnic_type: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
1184         type: string
1185         constraints:
1186           - valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]
1187         required: false
1188     requirements:
1189       - virtual_binding:
1190           capability: tosca.capabilities.nfv.VirtualBindable
1191           relationship: tosca.relationships.nfv.VirtualBindsTo
1192           node: tosca.nodes.nfv.Vdu.Compute
1193       - virtual_link:
1194           capability: tosca.capabilities.nfv.VirtualLinkable
1195           relationship: tosca.relationships.nfv.VirtualLinksTo
1196           node: tosca.nodes.nfv.VnfVirtualLink
1197
1198   tosca.nodes.nfv.VnfVirtualLink:
1199     derived_from: tosca.nodes.Root
1200     properties:
1201       connectivity_type:
1202         type: tosca.datatypes.nfv.ConnectivityType
1203         required: true
1204       description:
1205         type: string
1206         required: false
1207       test_access:
1208         type: list
1209         entry_schema:
1210           type: string
1211         required: false
1212       vl_profile:
1213         type: tosca.datatypes.nfv.VlProfile
1214         required: true
1215     capabilities:
1216       monitoring_parameter:
1217         type: tosca.capabilities.nfv.Metric
1218         occurrences: [0, UNBOUNDED]
1219       virtual_linkable:
1220         type: tosca.capabilities.nfv.VirtualLinkable
1221
1222   tosca.nodes.nfv.VNF:
1223     derived_from: tosca.nodes.Root
1224     properties:
1225       descriptor_id: # instead of vnfd_id
1226         type: string # GUID
1227         required: true
1228       descriptor_version: # instead of vnfd_version
1229         type: string
1230         required: true
1231       provider: # instead of vnf_provider
1232         type: string
1233         required: true
1234       product_name: # instead of vnf_product_name
1235         type: string
1236         required: true
1237       software_version: # instead of vnf_software_version
1238         type: string
1239         required: true
1240       product_info_name: # instead of vnf_product_info_name
1241         type: string
1242         required: false
1243       product_info_description: # instead of vnf_product_info_description
1244         type: string
1245         required: false
1246       vnfm_info:
1247         type: list
1248         entry_schema:
1249           type: string
1250         required: true
1251       localization_languages:
1252         type: list
1253         entry_schema:
1254           type: string
1255         required: false
1256       default_localization_language:
1257         type: string
1258         required: false
1259       configurable_properties:
1260         type: tosca.datatypes.nfv.VnfConfigurableProperties
1261         required: false
1262       modifiable_attributes:
1263         type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
1264         required: false  # true in IFA011, but all of members are false
1265       flavour_id:
1266         type: string
1267         required: true
1268       flavour_description:
1269         type: string
1270         required: true
1271     #capabilities:
1272       # monitoring_parameter:
1273         # modelled as ad hoc capabilities in the VNF node template
1274     requirements:
1275       - virtual_link:
1276           capability: tosca.capabilities.nfv.VirtualLinkable
1277           relationship: tosca.relationships.nfv.VirtualLinksTo
1278           node: tosca.nodes.nfv.VnfVirtualLink
1279           occurrences: [ 0, UNBOUNDED ]
1280     interfaces:
1281       Nfv:
1282         type: tosca.interfaces.nfv.vnf.lifecycle.Nfv
1283   tosca.nodes.nfv.ext.ImageFile:
1284     capabilities:
1285       guest_os:
1286         type: tosca.capabilities.nfv.ext.GuestOs
1287       image_fle:
1288         type: tosca.capabilities.nfv.ext.ImageFile
1289     derived_from: tosca.nodes.Root
1290     properties:
1291       file_url:
1292         required: false
1293         type: string
1294       container_type:
1295         required: false
1296         type: string
1297       name:
1298         required: false
1299         type: string
1300       disk_format:
1301         required: false
1302         type: string
1303       version:
1304         required: false
1305         type: string
1306   tosca.nodes.nfv.ext.LocalStorage:
1307     capabilities:
1308       local_attachment:
1309         type: tosca.capabilities.nfv.ext.LocalAttachment
1310     derived_from: tosca.nodes.Root
1311     properties:
1312       size:
1313         required: false
1314         type: string
1315       disk_type:
1316         required: false
1317         type: string
1318   tosca.nodes.nfv.ext.zte.CP:
1319     capabilities:
1320       forwarder:
1321         type: tosca.capabilities.nfv.Forwarder
1322     derived_from: tosca.nodes.Root
1323     properties:
1324       guest_os_mtu:
1325         required: false
1326         type: integer
1327       bandwidth:
1328         required: false
1329         type: integer
1330       interface_name:
1331         required: false
1332         type: string
1333       allowed_address_pairs:
1334         entry_schema:
1335           type: tosca.datatypes.nfv.ext.AddressPairs
1336         required: false
1337         type: list
1338       ip_address:
1339         required: false
1340         type: string
1341       bond:
1342         required: false
1343         type: string
1344       proxiedVNFs:
1345         entry_schema:
1346           type: string
1347         required: false
1348         type: list
1349       sfc_encapsulation:
1350         required: false
1351         type: string
1352       floating_ip_address:
1353         required: false
1354         type: tosca.datatypes.nfv.ext.FloatingIP
1355       service_ip_address:
1356         required: false
1357         type: string
1358       mac_address:
1359         required: false
1360         type: string
1361       proxiedVNFtype:
1362         required: false
1363         type: string
1364       macbond:
1365         required: false
1366         type: string
1367       vnic_type:
1368         required: false
1369         type: string
1370       direction:
1371         required: false
1372         type: string
1373       order:
1374         required: false
1375         type: integer
1376     requirements:
1377     - forwarder:
1378         capability: tosca.capabilities.nfv.Forwarder
1379         occurrences:
1380         - 0
1381         - UNBOUNDED
1382     - virtualbinding:
1383         capability: tosca.capabilities.nfv.VirtualBindable
1384         occurrences:
1385         - 0
1386         - UNBOUNDED
1387     - virtualLink:
1388         capability: tosca.capabilities.nfv.VirtualBindable
1389         occurrences:
1390         - 0
1391         - UNBOUNDED
1392   tosca.nodes.nfv.ext.zte.VDU:
1393     capabilities:
1394       scalable:
1395         type: tosca.capabilities.Scalable
1396       monitoring_parameter:
1397         type: tosca.capabilities.nfv.Metric
1398       nfv_compute:
1399         type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
1400       virtualbinding:
1401         type: tosca.capabilities.nfv.VirtualBindable
1402     derived_from: tosca.nodes.Root
1403     properties:
1404       manual_scale_select_vim:
1405         required: false
1406         type: boolean
1407       vdu_type:
1408         required: false
1409         type: string
1410       watchdog:
1411         required: false
1412         type: tosca.datatypes.nfv.ext.zte.WatchDog
1413       name:
1414         required: false
1415         type: string
1416       local_affinity_antiaffinity_rule:
1417         required: false
1418         type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
1419       support_scaling:
1420         required: false
1421         type: boolean
1422       storage_policy:
1423         required: false
1424         type: string
1425       key_vdu:
1426         required: false
1427         type: boolean
1428       location_info:
1429         required: false
1430         type: tosca.datatypes.nfv.ext.LocationInfo
1431       inject_data_list:
1432         entry_schema:
1433           type: tosca.datatypes.nfv.ext.InjectData
1434         required: false
1435         type: list
1436     requirements:
1437     - guest_os:
1438         capability: tosca.capabilities.nfv.ext.GuestOs
1439         occurrences:
1440         - 0
1441         - UNBOUNDED
1442     - local_storage:
1443         capability: tosca.capabilities.nfv.ext.LocalAttachment
1444         occurrences:
1445         - 0
1446         - UNBOUNDED
1447     - volume_storage:
1448         capability: tosca.capabilities.Attachment
1449         occurrences:
1450         - 0
1451         - UNBOUNDED
1452     - dependency:
1453         capability: tosca.capabilities.Node
1454         occurrences:
1455         - 0
1456         - UNBOUNDED
1457   tosca.nodes.nfv.ext.zte.VL:
1458     capabilities:
1459       virtual_linkable:
1460         type: tosca.capabilities.nfv.VirtualLinkable
1461     derived_from: tosca.nodes.Root
1462     properties:
1463       segmentation_id:
1464         required: false
1465         type: string
1466       network_name:
1467         required: false
1468         type: string
1469       is_predefined:
1470         required: false
1471         type: boolean
1472       mtu:
1473         required: false
1474         type: integer
1475       dns_nameservers:
1476         entry_schema:
1477           type: string
1478         required: false
1479         type: list
1480       physical_network:
1481         required: false
1482         type: string
1483       dhcp_enabled:
1484         required: false
1485         type: boolean
1486       network_id:
1487         required: false
1488         type: string
1489       host_routes:
1490         entry_schema:
1491           type: tosca.datatypes.nfv.ext.HostRouteInfo
1492         required: false
1493         type: list
1494       ip_version:
1495         required: false
1496         type: integer
1497       vendor:
1498         required: false
1499         type: string
1500       name:
1501         required: false
1502         type: string
1503       start_ip:
1504         required: false
1505         type: string
1506       vlan_transparent:
1507         required: false
1508         type: boolean
1509       cidr:
1510         required: false
1511         type: string
1512       gateway_ip:
1513         required: false
1514         type: string
1515       network_type:
1516         required: false
1517         type: string
1518       end_ip:
1519         required: false
1520         type: string
1521       location_info:
1522         required: false
1523         type: tosca.datatypes.nfv.ext.LocationInfo
1524   tosca.nodes.nfv.ext.zte.VNF:
1525     capabilities:
1526       forwarder:
1527         type: tosca.capabilities.nfv.Forwarder
1528     derived_from: tosca.nodes.Root
1529     properties:
1530       request_reclassification:
1531         required: false
1532         type: boolean
1533       domain_type:
1534         required: false
1535         type: string
1536       nsh_aware:
1537         required: false
1538         type: boolean
1539       plugin_info:
1540         required: false
1541         type: string
1542       adjust_vnf_capacity:
1543         required: false
1544         type: boolean
1545       vnfd_version:
1546         required: false
1547         type: string
1548       vmnumber_overquota_alarm:
1549         required: false
1550         type: boolean
1551       custom_properties:
1552         entry_schema:
1553           type: string
1554         required: false
1555         type: map
1556       version:
1557         required: false
1558         type: string
1559       cross_dc:
1560         required: false
1561         type: boolean
1562       script_info:
1563         required: false
1564         type: string
1565       vendor:
1566         required: false
1567         type: string
1568       is_shared:
1569         required: false
1570         type: boolean
1571       name:
1572         required: false
1573         type: string
1574       vnf_extend_type:
1575         required: false
1576         type: string
1577       id:
1578         required: false
1579         type: string
1580       vnf_type:
1581         required: false
1582         type: string
1583       is_sfc_proxy:
1584         required: false
1585         type: boolean
1586     requirements:
1587     - forwarder:
1588         capability: tosca.capabilities.nfv.Forwarder
1589         occurrences:
1590         - 0
1591         - UNBOUNDED
1592     - virtualLink:
1593         capability: tosca.capabilities.nfv.VirtualLinkable
1594         occurrences:
1595         - 0
1596         - UNBOUNDED
1597
1598   tosca.nodes.nfv.VnfVirtualLinkDesc:
1599     capabilities:
1600       monitoring_parameters:
1601         type: tosca.capabilities.nfv.Metric
1602       virtual_linkable:
1603         type: tosca.capabilities.nfv.VirtualLinkable
1604     derived_from: tosca.nodes.Root
1605     properties:
1606       vl_flavours:
1607         entry_schema:
1608           type: string
1609         type: map
1610       description:
1611         required: false
1612         type: string
1613       test_access:
1614         entry_schema:
1615           type: string
1616         required: false
1617         type: list
1618       connectivity_type:
1619         type: tosca.datatypes.nfv.ConnectivityType