4 description: This is the Lab as a Service API
8 email: nfvlab@iol.unh.edu
11 url: http://www.apache.org/licenses/LICENSE-2.0.html
12 host: virtserver.swaggerhub.com
13 basePath: /IOL-OPNFV-LaaS/Labs/1.0.0
16 description: Secured Admin-only calls
18 description: Operations available to regular developers
22 /api/labs/{lab-name}/jobs/new:
24 summary: list of new, unstarted jobs for the lab
26 List of jobs for <lab-name> to start. These jobs all must have a status of `new`,
27 meaning they are unstarted.
37 description: search results matching criteria
41 $ref: '#/definitions/Job'
42 /api/labs/{lab-name}/jobs/current:
44 summary: list of unfinished jobs
46 List of jobs for <lab-name> that are still in progress. A job is in progress if
47 it has been started but has not finished.
57 description: search results matching criteria
61 $ref: '#/definitions/Job'
62 /api/labs/{lab-name}/jobs/done:
64 summary: list of done jobs
66 List of jobs for <lab-name> that were started and are no longer in progress.
67 A job can be marked 'done' with a succesful or error status.
77 description: search results matching criteria
81 $ref: '#/definitions/Job'
82 /api/labs/{lab-name}/jobs/{job_id}/{task_id}>:
84 summary: update job information
102 description: payload, schema based on job type
105 $ref: '#/definitions/JobUpdate'
109 /api/labs/{lab-name}/inventory:
111 summary: lab inventory
121 description: lab inventory
123 $ref: '#/definitions/Inventory'
125 summary: updates lab inventory
135 $ref: '#/definitions/Inventory'
139 /api/labs/{lab-name}/profile:
151 description: lab profile
153 $ref: '#/definitions/Profile'
155 summary: updates lab profile
165 $ref: '#/definitions/Profile'
174 example: 00:11:22:33:44:55
175 description: mac address
178 example: 0000:02:00.1
179 description: bus address reported by `ethtool -i <ifname>`
181 $ref: '#/definitions/Switchport'
187 description: speed in M or G
191 description: interface name
197 description: size in M, G, or T
201 description: must be SSD or HDD
205 description: name of root block device
212 description: how many CPU cores the host has (across all physical cpus)
217 description: must be x86_64 or aarch64
221 description: Number of different physical CPU chips
231 description: identifier provided by lab
234 description: identifier provided by dashboard
240 $ref: '#/definitions/Host_Interface'
243 example: hpe3.opnfv.iol.unh.edu
244 description: globally unique fqdn
247 description: name of host type this host belongs to
252 example: 174.0.5.0/24
253 description: subnet description
257 description: ip of gateway
261 description: vlan tag of this network
266 description: all hosts
268 $ref: '#/definitions/Inventory_Host'
271 description: all networks
273 $ref: '#/definitions/Inventory_Network'
276 description: available images
278 $ref: '#/definitions/Image'
281 description: all host types hosted by a lab
283 $ref: '#/definitions/Host_Type'
287 $ref: '#/definitions/CPU'
291 $ref: '#/definitions/Generic_Disk'
294 description: human readable description of host type
298 $ref: '#/definitions/Generic_Interface'
300 $ref: '#/definitions/Ram'
303 description: lab-unique name
309 description: amount of ram in Gibibytes (GiB)
315 description: name of switch owning this switchport
318 example: Ethernet1/34
319 description: name of port on switch
322 description: list of vlans that may not be modified on this port
324 $ref: '#/definitions/Vlan'
327 description: list of current vlan configuration
329 $ref: '#/definitions/Vlan'
341 description: whether this vlan is tagged or untagged
346 description: globally unique job identifier
348 $ref: '#/definitions/JobPayload'
352 $ref: '#/definitions/HardwareTask'
354 $ref: '#/definitions/SoftwareTask'
356 $ref: '#/definitions/NetworkTask'
358 $ref: '#/definitions/AccessTask'
360 $ref: '#/definitions/SnapshotTask'
364 $ref: '#/definitions/HardwareConfig'
368 $ref: '#/definitions/SoftwarePayload'
372 $ref: '#/definitions/NetworkPayload'
376 $ref: '#/definitions/AccessPayload'
380 $ref: '#/definitions/SnapshotPayload'
386 description: how the lab identifies the host
390 description: lab id of existing image, if updating an existing image. if this key does not exist, the lab must create a new image
393 description: how the dashboard identifies this image / snapshot
398 description: whether to revoke key during completion of job
401 description: PK/ID of user access is being given to
405 description: type of access key to be generated. Options include "vpn and ssh"
408 description: hosts to grant access to if applicable
411 description: id of host
414 description: identifier provided by lab to this task
419 description: ID of host
423 description: lab provided ID of the request image
427 description: desired power state, either on or off
430 example: my_new_machine
431 description: user-defined hostname
434 description: whether or not to create an ipmi account
437 description: identifier provided by lab to this task
441 $ref: '#/definitions/OpnfvConfiguration'
444 description: identifier provided by lab to this task
450 description: maps hostname to OPNFV role
455 description: Installer user wants
458 description: scenario of OPNFV to deploy
461 example: LaaS.com/api/my_job/pdf
462 description: URL to find the Pod Descriptor File contents
465 example: LaaS.com/api/my_job/idf
466 description: URL to find the Installer Descriptor File contents
469 description: role the host will play in OPNFV
471 $ref: '#/definitions/OpnfvHost'
475 $ref: '#/definitions/NetworkConfig'
478 description: identifier provided by lab to this task
483 description: list of vlans on this interface
485 $ref: '#/definitions/Vlan'
490 description: status type, see status enum
493 description: message from lab for user
496 description: identifier provided by lab to this task
501 description: proper expanded lab name
503 $ref: '#/definitions/Contact'
509 $ref: '#/definitions/Host_Number'
520 description: phone number at which a lab can be reached
523 description: email at which a lab can be reached