Fix spacing issues in YAML files in tosca/
[demo.git] / tosca / pNF / Definitions / etsi_nfv_sol001_pnfd_2_5_1_types.yaml
1 tosca_definitions_version: tosca_simple_yaml_1_2
2 description: ETSI NFV SOL 001 pnfd types definitions version 2.5.1
3
4 imports:
5   - etsi_nfv_sol001_vnfd_2_5_1_types.yaml
6
7 data_types:
8   tosca.datatypes.nfv.L2AddressData:
9     derived_from: tosca.datatypes.Root
10     description: Describes the information on the MAC addresses to be assigned to a connection point.
11     properties:
12       mac_address_assignment:
13         type: boolean
14         description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility
15         required: true
16
17   tosca.datatypes.nfv.L3AddressData:
18     derived_from: tosca.datatypes.Root
19     description: Provides information about Layer 3 level addressing scheme and parameters applicable to a CP
20     properties:
21       ip_address_assignment:
22         type: boolean
23         description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility
24         required: true
25       floating_ip_activated:
26         type: boolean
27         description: Specifies if the floating IP scheme is activated on the Connection Point or not
28         required: true
29       ip_address_type:
30         type: string
31         description: Defines address type. The address type should be aligned with the address type supported by the layer_protocols properties of the parent VnfExtCp
32         required: false
33         constraints:
34           - valid_values: [ ipv4, ipv6 ]
35       number_of_ip_address:
36         type: integer
37         description: Minimum number of IP addresses to be assigned
38         required: false
39         constraints:
40           - greater_than: 0
41
42   tosca.datatypes.nfv.AddressData:
43     derived_from: tosca.datatypes.Root
44     description: Describes information about the addressing scheme and parameters applicable to a CP
45     properties:
46       address_type:
47         type: string
48         description: Describes the type of the address to be assigned to a connection point. The content type shall be aligned with the address type supported by the layerProtocol property of the connection point
49         required: true
50         constraints:
51           - valid_values: [ mac_address, ip_address ]
52       l2_address_data:
53         type: tosca.datatypes.nfv.L2AddressData
54         description: Provides the information on the MAC addresses to be assigned to a connection point.
55         required: false
56       l3_address_data:
57         type: tosca.datatypes.nfv.L3AddressData
58         description: Provides the information on the IP addresses to be assigned to a connection point
59         required: false
60
61   tosca.datatypes.nfv.CpProtocolData:
62     derived_from: tosca.datatypes.Root
63     description: Describes and associates the protocol layer that a CP uses together with other protocol and connection point information
64     properties:
65       associated_layer_protocol:
66         type: string
67         required: true
68         description: One of the values of the property layer_protocols of the CP
69         constraints:
70           - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
71       address_data:
72         type: list
73         description: Provides information on the addresses to be assigned to the CP
74         entry_schema:
75           type: tosca.datatypes.nfv.AddressData
76
77   tosca.datatypes.nfv.LocationInfo:
78     derived_from: tosca.datatypes.Root
79     description: Represents geographical information on the location where a PNF is deployed.
80     properties:
81       country_code:
82         type: string # two-letter ISO 3166 country code
83         description: Country code
84         required: true
85       civic_address_element:
86         type: list
87         entry_schema:
88           type: tosca.datatypes.nfv.CivicAddressElement
89         description: Elements composing the civic address where the PNF is deployed.
90         required: false
91
92   tosca.datatypes.nfv.CivicAddressElement:
93     derived_from: tosca.datatypes.Root
94     description: Represents an element of a civic location as specified in IETF RFC 4776 [11].
95     properties:
96       ca_type:
97         type: string # RFC4776
98         description: caType as per RFC4776
99         required: true
100       ca_value:
101         type: string # RFC4776
102         description: caValue as per RFC4776.
103         required: true
104
105 capability_types:
106   tosca.capabilities.nfv.VirtualLinkable:
107     derived_from: tosca.capabilities.Node
108     description: A node type that includes the VirtualLinkable capability indicates that it can be pointed by tosca.relationships.nfv.VirtualLinksTo relationship type
109
110 relationship_types:
111   tosca.relationships.nfv.VirtualLinksTo:
112     derived_from: tosca.relationships.DependsOn
113     description: Represents an association relationship between the VNF or PNF or Sap of a Nested NS and NsVirtualLink node types
114     valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]
115
116 node_types:
117   tosca.nodes.nfv.Cp:
118     derived_from: tosca.nodes.Root
119     description: Provides information regarding the purpose of the connection point
120     properties:
121       layer_protocols:
122         type: list
123         description: Identifies which protocol the connection point uses for connectivity purposes
124         required: true
125         entry_schema:
126           type: string
127           constraints:
128             - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
129       role: #Name in ETSI NFV IFA011 v0.7.3: cpRole
130         type: string
131         description: Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS
132         required: false
133         constraints:
134           - valid_values: [ root, leaf ]
135       description:
136         type: string
137         description: Provides human-readable information on the purpose of the connection point
138         required: false
139       protocol:
140         type: list
141         description: Provides information on the addresses to be assigned to the connection point(s) instantiated from this Connection Point Descriptor
142         required: true
143         entry_schema:
144           type: tosca.datatypes.nfv.CpProtocolData
145       trunk_mode:
146         type: boolean
147         description: Provides information about whether the CP instantiated from this Cp is in Trunk mode (802.1Q or other)
148         required: true
149
150   tosca.nodes.nfv.PNF:
151     derived_from: tosca.nodes.Root
152     properties:
153       descriptor_id: # instead of pnfd_id
154         type: string # GUID
155         required: true
156       function_description:
157         type: string
158         required: true
159       provider:
160         type: string
161         required: true
162       version:
163         type: string
164         required: true
165       descriptor_invariant_id: # instead of pnfd-invariant-id
166         type: string # GUID
167         required: true
168       name:
169         type: string
170         required: true
171       geographical_location_info:
172         type: tosca.datatypes.nfv.LocationInfo
173         required: false
174     requirements:
175       - virtual_link:
176           capability: tosca.capabilities.nfv.VirtualLinkable
177           relationship: tosca.relationships.nfv.VirtualLinksTo
178           occurrences: [ 0, 1 ]
179   # Additional requirements shall be defined in the PNF specific node type (deriving from tosca.nodes.nfv.PNF) corresponding to NS virtual links that need to connect to PnfExtCps
180
181   tosca.nodes.nfv.PnfExtCp:
182     derived_from: tosca.nodes.nfv.Cp
183     description: node definition of PnfExtCp.
184     requirements:
185       - external_virtual_link:
186           capability: tosca.capabilities.nfv.VirtualLinkable
187           relationship: tosca.relationships.nfv.VirtualLinksTo
188
189 policy_types:
190   tosca.policies.nfv.SecurityGroupRule:
191     derived_from: tosca.policies.Root
192     description: The SecurityGroupRule type is a policy type specified the matching criteria for the ingress and/or egress traffic to/from visited connection points as defined in ETSI GS NFV-IFA 011 [1].
193     properties:
194       description:
195         type: string
196         description: Human readable description of the security group rule.
197         required: false
198       direction:
199         type: string
200         description: The direction in which the security group rule is applied. The direction of 'ingress' or 'egress' is specified against the associated CP. I.e., 'ingress' means the packets entering a CP, while 'egress' means the packets sent out of a CP.
201         required: false
202         constraints:
203           - valid_values: [ ingress, egress ]
204         default: ingress
205       ether_type:
206         type: string
207         description: Indicates the protocol carried over the Ethernet layer.
208         required: false
209         constraints:
210           - valid_values: [ ipv4, ipv6 ]
211         default: ipv4
212       protocol:
213         type: string
214         description: Indicates the protocol carried over the IP layer. Permitted values include any protocol defined in the IANA protocol registry, e.g. TCP, UDP, ICMP, etc.
215         required: false
216         constraints:
217           - valid_values: [ hopopt, icmp, igmp, ggp, ipv4, st, tcp, cbt, egp, igp, bbn_rcc_mon, nvp_ii, pup, argus, emcon, xnet, chaos, udp, mux, dcn_meas, hmp, prm, xns_idp, trunk_1, trunk_2, leaf_1, leaf_2, rdp, irtp, iso_tp4, netblt, mfe_nsp, merit_inp, dccp, 3pc, idpr, xtp, ddp, idpr_cmtp, tp++, il, ipv6, sdrp, ipv6_route, ipv6_frag, idrp, rsvp, gre, dsr, bna, esp, ah, i_nlsp, swipe, narp, mobile, tlsp, skip, ipv6_icmp, ipv6_no_nxt, ipv6_opts, cftp, sat_expak, kryptolan, rvd, ippc, sat_mon, visa, ipcv, cpnx, cphb, wsn, pvp, br_sat_mon, sun_nd, wb_mon, wb_expak, iso_ip, vmtp, secure_vmtp, vines, ttp, iptm, nsfnet_igp, dgp, tcf, eigrp, ospfigp, sprite_rpc, larp, mtp, ax.25, ipip, micp, scc_sp, etherip, encap, gmtp, ifmp, pnni, pim, aris, scps, qnx, a/n, ip_comp, snp, compaq_peer, ipx_in_ip, vrrp, pgm, l2tp, ddx, iatp, stp, srp, uti, smp, sm, ptp, isis, fire, crtp, crudp, sscopmce, iplt, sps, pipe, sctp, fc, rsvp_e2e_ignore, mobility, udp_lite, mpls_in_ip, manet, hip, shim6, wesp, rohc ]
218         default: tcp
219       port_range_min:
220         type: integer
221         description: Indicates minimum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints.
222         required: false
223         constraints:
224           - greater_or_equal: 0
225           - less_or_equal: 65535
226         default: 0
227       port_range_max:
228         type: integer
229         description: Indicates maximum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints.
230         required: false
231         constraints:
232           - greater_or_equal: 0
233           - less_or_equal: 65535
234         default: 65535
235     targets: [ tosca.nodes.nfv.PnfExtCp ]