aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/main/resources/etsi-nfv-types/3.3.1/etsi_nfv_sol001_common_types.yaml
blob: 2aa48fcdc24686390003a7805725abcb67a6d365 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
tosca_definitions_version: tosca_simple_yaml_1_3
description: ETSI NFV SOL 001 common types definitions version 3.3.1
metadata:
  template_name: etsi_nfv_sol001_common_types
  template_author: ETSI_NFV
  template_version: 3.3.1

data_types:
  tosca.datatypes.nfv.L2AddressData:
    derived_from: tosca.datatypes.Root
    description: Describes the information on the MAC addresses to be assigned to a connection point.
    properties:
      mac_address_assignment:
        type: boolean
        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
        required: true

  tosca.datatypes.nfv.L3AddressData:
    derived_from: tosca.datatypes.Root
    description: Provides information about Layer 3 level addressing scheme and parameters applicable to a CP
    properties:
      ip_address_assignment:
        type: boolean
        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
        required: true
      floating_ip_activated:
        type: boolean
        description: Specifies if the floating IP scheme is activated on the Connection Point or not
        required: true
      ip_address_type:
        type: string
        description: Defines address type. The address type should be aligned with the address type supported by the layer_protocols properties of the connetion point
        required: false
        constraints:
          - valid_values: [ ipv4, ipv6 ]
      number_of_ip_address:
        type: integer
        description: Minimum number of IP addresses to be assigned
        required: false
        constraints:
          - greater_than: 0

  tosca.datatypes.nfv.AddressData:
    derived_from: tosca.datatypes.Root
    description: Describes information about the addressing scheme and parameters applicable to a CP
    properties:
      address_type:
        type: string
        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
        required: true
        constraints:
          - valid_values: [ mac_address, ip_address ]
      l2_address_data:
        type: tosca.datatypes.nfv.L2AddressData
        description: Provides the information on the MAC addresses to be assigned to a connection point.
        required: false
      l3_address_data:
        type: tosca.datatypes.nfv.L3AddressData
        description: Provides the information on the IP addresses to be assigned to a connection point
        required: false

  tosca.datatypes.nfv.ConnectivityType:
    derived_from: tosca.datatypes.Root
    description: describes additional connectivity information of a virtualLink
    properties:
      layer_protocols:
        type: list
        description: Identifies the protocol a virtualLink gives access to (ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire).The top layer protocol of the virtualLink protocol stack shall always be provided. The lower layer protocols may be included when there are specific requirements on these layers.
        required: true
        entry_schema:
          type: string
          constraints:
            - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
      flow_pattern:
        type: string
        description: Identifies the flow pattern of the connectivity
        required: false
        constraints:
          - valid_values: [ line, tree, mesh ]

  tosca.datatypes.nfv.LinkBitrateRequirements:
    derived_from: tosca.datatypes.Root
    description: describes the requirements in terms of bitrate for a virtual link
    properties:
      root:
        type: integer # in bits per second
        description: Specifies the throughput requirement in bits per second of the link (e.g. bitrate of E-Line, root bitrate of E-Tree, aggregate capacity of E-LAN).
        required: true
        constraints:
          - greater_or_equal: 0
      leaf:
        type: integer # in bits per second
        description: Specifies the throughput requirement in bits per second of leaf connections to the link when applicable to the connectivity type (e.g. for E-Tree and E LAN branches).
        required: false
        constraints:
          - greater_or_equal: 0

  tosca.datatypes.nfv.CpProtocolData:
    derived_from: tosca.datatypes.Root
    description: Describes and associates the protocol layer that a CP uses together with other protocol and connection point information
    properties:
      associated_layer_protocol:
        type: string
        required: true
        description: One of the values of the property layer_protocols of the CP
        constraints:
          - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
      address_data:
        type: list
        description: Provides information on the addresses to be assigned to the CP
        entry_schema:
          type: tosca.datatypes.nfv.AddressData
        required: false

  tosca.datatypes.nfv.VnfProfile:
    derived_from: tosca.datatypes.Root
    description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF.
    properties:
      instantiation_level:
        type: string
        description: Identifier of the instantiation level of the VNF DF to be used for instantiation. If not present, the default instantiation level as declared in the VNFD shall be used.
        required: false
      min_number_of_instances:
        type: integer
        description: Minimum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.
        required: true
        constraints:
          - greater_or_equal: 0
      max_number_of_instances:
        type: integer
        description: Maximum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.
        required: true
        constraints:
          - greater_or_equal: 0
      service_availability_level:
        type: integer
        description: Specifies the service availability level for the VNF instance created from this profile.
        required: false
        constraints:
          - greater_or_equal: 1

  tosca.datatypes.nfv.Qos:
    derived_from: tosca.datatypes.Root
    description: describes QoS data for a given VL used in a VNF deployment flavour
    properties:
      latency:
        type: scalar-unit.time #Number
        description: Specifies the maximum latency
        required: true
        constraints:
          - greater_than: 0 s
      packet_delay_variation:
        type: scalar-unit.time #Number
        description: Specifies the maximum jitter
        required: true
        constraints:
          - greater_or_equal: 0 s
      packet_loss_ratio:
        type: float
        description: Specifies the maximum packet loss ratio
        required: false
        constraints:
          - in_range: [ 0.0, 1.0 ]

  tosca.datatypes.nfv.VnfMonitoringParameter:
    derived_from: tosca.datatypes.Root
    description: Represents information on virtualised resource related performance metrics applicable to the VNF.
    properties:
      name:
        type: string
        description: Human readable name of the monitoring parameter
        required: true
      performance_metric:
        type: string
        description: Identifies a performance metric to be monitored, according to ETSI GS NFV-IFA 027.
        required: true
        constraints:
          - valid_values: [ v_cpu_usage_mean_vnf, v_cpu_usage_peak_vnf, v_memory_usage_mean_vnf, v_memory_usage_peak_vnf, v_disk_usage_mean_vnf, v_disk_usage_peak_vnf, byte_incoming_vnf_ext_cp, byte_outgoing_vnf_ext_cp, packet_incoming_vnf_ext_cp, packet_outgoing_vnf_ext_cp ]
      collection_period:
        type: scalar-unit.time
        description: Describes the periodicity at which to collect the performance information.
        required: false
        constraints:
          - greater_than: 0 s

capability_types:
  tosca.capabilities.nfv.VirtualLinkable:
    derived_from: tosca.capabilities.Node
    description: A node type that includes the VirtualLinkable capability indicates that it can be pointed by tosca.relationships.nfv.VirtualLinksTo relationship type

relationship_types:
  tosca.relationships.nfv.VirtualLinksTo:
    derived_from: tosca.relationships.DependsOn
    description: Represents an association relationship between the VduCp and VnfVirtualLink node types or the association between either a VnfExtCp, a PnfExtCp or a Sap and an NsVirtualLink node types.
    valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]

  tosca.relationships.nfv.VipVirtualLinksTo:
    derived_from: tosca.relationships.DependsOn
    description: Represents an association relationship between the VipCp and a VnfVirtualLink node types or between the former and a NsVirtualLink node types.
    valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]

node_types:
  tosca.nodes.nfv.Cp:
    derived_from: tosca.nodes.Root
    description: Provides information regarding the purpose of the connection point
    properties:
      layer_protocols:
        type: list
        description: Identifies which protocol the connection point uses for connectivity purposes
        required: true
        entry_schema:
          type: string
          constraints:
            - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
      role: #Name in ETSI NFV IFA011: cpRole
        type: string
        description: Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS
        required: false
        constraints:
          - valid_values: [ root, leaf ]
      description:
        type: string
        description: Provides human-readable information on the purpose of the connection point
        required: false
      protocol:
        type: list
        description: Provides information on the addresses to be assigned to the connection point(s) instantiated from this Connection Point Descriptor
        required: false
        entry_schema:
          type: tosca.datatypes.nfv.CpProtocolData
      trunk_mode:
        type: boolean
        description: Provides information about whether the CP instantiated from this Cp is in Trunk mode (802.1Q or other), When operating in "trunk mode", the Cp is capable of carrying traffic for several VLANs. Absence of this property implies that trunkMode is not configured for the Cp i.e. It is equivalent to boolean value "false".
        required: false

policy_types:
  tosca.policies.nfv.Abstract.SecurityGroupRule:
    derived_from: tosca.policies.Root
    description: The Abstract.SecurityGroupRule type represents an abstract policy type without any target requirements
    properties:
      description:
        type: string
        description: Human readable description of the security group rule.
        required: false
      direction:
        type: string
        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.
        required: true
        constraints:
          - valid_values: [ ingress, egress ]
        default: ingress
      ether_type:
        type: string
        description: Indicates the protocol carried over the Ethernet layer.
        required: true
        constraints:
          - valid_values: [ ipv4, ipv6 ]
        default: ipv4
      protocol:
        type: string
        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.
        required: true
        constraints:
          - 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 ]
        default: tcp
      port_range_min:
        type: integer
        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.
        required: true
        constraints:
          - greater_or_equal: 0
          - less_or_equal: 65535
        default: 0
      port_range_max:
        type: integer
        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.
        required: true
        constraints:
          - greater_or_equal: 0
          - less_or_equal: 65535
        default: 65535