blob: 3a7e133710788b651ae4f096ba3b01750cc0ff29 [file] [log] [blame]
Scott Baker68217012015-08-10 17:06:23 -07001tosca_definitions_version: tosca_simple_yaml_1_0
2
3# Note: Tosca derived_from isn't working the way I think it should, it's not
4# inheriting from the parent template. Until we get that figured out, use
5# m4 macros do our inheritance
6
7
8
9
10
11# end m4 macros
12#
13# compile this with "m4 custom_types/xos.m4 > custom_types/xos.yaml"
14
15node_types:
16 tosca.nodes.Service:
17 derived_from: tosca.nodes.Root
18 capabilities:
19 scalable:
20 type: tosca.capabilities.Scalable
21 service:
22 type: tosca.capabilities.xos.Service
23 properties:
24 view_url:
25 type: string
26 required: false
Scott Baker5deb33d2015-08-10 17:08:54 -070027 icon_url:
28 type: string
29 required: false
Scott Baker68217012015-08-10 17:06:23 -070030
Scott Baker5deb33d2015-08-10 17:08:54 -070031 tosca.nodes.VCPEService:
Scott Baker68217012015-08-10 17:06:23 -070032 derived_from: tosca.nodes.Root
33 capabilities:
34 scalable:
35 type: tosca.capabilities.Scalable
36 service:
37 type: tosca.capabilities.xos.Service
38 properties:
39 view_url:
40 type: string
41 required: false
Scott Baker5deb33d2015-08-10 17:08:54 -070042 icon_url:
43 type: string
44 required: false
Scott Baker68217012015-08-10 17:06:23 -070045 backend_network_label:
46 type: string
47 required: false
48
Scott Baker5deb33d2015-08-10 17:08:54 -070049 tosca.nodes.VBNGService:
50 derived_from: tosca.nodes.Root
51 capabilities:
52 scalable:
53 type: tosca.capabilities.Scalable
54 service:
55 type: tosca.capabilities.xos.Service
56 properties:
57 view_url:
58 type: string
59 required: false
60 icon_url:
61 type: string
62 required: false
63 vbng_url:
64 type: string
65 required: false
66
67 tosca.nodes.CDNService:
68 derived_from: tosca.nodes.Root
69 capabilities:
70 scalable:
71 type: tosca.capabilities.Scalable
72 service:
73 type: tosca.capabilities.xos.Service
74 properties:
75 view_url:
76 type: string
77 required: false
78 icon_url:
79 type: string
80 required: false
81
Scott Baker68217012015-08-10 17:06:23 -070082 tosca.nodes.User:
83 derived_from: tosca.nodes.Root
84
85 capabilities:
86 user:
87 type: tosca.capabilities.xos.User
88
89 properties:
90 password:
91 type: string
92 required: true
93 firstname:
94 type: string
95 required: true
96 lastname:
97 type: string
98 required: true
99 phone:
100 type: string
101 required: false
102 user_url:
103 type: string
104 required: false
105 public_key:
106 type: string
107 required: false
108 is_active:
109 type: boolean
110 default: true
111 is_admin:
112 type: boolean
113 default: false
114 login_page:
115 type: string
116 required: false
117
118 tosca.nodes.NetworkTemplate:
119 derived_from: tosca.nodes.Root
120
121 capabilities:
122 network_template:
123 type: tosca.capabilities.xos.NetworkTemplate
124
125 properties:
126 visibility:
127 type: string
128 default: private
129 translation:
130 type: string
131 default: none
132 shared_network_name:
133 type: string
134 required: false
135 shared_network_id:
136 type: string
137 required: false
138 topology_kind:
139 type: string
140 default: BigSwitch
141 controller_kind:
142 type: string
143 required: false
144
Scott Baker2edd4f32015-08-14 12:41:18 -0700145 tosca.nodes.network.Network.XOS:
146 # Due to bug? in implementation, we have to copy everything from
147 # tosca definitions tosca.nodes.network.Network here rather than
148 # using derived_from.
149 derived_from: tosca.nodes.Root
150 description: >
151 The TOSCA Network node represents a simple, logical network service.
152 properties:
153 ip_version:
154 type: integer
155 required: no
156 default: 4
157 constraints:
158 - valid_values: [ 4, 6 ]
159 description: >
160 The IP version of the requested network. Valid values are 4 for ipv4
161 or 6 for ipv6.
162 cidr:
163 type: string
164 required: no
165 description: >
166 The cidr block of the requested network.
167 start_ip:
168 type: string
169 required: no
170 description: >
171 The IP address to be used as the start of a pool of addresses within
172 the full IP range derived from the cidr block.
173 end_ip:
174 type: string
175 required: no
176 description: >
177 The IP address to be used as the end of a pool of addresses within
178 the full IP range derived from the cidr block.
179 gateway_ip:
180 type: string
181 required: no
182 description: >
183 The gateway IP address.
184 network_name:
185 type: string
186 required: no
187 description: >
188 An identifier that represents an existing Network instance in the
189 underlying cloud infrastructure or can be used as the name of the
190 newly created network. If network_name is provided and no other
191 properties are provided (with exception of network_id), then an
192 existing network instance will be used. If network_name is provided
193 alongside with more properties then a new network with this name will
194 be created.
195 network_id:
196 type: string
197 required: no
198 description: >
199 An identifier that represents an existing Network instance in the
200 underlying cloud infrastructure. This property is mutually exclusive
201 with all other properties except network_name. This can be used alone
202 or together with network_name to identify an existing network.
203 segmentation_id:
204 type: string
205 required: no
206 description: >
207 A segmentation identifier in the underlying cloud infrastructure.
208 E.g. VLAN ID, GRE tunnel ID, etc..
209 dhcp_enabled:
210 type: boolean
211 required: no
212 default: true
213 description: >
214 Indicates should DHCP service be enabled on the network or not.
215 # XOS-specific
216 ports:
Scott Baker68217012015-08-10 17:06:23 -0700217 type: string
218 required: false
219 labels:
220 type: string
221 required: false
222 permit_all_slices:
223 type: boolean
Scott Baker2edd4f32015-08-14 12:41:18 -0700224 # In the data model, this is defaulted to false. However, to
225 # preserve Tosca semantics, we default it to true instead.
226 default: true
227 capabilities:
228 link:
229 type: tosca.capabilities.network.Linkable
230
231# tosca.nodes.XOSNetwork:
232# derived_from: tosca.nodes.Root
233#
234# capabilities:
235# network:
236# type: tosca.capabilities.xos.Network
237#
238# properties:
239# ports:
240# type: string
241# required: false
242# labels:
243# type: string
244# required: false
245# permit_all_slices:
246# type: boolean
247# default: false
248# permitted_slices:
249# type: string
250# required: false
Scott Baker68217012015-08-10 17:06:23 -0700251
252 tosca.nodes.Deployment:
253 derived_from: tosca.nodes.Root
254 capabilities:
255 deployment:
256 type: tosca.capabilities.xos.Deployment
257
258 tosca.nodes.Controller:
259 derived_from: tosca.nodes.Root
260 capabilities:
261 controller:
262 type: tosca.capabilities.xos.Controller
263 properties:
264 backend_type:
265 type: string
266 required: false
267 version:
268 type: string
269 required: false
270 auth_url:
271 type: string
272 required: false
273 admin_user:
274 type: string
275 required: false
276 admin_password:
277 type: string
278 required: false
279 admin_tenant:
280 type: string
281 required: false
282 domain:
283 type: string
284 required: false
285
286 tosca.nodes.Site:
287 derived_from: tosca.nodes.Root
288 capabilities:
289 site:
290 type: tosca.capabilities.xos.Site
291 properties:
292 display_name:
293 type: string
294 required: false
295 description: name of the site
296 site_url:
297 type: string
298 required: false
299 enabled:
300 type: boolean
301 default: true
302 hosts_nodes:
303 type: boolean
304 default: true
305 hosts_users:
306 type: boolean
307 default: true
308 is_public:
309 type: boolean
310 default: true
311 # location, longitude, latitude
312
313 tosca.nodes.Slice:
314 derived_from: tosca.nodes.Root
315 capability:
316 slice:
317 type: tosca.capabilities.xos.Slice
318
319 tosca.relationships.MemberOfSlice:
320 derived_from: tosca.relationships.Root
321 valid_target_types: [ tosca.capabilities.xos.Slice ]
322
323 tosca.relationships.MemberOfService:
324 derived_from: tosca.relationships.Root
325 valid_target_types: [ tosca.capabilities.xos.Service ]
326
327 tosca.relationships.MemberOfSite:
328 derived_from: tosca.relationships.Root
329 valid_target_types: [ tosca.capabilities.xos.Site ]
330
331 tosca.relationships.TenantOfService:
332 derived_from: tosca.relationships.Root
333 valid_target_types: [ tosca.capabilities.xos.Service ]
334
335 tosca.relationships.ControllerDeployment:
336 derived_from: tosca.relationships.Root
337 valid_target_types: [ tosca.capabilities.xos.Deployment ]
338
339 tosca.relationships SiteDeployment:
340 derived_from: tosca.relationships.Root
341 valid_target_types: [ tosca.capabilities.xos.Deployment ]
342
343 tosca.relationships.UsesController:
344 derived_from: tosca.relationships.Root
345 valid_target_types: [ tosca.capabilities.xos.Controller ]
346
347 tosca.relationships.ConnectsToNetwork:
348 derived_from: tosca.relationships.Root
349 valid_target_types: [ tosca.capabilities.xos.Network ]
350
351 # tosca.relationships.OwnsNetwork:
352 # derived_from: tosca.relationships.Root
353 # valid_target_types: [ tosca.capabilities.xos.Network ]
354
355 tosca.relationships.UsesNetworkTemplate:
356 derived_from: tosca.relationships.Root
357 valid_target_types: [ tosca.capabilities.xos.NetworkTemplate ]
358
359 tosca.relationships.AdminPrivilege:
360 derived_from: tosca.relationships.Root
361 valid_target_types: [ tosca.capabilities.xos.Slice, tosca.capabiltys.xos.Site ]
362
363 tosca.relationships.AccessPrivilege:
364 derived_from: tosca.relationships.Root
365 valid_target_types: [ tosca.capabilities.xos.Slice, tosca.capabiltys.xos.Site ]
366
367 tosca.relationships.PIPrivilege:
368 derived_from: tosca.relationships.Root
369 valid_target_types: [ tosca.capabiltys.xos.Site ]
370
371 tosca.relationships.TechPrivilege:
372 derived_from: tosca.relationships.Root
373 valid_target_types: [ tosca.capabiltys.xos.Site ]
374
375 tosca.capabilities.xos.Service:
376 derived_from: tosca.capabilities.Root
377 description: An XOS Service
378
379 tosca.capabilities.xos.Deployment:
380 derived_from: tosca.capabilities.Root
381 description: An XOS Deployment
382
383 tosca.capabilities.xos.Controller:
384 derived_from: tosca.capabilities.Root
385 description: An XOS Controller
386
387 tosca.capabilities.xos.Site:
388 derived_from: tosca.capabilities.Root
389 description: An XOS Site
390
391 tosca.capabilities.xos.Slice:
392 derived_from: tosca.capabilities.Root
393 description: An XOS Slice
394
395 tosca.capabilities.xos.NetworkTemplate:
396 derived_from: tosca.capabilities.Root
397 description: An XOS network template
398
Scott Baker2edd4f32015-08-14 12:41:18 -0700399# tosca.capabilities.xos.Network:
400# derived_from: tosca.capabilities.Root
401# description: An XOS network
Scott Baker68217012015-08-10 17:06:23 -0700402
403 tosca.capabilities.xos.User:
404 derived_from: tosca.capabilities.Root
405 description: An XOS user