Skip to content

Commit 71f45d0

Browse files
authored
Update README.adoc for oxapi_demo (#398)
Added to the README for the ocapi_demo example to include the new organization layer.
1 parent e332d52 commit 71f45d0

File tree

1 file changed

+132
-102
lines changed

1 file changed

+132
-102
lines changed

README.adoc

Lines changed: 132 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -231,201 +231,231 @@ Here's a small demo that creates a project, creates an instance, and attaches a
231231
----
232232
$ ./tools/oxapi_demo
233233
oxapi_demo: command not specified
234+
usage: oxapi_demo [-A] [cmd] [args]
235+
236+
GENERAL OPTIONS
237+
238+
-A do not attempt to authenticate
239+
(default behavior: use "spoof" authentication for endpoints
240+
that require it)
241+
242+
ORGANIZATIONS
243+
244+
organizations_list
245+
organization_create_demo ORGANIZATION_NAME
246+
organization_delete ORGANIZATION_NAME
247+
organization_get ORGANIZATION_NAME
234248
235249
PROJECTS
236250
237-
projects_list
238-
project_create_demo PROJECT_NAME
239-
project_delete PROJECT_NAME
240-
project_get PROJECT_NAME
241-
project_list_instances PROJECT_NAME
242-
project_list_disks PROJECT_NAME
251+
projects_list ORGANIZATION_NAME
252+
project_create_demo ORGANIZATION_NAME PROJECT_NAME
253+
project_delete ORGANIZATION_NAME PROJECT_NAME
254+
project_get ORGANIZATION_NAME PROJECT_NAME
255+
project_list_instances ORGANIZATION_NAME PROJECT_NAME
256+
project_list_disks ORGANIZATION_NAME PROJECT_NAME
257+
project_list_vpcs ORGANIZATION_NAME PROJECT_NAME
243258
244259
INSTANCES
245260
246-
instance_create_demo PROJECT_NAME INSTANCE_NAME
247-
instance_get PROJECT_NAME INSTANCE_NAME
248-
instance_delete PROJECT_NAME INSTANCE_NAME
261+
instance_create_demo ORGANIZATION_NAME PROJECT_NAME INSTANCE_NAME
262+
instance_get ORGANIZATION_NAME PROJECT_NAME INSTANCE_NAME
263+
instance_delete ORGANIZATION_NAME PROJECT_NAME INSTANCE_NAME
249264
250-
instance_stop PROJECT_NAME INSTANCE_NAME
251-
instance_start PROJECT_NAME INSTANCE_NAME
252-
instance_reboot PROJECT_NAME INSTANCE_NAME
265+
instance_stop ORGANIZATION_NAME PROJECT_NAME INSTANCE_NAME
266+
instance_start ORGANIZATION_NAME PROJECT_NAME INSTANCE_NAME
267+
instance_reboot ORGANIZATION_NAME PROJECT_NAME INSTANCE_NAME
253268
254-
instance_attach_disk PROJECT_NAME INSTANCE_NAME DISK_NAME
255-
instance_detach_disk PROJECT_NAME INSTANCE_NAME DISK_NAME
256-
instance_list_disks PROJECT_NAME INSTANCE_NAME
257-
instance_get_disk PROJECT_NAME INSTANCE_NAME DISK_NAME
269+
instance_attach_disk ORGANIZATION_NAME PROJECT_NAME INSTANCE_NAME DISK_NAME
270+
instance_detach_disk ORGANIZATION_NAME PROJECT_NAME INSTANCE_NAME DISK_NAME
271+
instance_list_disks ORGANIZATION_NAME PROJECT_NAME INSTANCE_NAME
272+
instance_get_disk ORGANIZATION_NAME PROJECT_NAME INSTANCE_NAME DISK_NAME
258273
259274
DISKS
260275
261-
disk_create_demo PROJECT_NAME DISK_NAME
262-
disk_get PROJECT_NAME DISK_NAME
276+
disk_create_demo ORGANIZATION_NAME PROJECT_NAME DISK_NAME
277+
disk_get ORGANIZATION_NAME PROJECT_NAME DISK_NAME
278+
disk_delete ORGANIZATION_NAME PROJECT_NAME DISK_NAME
279+
280+
VPCS
281+
282+
vpc_create_demo ORGANIZATION_NAME PROJECT_NAME VPC_NAME DNS_NAME
283+
vpc_get ORGANIZATION_NAME PROJECT_NAME VPC_NAME
284+
vpc_delete ORGANIZATION_NAME PROJECT_NAME VPC_NAME
263285
264286
HARDWARE
265287
266288
racks_list
267289
rack_get RACK_ID
268290
269291
sleds_list
270-
sled_get SERVER_ID
292+
sled_get SLED_ID
293+
$ ./tools/oxapi_demo organization_create_demo myorg
294+
++ curl -sSi http://127.0.0.1:12220/organizations -X POST -T - -H 'oxide-authn-spoof: 001de000-05e4-0000-0000-000000004007'
295+
++ json -ga
296+
HTTP/1.1 100 Continue
271297
298+
HTTP/1.1 201 Created
299+
content-type: application/json
300+
x-request-id: 60ffbc0b-212a-4ffd-84f0-39aeb4b3b772
301+
content-length: 194
302+
date: Wed, 17 Nov 2021 01:43:52 GMT
272303
273-
$ ./tools/oxapi_demo project_create_demo myproject
274-
++ curl -sSi http://127.0.0.1:12220/projects -X POST -T -
304+
{
305+
"id": "dbaf046f-1c05-4b6a-a749-5111a8cd9aa1",
306+
"name": "myorg",
307+
"description": "an organization called myorg",
308+
"timeCreated": "2021-11-17T01:43:52.322629Z",
309+
"timeModified": "2021-11-17T01:43:52.322629Z"
310+
}
311+
$ ./tools/oxapi_demo project_create_demo myorg myproject
312+
++ curl -sSi http://127.0.0.1:12220/organizations/myorg/projects -X POST -T -
275313
++ json -ga
276314
HTTP/1.1 100 Continue
277315
278316
HTTP/1.1 201 Created
279317
content-type: application/json
280-
x-request-id: 6e357d79-dc11-4418-8f9d-3c50fce13027
281-
content-length: 196
282-
date: Wed, 27 May 2020 00:45:03 GMT
318+
x-request-id: bea0ba10-2916-473c-b3e4-461984b85c6b
319+
content-length: 252
320+
date: Wed, 17 Nov 2021 01:44:01 GMT
283321
284322
{
285-
"id": "9c159daa-fdd1-402b-bc98-e1bebaeb578c",
323+
"id": "c197b9d2-285c-4e9f-9461-1815ef093c8d",
286324
"name": "myproject",
287325
"description": "a project called myproject",
288-
"timeCreated": "2020-05-27T00:45:03.563996Z",
289-
"timeModified": "2020-05-27T00:45:03.563996Z"
326+
"timeCreated": "2021-11-17T01:44:01.933615Z",
327+
"timeModified": "2021-11-17T01:44:01.933615Z",
328+
"organizationId": "dbaf046f-1c05-4b6a-a749-5111a8cd9aa1"
290329
}
291-
292-
293-
$ ./tools/oxapi_demo instance_create_demo myproject myinstance
294-
++ curl -sSi http://127.0.0.1:12220/projects/myproject/instances -X POST -T -
330+
$ ./tools/oxapi_demo instance_create_demo myorg myproject myinstance
331+
++ curl -sSi http://127.0.0.1:12220/organizations/myorg/projects/myproject/instances -X POST -T -
295332
++ json -ga
296333
HTTP/1.1 100 Continue
297334
298335
HTTP/1.1 201 Created
299336
content-type: application/json
300-
x-request-id: ec65473d-7c0f-462d-a0cb-2e35fabb6533
301-
content-length: 388
302-
date: Wed, 27 May 2020 00:45:24 GMT
337+
x-request-id: 3d07dfa2-efda-4085-ac9f-9e6bd3040997
338+
content-length: 377
339+
date: Wed, 17 Nov 2021 01:45:07 GMT
303340
304341
{
305-
"id": "d58039dc-4ed3-44de-a5d4-cd4696246799",
342+
"id": "99ad2514-050c-4493-9cb9-d9ceba980a98",
306343
"name": "myinstance",
307344
"description": "an instance called myinstance",
308-
"timeCreated": "2020-05-27T00:45:24.784729Z",
309-
"timeModified": "2020-05-27T00:45:24.784729Z",
310-
"projectId": "9c159daa-fdd1-402b-bc98-e1bebaeb578c",
345+
"timeCreated": "2021-11-17T01:45:07.606749Z",
346+
"timeModified": "2021-11-17T01:45:07.606749Z",
347+
"projectId": "c197b9d2-285c-4e9f-9461-1815ef093c8d",
311348
"ncpus": 1,
312-
"memory": 256,
313-
"bootDiskSize": 1,
349+
"memory": 268435456,
314350
"hostname": "myproject",
315351
"runState": "starting",
316-
"timeRunStateUpdated": "2020-05-27T00:45:24.785445Z"
352+
"timeRunStateUpdated": "2021-11-17T01:45:07.618960Z"
317353
}
318-
319-
320-
$ ./tools/oxapi_demo instance_get myproject myinstance
321-
++ curl -sSi http://127.0.0.1:12220/projects/myproject/instances/myinstance
354+
$ ./tools/oxapi_demo instance_get myorg myproject myinstance
355+
++ curl -sSi http://127.0.0.1:12220/organizations/myorg/projects/myproject/instances/myinstance
322356
++ json -ga
323357
HTTP/1.1 200 OK
324358
content-type: application/json
325-
x-request-id: c228154b-ddd1-4758-b51c-e5c0547727ba
326-
content-length: 387
327-
date: Wed, 27 May 2020 00:45:42 GMT
359+
x-request-id: 5870f965-06a8-41fc-967f-9021ec640ad4
360+
content-length: 376
361+
date: Wed, 17 Nov 2021 01:46:41 GMT
328362
329363
{
330-
"id": "d58039dc-4ed3-44de-a5d4-cd4696246799",
364+
"id": "99ad2514-050c-4493-9cb9-d9ceba980a98",
331365
"name": "myinstance",
332366
"description": "an instance called myinstance",
333-
"timeCreated": "2020-05-27T00:45:24.784729Z",
334-
"timeModified": "2020-05-27T00:45:24.784729Z",
335-
"projectId": "9c159daa-fdd1-402b-bc98-e1bebaeb578c",
367+
"timeCreated": "2021-11-17T01:45:07.606749Z",
368+
"timeModified": "2021-11-17T01:45:07.606749Z",
369+
"projectId": "c197b9d2-285c-4e9f-9461-1815ef093c8d",
336370
"ncpus": 1,
337-
"memory": 256,
338-
"bootDiskSize": 1,
371+
"memory": 268435456,
339372
"hostname": "myproject",
340373
"runState": "running",
341-
"timeRunStateUpdated": "2020-05-27T00:45:26.291810Z"
374+
"timeRunStateUpdated": "2021-11-17T01:45:09.120652Z"
342375
}
343-
344-
345-
$ ./tools/oxapi_demo disk_create_demo myproject mydisk
346-
++ curl -sSi http://127.0.0.1:12220/projects/myproject/disks -X POST -T -
376+
$ ./tools/oxapi_demo disk_create_demo myorg myproject mydisk
377+
++ curl -sSi http://127.0.0.1:12220/organizations/myorg/projects/myproject/disks -X POST -T -
347378
++ json -ga
348379
HTTP/1.1 100 Continue
349380
350381
HTTP/1.1 201 Created
351382
content-type: application/json
352-
x-request-id: e004d88f-d8cc-4721-8000-583b504a5372
353-
content-length: 314
354-
date: Wed, 27 May 2020 00:45:34 GMT
383+
x-request-id: f6073b9d-4b07-4eba-b8cf-55d8158785eb
384+
content-length: 324
385+
date: Wed, 17 Nov 2021 01:47:36 GMT
355386
356387
{
357-
"id": "bb225f2a-bba3-4d5c-9161-117b8a5b678d",
388+
"id": "551bbe67-3640-41c9-b968-249a136e5e31",
358389
"name": "mydisk",
359390
"description": "a disk called mydisk",
360-
"timeCreated": "2020-05-27T00:45:34.119234Z",
361-
"timeModified": "2020-05-27T00:45:34.119234Z",
362-
"projectId": "9c159daa-fdd1-402b-bc98-e1bebaeb578c",
391+
"timeCreated": "2021-11-17T01:47:36.524136Z",
392+
"timeModified": "2021-11-17T01:47:36.524136Z",
393+
"projectId": "c197b9d2-285c-4e9f-9461-1815ef093c8d",
363394
"snapshotId": null,
364395
"size": 1024,
365-
"state": "creating",
396+
"state": {
397+
"state": "creating"
398+
},
366399
"devicePath": "/mnt/mydisk"
367400
}
368-
369-
370-
$ ./tools/oxapi_demo disk_get myproject mydisk
371-
++ curl -sSi http://127.0.0.1:12220/projects/myproject/disks/mydisk
401+
$ ./tools/oxapi_demo disk_get myorg myproject mydisk
402+
++ curl -sSi http://127.0.0.1:12220/organizations/myorg/projects/myproject/disks/mydisk
372403
++ json -ga
373404
HTTP/1.1 200 OK
374405
content-type: application/json
375-
x-request-id: 09608040-f645-4f1e-941f-2f4629cdedd0
376-
content-length: 314
377-
date: Wed, 27 May 2020 00:45:50 GMT
406+
x-request-id: bd1083a8-67f2-407a-8d33-068906e9f2f1
407+
content-length: 324
408+
date: Wed, 17 Nov 2021 01:48:17 GMT
378409
379410
{
380-
"id": "bb225f2a-bba3-4d5c-9161-117b8a5b678d",
411+
"id": "551bbe67-3640-41c9-b968-249a136e5e31",
381412
"name": "mydisk",
382413
"description": "a disk called mydisk",
383-
"timeCreated": "2020-05-27T00:45:34.119234Z",
384-
"timeModified": "2020-05-27T00:45:34.119234Z",
385-
"projectId": "9c159daa-fdd1-402b-bc98-e1bebaeb578c",
414+
"timeCreated": "2021-11-17T01:47:36.524136Z",
415+
"timeModified": "2021-11-17T01:47:36.524136Z",
416+
"projectId": "c197b9d2-285c-4e9f-9461-1815ef093c8d",
386417
"snapshotId": null,
387418
"size": 1024,
388-
"state": "detached",
419+
"state": {
420+
"state": "detached"
421+
},
389422
"devicePath": "/mnt/mydisk"
390423
}
391-
392-
393-
$ ./tools/oxapi_demo instance_attach_disk myproject myinstance mydisk
394-
++ curl -sSi http://127.0.0.1:12220/projects/myproject/instances/myinstance/disks/mydisk -X PUT -T /dev/null
424+
$ ./tools/oxapi_demo instance_attach_disk myorg myproject myinstance mydisk
425+
++ curl -sSi http://127.0.0.1:12220/organizations/myorg/projects/myproject/instances/myinstance/disks
426+
/mydisk -X PUT -T /dev/null
395427
++ json -ga
396428
HTTP/1.1 201 Created
397429
content-type: application/json
398-
x-request-id: 933cecce-d356-4cd4-b1b2-728cecf29a45
399-
content-length: 214
400-
date: Wed, 27 May 2020 00:46:04 GMT
430+
x-request-id: da298038-28fc-4eb2-a283-4182859d6f33
431+
content-length: 205
432+
date: Wed, 17 Nov 2021 01:48:41 GMT
401433
402434
{
403-
"instanceName": "myinstance",
404-
"instanceId": "d58039dc-4ed3-44de-a5d4-cd4696246799",
435+
"instanceId": "99ad2514-050c-4493-9cb9-d9ceba980a98",
436+
"diskId": "551bbe67-3640-41c9-b968-249a136e5e31",
405437
"diskName": "mydisk",
406-
"diskId": "bb225f2a-bba3-4d5c-9161-117b8a5b678d",
407438
"diskState": {
408-
"attaching": "d58039dc-4ed3-44de-a5d4-cd4696246799"
439+
"state": "attaching",
440+
"instance": "99ad2514-050c-4493-9cb9-d9ceba980a98"
409441
}
410442
}
411-
412-
413-
$ ./tools/oxapi_demo instance_list_disks myproject myinstance
414-
++ curl -sSi http://127.0.0.1:12220/projects/myproject/instances/myinstance/disks
443+
$ ./tools/oxapi_demo instance_list_disks myorg myproject myinstance
444+
++ curl -sSi http://127.0.0.1:12220/organizations/myorg/projects/myproject/instances/myinstance/disks
415445
++ json -ga
416446
HTTP/1.1 200 OK
417-
content-type: application/x-ndjson
418-
x-request-id: fb3f4d2a-4992-4816-94df-1aa2c461777c
419-
content-length: 214
420-
date: Wed, 27 May 2020 00:46:11 GMT
447+
content-type: application/json
448+
x-request-id: 9f0490d5-e09e-4831-900c-d39f5f07d2c8
449+
content-length: 206
450+
date: Wed, 17 Nov 2021 01:49:10 GMT
421451
422452
{
423-
"instanceName": "myinstance",
424-
"instanceId": "d58039dc-4ed3-44de-a5d4-cd4696246799",
453+
"instanceId": "99ad2514-050c-4493-9cb9-d9ceba980a98",
454+
"diskId": "551bbe67-3640-41c9-b968-249a136e5e31",
425455
"diskName": "mydisk",
426-
"diskId": "bb225f2a-bba3-4d5c-9161-117b8a5b678d",
427456
"diskState": {
428-
"attached": "d58039dc-4ed3-44de-a5d4-cd4696246799"
457+
"state": "attached",
458+
"instance": "99ad2514-050c-4493-9cb9-d9ceba980a98"
429459
}
430460
}
431461
----

0 commit comments

Comments
 (0)