summaryrefslogtreecommitdiffstats
path: root/refspec/open-o/nfv-nsd/TOSCA_definition_nfv_ns_1_0.yaml
blob: 23f2f93a5984c5e3b1a1abaf4c78e5c96e4ece96 (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
#
# Copyright 2017 ZTE Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

tosca_definitions_version: tosca_simple_yaml_1_0

description: Definitions file for all type of tosca-nfv specification.

node_types:
  tosca.nodes.nfv.VNF:
    derived_from: tosca.nodes.Root
    properties:
      id:
        type: string
        description: ID of this VNF
        required: true
        constraints:
          - min_length: 1
      vendor:
        type: string
        description: name of the vendor who generate this VNF
        required: true
      version:
         type: version
         description: version of the software for this VNF
         required: true
    requirements:
      - virtualLink:
          capability: tosca.capabilities.nfv.VirtualLinkable
          node: tosca.nodes.nfv.VL
          relationship: tosca.relationships.nfv.VirtualLinksTo

  tosca.nodes.nfv.CP:
    derived_from: tosca.nodes.network.Port
    properties:
      type:
        type: string
        description: >
          This may be, for example, a virtual port, a virtual NIC address, a physical port,
          a physical NIC address or the endpoint of an IP VPN enabling network connectivity.
        required: false
      anti_spoof_protection:
        type: boolean
        description: >
          Indicates of whether anti-spoofing rule need to be enabled for this vNIC. This is applicable only
          when CP type is virtual NIC (vPort).
        required: false
    attributes:
      address:
        type: string
        description: The actual virtual NIC address that is been assigned when instantiating the connection point.
    requirements:
      - virtualLink:
          capability: tosca.capabilities.nfv.VirtualLinkable
          node: tosca.nodes.nfv.VL
          relationship: tosca.relationships.nfv.VirtualLinksTo
      - virtualbinding:
          capability: tosca.capabilities.nfv.VirtualBindable
          node: tosca.nodes.nfv.VDU
          relationship: tosca.relationships.nfv.VirtualBindsTo

  tosca.nodes.nfv.VL:
    derived_from: tosca.nodes.network.Network
    properties:
      vendor:
        type: string
        description: name of the vendor who generate this VL
        required: false
    capabilities:
      virtual_linkable:
        type: tosca.capabilities.nfv.VirtualLinkable

  tosca.nodes.nfv.VL.ELine:
    derived_from: tosca.nodes.nfv.VL
    #capabilities:
    #  virtual_linkable:
    #    type: tosca.capabilities.nfv.VirtualLinkable
    #    occurrences: [ 2, 2 ]

  tosca.nodes.nfv.VL.ELAN:
    derived_from: tosca.nodes.nfv.VL

  tosca.nodes.nfv.VL.ETree:
    derived_from: tosca.nodes.nfv.VL

  tosca.nodes.nfv.FP:
    derived_from: tosca.nodes.Root
    properties:
      policy:
        type: string
        required: false
        description: A policy or rule to apply to the NFP
    requirements:
      - forwarder:
          capability: tosca.capabilities.nfv.Forwarder
          node: tosca.nodes.nfv.CP
          relationship: tosca.relationships.nfv.ForwardsTo

capability_types:

  tosca.capabilities.nfv.VirtualLinkable:
    derived_from: tosca.capabilities.Root

  tosca.capabilities.nfv.VirtualBindable:
    derived_from: tosca.capabilities.Root

  tosca.capabilities.nfv.Metric:
    derived_from: tosca.capabilities.Endpoint

  tosca.capabilities.nfv.Forwarder:
    derived_from: tosca.capabilities.Root

relationship_types:
  tosca.relationships.nfv.VirtualBindsTo:
    derived_from: tosca.relationships.DependsOn
    valid_target_types: [ tosca.capabilities.nfv.VirtualBindable ]

  tosca.relationships.nfv.VirtualLinksTo:
    derived_from: tosca.relationships.DependsOn
    valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]

  tosca.relationships.nfv.Monitor:
    derived_from: tosca.relationships.ConnectsTo
    valid_target_types: [ tosca.capabilities.nfv.Metric ]

  tosca.relationships.nfv.ForwardsTo:
    derived_from: tosca.relationships.Root
    valid_target_types: [ tosca.capabilities.nfv.Forwarder ]

group_types:
  tosca.groups.nfv.VNFFG:
    derived_from: tosca.groups.Root
    properties:
      vendor:
        type: string
        required: true
        description: name of the vendor who generate this VNFFG
      version:
        type: string
        required: true
        description: version of this VNFFG
      number_of_endpoints:
        type: integer
        required: true
        description: count of the external endpoints included in this VNFFG
      dependent_virtual_link:
        type: list
        entry_schema:
          type: string
        required: true
        description: Reference to a VLD used in this Forwarding Graph
      connection_point:
        type: list
        entry_schema:
          type: string
        required: true
        description: Reference to Connection Points forming the VNFFG
      constituent_vnfs:
        type: list
        entry_schema:
          type: string
        required: true
        description: Reference to a list of VNFD used in this VNF Forwarding Graph
    members: [ tosca.nodes.nfv.FP ]