fix tosca template bugs
[modeling/etsicatalog.git] / catalog / pub / utils / toscaparser / testdata / ns / ran / type_definition.yaml
1 tosca_definitions_version: tosca_simple_yaml_1_0
2
3 capability_types: 
4  
5   tosca.capabilities.nfv.VirtualLinkable:
6     derived_from: tosca.capabilities.Root
7
8 data_types:
9   tosca.datatypes.nfv.LinkBitRateRequirements:
10     derived_from: tosca.datatypes.Root
11     properties:
12       root:
13          type: integer
14          required: true
15       leaf:
16          type: integer
17          required: true
18   tosca.datatypes.nfv.ConnectivityType:
19     derived_from: tosca.datatypes.Root
20     properties: 
21       layer_protocol:
22         type: string
23         required: true
24         constraints:
25           - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]  
26       flow_pattern:
27         type: string
28         required: false
29         constraints: # not defined in IFA011 v2.4.1 and SOL001 v.6.0
30           - valid_values: [Line, Tree, Mesh]
31   
32   tosca.datatypes.nfv.VlProfile:
33       derived_from: tosca.datatypes.Root
34       properties:
35         max_bit_rate_requirements:
36            type: tosca.datatypes.nfv.LinkBitRateRequirements
37            required: true
38         min_bit_rate_requirements:
39            type: tosca.datatypes.nfv.LinkBitRateRequirements
40            required: true
41         qos:
42            type: tosca.datatypes.nfv.Qos
43            required: false
44         initiationParameters: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
45            type: map
46            entry_schema:
47              type: string
48            required: false
49         cidr: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
50            type: string
51            required: false
52         networkName:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
53            type: string
54            required: false
55         startIp:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
56            type: string
57            required: false
58         endIp:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
59            type: string
60            required: false
61         gatewayIp:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
62            type: string
63            required: false
64         segmentationId:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
65            type: integer
66            required: false
67         physicalNetwork:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
68            type: string
69            required: false
70         networkType:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
71            type: string
72            required: false
73            constraints:
74              - valid_values: [VLAN, VXLAN]
75         dhcpEnabled:  # not defined in IFA011 v2.4.1 and SOL001 v.6.0
76            type: boolean
77            required: false
78         vlanTransparent:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
79            type: boolean
80            required: false
81   
82   tosca.datatypes.nfv.Qos:
83     derived_from: tosca.datatypes.Root
84     properties:
85       latency:
86          type: integer #Number [ms]
87          required: true
88       packet_delay_variation:
89          type: integer #Number [ms]
90          required: true
91       packet_loss_ratio:
92          type: float
93          constraints:
94            - in_range: [ 0.0, 1.0 ]
95          required: false
96   
97   tosca.datatypes.nfv.ServiceAvailability:
98    derived_from: tosca.datatypes.Root
99    description: service availability
100    properties:
101      Level:
102        type: string
103        description: service availability levels
104        required: true
105        constraints:
106           - valid_values: [ Level1, Level2,Level3 ]
107           
108 node_types:  
109   tosca.nodes.nfv.VNF:
110     derived_from: tosca.nodes.Root
111     properties:
112       descriptor_id: 
113         type: string # GUID
114         required: true
115       descriptor_version: 
116         type: string
117         required: true
118       provider: 
119         type: string
120         required: true
121       product_name: 
122         type: string
123         required: true
124       software_version: 
125         type: string
126         required: true
127       product_info_name: 
128         type: string
129         required: false
130       product_info_description: 
131         type: string
132         required: false
133       vnfm_info:
134         type: list
135         entry_schema:
136           type: string
137         required: true
138       localization_languages:
139         type: list
140         entry_schema:
141           type: string
142         required: false
143       default_localization_language:
144         type: string
145         required: false
146       configurable_properties:
147         type: tosca.datatypes.nfv.VnfConfigurableProperties
148         required: false
149       modifiable_attributes:
150         type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
151         required: false  
152       flavour_id:
153         type: string
154         required: true
155       flavour_description:
156         type: string
157         required: true
158     #requirements:
159     #  - virtual_link:
160     #      capability: tosca.capabilities.nfv.VirtualLinkable
161     #      relationship: tosca.relationships.nfv.VirtualLinksTo
162     #      node: tosca.nodes.nfv.VnfVirtualLink
163     #      occurrences: [ 0, UNBOUNDED ]
164     #interfaces:
165     #  Nfv:
166     #    type: tosca.interfaces.nfv.vnf.lifecycle.Nfv  
167         
168   tosca.nodes.nfv.PNF:
169     derived_from: tosca.nodes.Root
170     properties:
171       descriptor_id:
172         type: string
173         required: true
174       provider:
175         type: string
176         required: true
177       version:
178         type: string
179         required: true
180       descriptor_invariant_id:
181         type: string
182         required: true
183       name:
184         type: string
185         required: true
186       function_description:
187         type: string
188         required: true
189       #geographical_location_info:       
190       #  type: TBD
191       #  required: true
192     #requirements:
193     #   - virtual_link:
194     #       capability: tosca.capabilities.nfv.VirtualLinkable
195     #       relationship: tosca.relationships.nfv.VirtualLinksTo
196
197   tosca.nodes.nfv.PnfExtPort:           
198     derived_from: tosca.nodes.Root
199            
200   tosca.nodes.nfv.NsVirtualLink:
201     derived_from: tosca.nodes.Root
202     description: node definition of Virtual Links
203     properties:
204       provider:
205         type: string
206         required: false
207       version:
208         type: string
209         required: true
210       vl_profile:
211         type: tosca.datatypes.nfv.VlProfile
212         required: true
213       connectivity_type:
214         type: tosca.datatypes.nfv.ConnectivityType
215         required: true
216       qos:
217         type: tosca.datatypes.nfv.Qos
218         required: false
219       service_availability:
220         type: tosca.datatypes.nfv.ServiceAvailability
221         required: false
222     capabilities:
223       VirtualLinkable:
224         type: tosca.capabilities.nfv.VirtualLinkable
225   tosca.nodes.nfv.NS:
226     derived_from: tosca.nodes.Root
227     properties:
228       descriptor_id:
229         type: string
230         required: true
231       designer:
232         type: string
233         required: true
234       version:
235         type: string
236         required: true
237       name:
238         type: string
239         required: true
240       invariant_id:
241         type: string
242         required: true
243     capabilities:
244       #monitoring_parameter:
245         # modelled as ad hoc capabilities in VNF node template
246     requirements:
247       - virtual_link:
248           capability:
249              tosca.capabilities.nfv.VirtualLinkable
250           relationship:
251              tosca.relationships.nfv.VirtualLinksTo
252           node: tosca.nodes.nfv.NsVirtualLink
253           occurrences: [ 0, UNBOUNDED ]
254
255 relationship_types:
256   
257   tosca.relationships.nfv.VirtualLinksTo:
258     derived_from: tosca.relationships.DependsOn
259     valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable]
260