Merge "JIRA:PARSER-17 Clean up documentation setup" into stable/brahmaputra
[parser.git] / docs / tosca2heat / examples / Simple_RNC_definition.yaml
1 # Required TOSCA Definitions version string
2 tosca_definitions_version: tosca_simple_yaml_1_0
3
4 metadata:
5   template_name: tosca_simple_profile_for_nfv
6   template_author: opnfv_parser_project
7   template_version: tosca_simple_profile_for_nfv_1_0
8
9 # Optional description of the definitions inside the file.
10 description: >
11   NFV TOSCA simple profile for RNC types
12     1, Compute Node MM, CM, DM, LB...
13        1.1 MM: MaintainModule;
14        1.2 CM: Control Module;
15        1.3 DM: Data Module;
16        1.4 LB: LineCard Module
17     2, Network Node VL and CP
18
19 imports:
20   - TOSCA_nfv_definition_1_0.yaml
21
22 # list of node type definitions
23 node_types:
24   rnc.nodes.VNF:
25     derived_from: tosca.nodes.nfv.VNF
26     properties:
27       vnftype:
28         type: string
29         description: type of the vnf
30         default:  UMTS
31         required: false
32         constraints:
33           - valid_values: [ TD, UMTS ]
34     requirements:
35       - virtualLink_VNFM:
36           capability: tosca.capabilities.nfv.VirtualLinkable
37       - virtualLink_EMS:
38           capability: tosca.capabilities.nfv.VirtualLinkable
39       - virtualLink_TRAFFIC:
40           capability: tosca.capabilities.nfv.VirtualLinkable
41           
42   rnc.nodes.compute.MM:
43     derived_from: tosca.nodes.nfv.VDU
44     properties:
45       activestatus:
46         type: integer
47         description: active or passive
48         constraints:
49             # 1 active, 0 passive
50             - valid_values: [ 0, 1 ]
51       id:
52         type: string
53         defaule: MM
54         description: >
55           A identifier of this VDU within the scope of the VNFD,
56           including version functional description and other
57           identification information.
58     requirements:
59       - host:
60           capability: tosca.capabilities.Container
61           node: rnc.nodes.compute.MM_Host
62           relationship: tosca.relationships.HostedOn
63           
64   rnc.nodes.compute.MM_Host:
65     derived_from: tosca.nodes.Compute
66     capabilities:
67       binding:
68          type: tosca.capabilities.network.Bindable
69       os:
70          type: tosca.capabilities.OperatingSystem
71       scalable:
72          type: tosca.capabilities.Scalable
73       host:
74         type: rnc.capabilities.Container
75         valid_source_types: [ tosca.nodes.SoftwareComponent ]
76       storage:
77         type: tosca.capabilities.nfv.Storage
78         valid_source_types: [ tosca.nodes.SoftwareComponent ]
79     attributes:
80       ip_address:
81         type: string
82
83   rnc.nodes.compute.CM:
84     derived_from: tosca.nodes.nfv.VDU
85     properties:
86       activestatus:
87         type: integer
88         description: 1 for active or 0 for passive
89         constraints:
90            # 1 active, 0 passive
91            - valid_values: [ 0, 1 ]
92     requirements:
93       - host:
94           capability: tosca.capabilities.Container
95           node: rnc.nodes.compute.CM_Host
96           relationship: tosca.relationships.HostedOn
97           
98   rnc.nodes.compute.CM_Host:
99     derived_from: tosca.nodes.Compute
100     capabilities:
101       binding:
102          type: tosca.capabilities.network.Bindable
103       os:
104          type: tosca.capabilities.OperatingSystem
105       scalable:
106          type: tosca.capabilities.Scalable
107       host:
108         type: rnc.capabilities.Container
109         valid_source_types: [ tosca.nodes.SoftwareComponent ]
110       cpu_extension:
111         type: tosca.capabilities.nfv.CPU_extension
112         valid_source_types: [ tosca.nodes.SoftwareComponent ]
113       memory_extension:
114         type: tosca.capabilities.nfv.Memory_extension
115         valid_source_types: [ tosca.nodes.SoftwareComponent ]
116       hypervisors:
117         type: tosca.capabilities.nfv.Hypervisors
118         valid_source_types: [ tosca.nodes.SoftwareComponent ]
119       PCIe:
120         type: tosca.capabilities.nfv.PCIe
121         valid_source_types: [ tosca.nodes.SoftwareComponent ]
122       interfaces:
123         type: tosca.capabilities.nfv.network.Interfaces
124         valid_source_types: [ tosca.nodes.SoftwareComponent ]
125       virtual_switches:
126         type: tosca.capabilities.nfv.network.Virtual_switches
127         valid_source_types: [ tosca.nodes.SoftwareComponent ]
128     attributes:
129       ip_address:
130         type: string
131
132   rnc.nodes.compute.DM:
133     derived_from: tosca.nodes.nfv.VDU
134     requirements:
135       - host:
136           capability: tosca.capabilities.Container
137           node: rnc.nodes.compute.DM_Host
138           relationship: tosca.relationships.HostedOn
139
140   rnc.nodes.compute.DM_Host:
141     derived_from: tosca.nodes.Compute
142     capabilities:
143       binding:
144          type: tosca.capabilities.network.Bindable
145       os:
146          type: tosca.capabilities.OperatingSystem
147       scalable:
148          type: tosca.capabilities.Scalable
149       host:
150         type: rnc.capabilities.Container
151         valid_source_types: [ tosca.nodes.SoftwareComponent ]
152       cpu_extension:
153         type: tosca.capabilities.nfv.CPU_extension
154         valid_source_types: [ tosca.nodes.SoftwareComponent ]
155       memory_extension:
156         type: tosca.capabilities.nfv.Memory_extension
157         valid_source_types: [ tosca.nodes.SoftwareComponent ]
158       hypervisors:
159         type: tosca.capabilities.nfv.Hypervisors
160         valid_source_types: [ tosca.nodes.SoftwareComponent ]
161       PCIe:
162         type: tosca.capabilities.nfv.PCIe
163         valid_source_types: [ tosca.nodes.SoftwareComponent ]
164       interfaces:
165         type: tosca.capabilities.nfv.network.Interfaces
166         valid_source_types: [ tosca.nodes.SoftwareComponent ]
167       virtual_switches:
168         type: tosca.capabilities.nfv.network.Virtual_switches
169         valid_source_types: [ tosca.nodes.SoftwareComponent ]
170     attributes:
171       ip_address:
172         type: string
173
174   rnc.nodes.compute.LB:
175     derived_from: tosca.nodes.nfv.VDU
176     requirements:
177       - host:
178           capability: tosca.capabilities.Container
179           node: rnc.nodes.compute.LB_Host
180           relationship: tosca.relationships.HostedOn
181
182   rnc.nodes.compute.LB_Host:
183     derived_from: tosca.nodes.Compute
184     capabilities:
185       binding:
186          type: tosca.capabilities.network.Bindable
187       os:
188          type: tosca.capabilities.OperatingSystem
189       scalable:
190          type: tosca.capabilities.Scalable
191       host:
192         type: rnc.capabilities.Container
193         valid_source_types: [ tosca.nodes.SoftwareComponent ]
194       interfaces:
195         type: tosca.capabilities.nfv.network.Interfaces
196         valid_source_types: [ tosca.nodes.SoftwareComponent ]
197       virtual_switches:
198         type: tosca.capabilities.nfv.network.Virtual_switches
199         valid_source_types: [ tosca.nodes.SoftwareComponent ]
200     attributes:
201       ip_address:
202         type: string
203
204   rnc.nodes.BlockStorage:
205     derived_from: tosca.nodes.BlockStorage
206
207   rnc.nodes.VL:
208     derived_from: tosca.nodes.nfv.VL.ELAN
209     properties:
210       ip_version:
211         type: integer
212         required: false
213         default: 4
214         constraints:
215             - valid_values: [ 4, 6 ]
216       cidr:
217         type: string
218         required: false
219       network_name:
220         type: string
221         required: false
222       dhcp_enabled:
223         type: boolean
224         required: false
225         default: true
226         description: >
227           Indicates should DHCP service be enabled on the network or not.
228
229   rnc.nodes.CP:
230     derived_from: tosca.nodes.nfv.CP
231     properties:
232       ip_address:
233         type: string
234         required: false
235       order:
236         type: integer
237         required: true
238         default: 0
239         constraints:
240           - greater_or_equal: 0
241       is_default:
242         type: boolean
243         required: false
244         default: false
245
246 # list of capability type definitions
247 capability_types:
248   rnc.capabilities.Container:
249     derived_from: tosca.capabilities.Container
250     properties:
251       swap:
252         type: scalar-unit.size
253         description: swap info
254         required: false
255         default: 0
256         constraints:
257             - greater_or_equal: 0 MB
258       iops:
259         type: integer
260         description: IOPS for disk
261         required: false
262         default: 0
263         constraints:
264           - greater_than: 0