Skip to content

Commit 900be85

Browse files
OAS Update
1 parent 1995bd7 commit 900be85

File tree

1 file changed

+256
-0
lines changed

1 file changed

+256
-0
lines changed

services/resource-manager/v0/resource-manager.json

Lines changed: 256 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,14 @@
4949
"type": "string"
5050
}
5151
},
52+
"cursor": {
53+
"description": "A pagination cursor is returned on the first call of the pagination process. If given, it will start from the end of the previous position. If not given, a new pagination is started.",
54+
"in": "query",
55+
"name": "cursor",
56+
"schema": {
57+
"type": "string"
58+
}
59+
},
5260
"limit": {
5361
"description": "The maximum number of projects to return in the response. If not present, an appropriate default will be used. If maximum is exceeded, maximum is used.",
5462
"in": "query",
@@ -114,6 +122,12 @@
114122
"title": "CreateProjectRequest",
115123
"type": "object"
116124
},
125+
"Cursor": {
126+
"description": "A pagination cursor is returned on the first call of the pagination process. If given, it will start from the end of the previous position. If not given, a new pagination is started.",
127+
"example": "string",
128+
"title": "cursor",
129+
"type": "string"
130+
},
117131
"ErrorResponse": {
118132
"properties": {
119133
"error": {
@@ -153,6 +167,54 @@
153167
"title": "ErrorResponse",
154168
"type": "object"
155169
},
170+
"FolderResponse": {
171+
"properties": {
172+
"containerId": {
173+
"description": "Globally unique, user-friendly identifier.",
174+
"example": "first-folder-158955",
175+
"type": "string"
176+
},
177+
"creationTime": {
178+
"description": "Timestamp at which the folder was created.",
179+
"example": "2021-08-24T14:15:22Z",
180+
"format": "date-time",
181+
"type": "string"
182+
},
183+
"folderId": {
184+
"description": "Globally unique folder identifier.",
185+
"example": "54066bf4-1aff-4f7b-9f83-fb23c348fff3",
186+
"format": "uuid",
187+
"type": "string"
188+
},
189+
"labels": {
190+
"$ref": "#/components/schemas/Labels"
191+
},
192+
"name": {
193+
"description": "Folder name.",
194+
"example": "First Folder",
195+
"type": "string"
196+
},
197+
"parent": {
198+
"$ref": "#/components/schemas/Parent"
199+
},
200+
"updateTime": {
201+
"description": "Timestamp at which the folder was last modified.",
202+
"example": "2021-08-24T14:15:22Z",
203+
"format": "date-time",
204+
"type": "string"
205+
}
206+
},
207+
"required": [
208+
"name",
209+
"containerId",
210+
"folderId",
211+
"creationTime",
212+
"updateTime",
213+
"parent"
214+
],
215+
"title": "FolderResponse",
216+
"type": "object"
217+
},
156218
"GetProjectResponse": {
157219
"properties": {
158220
"containerId": {
@@ -237,6 +299,69 @@
237299
"title": "Limit",
238300
"type": "number"
239301
},
302+
"ListOrganizationContainersResponse": {
303+
"properties": {
304+
"cursor": {
305+
"$ref": "#/components/schemas/Cursor"
306+
},
307+
"items": {
308+
"items": {
309+
"anyOf": [
310+
{
311+
"properties": {
312+
"item": {
313+
"$ref": "#/components/schemas/FolderResponse"
314+
},
315+
"type": {
316+
"description": "Resource container type.",
317+
"enum": [
318+
"FOLDER"
319+
],
320+
"example": "FOLDER",
321+
"type": "string"
322+
}
323+
},
324+
"required": [
325+
"type",
326+
"item"
327+
]
328+
},
329+
{
330+
"properties": {
331+
"item": {
332+
"$ref": "#/components/schemas/Project"
333+
},
334+
"type": {
335+
"description": "Resource container type.",
336+
"enum": [
337+
"PROJECT"
338+
],
339+
"example": "PROJECT",
340+
"type": "string"
341+
}
342+
},
343+
"required": [
344+
"type",
345+
"item"
346+
]
347+
}
348+
],
349+
"type": "object"
350+
},
351+
"type": "array"
352+
},
353+
"limit": {
354+
"$ref": "#/components/schemas/Limit"
355+
}
356+
},
357+
"required": [
358+
"limit",
359+
"cursor",
360+
"items"
361+
],
362+
"title": "ListOrganizationContainersResponse",
363+
"type": "object"
364+
},
240365
"ListOrganizationsResponse": {
241366
"properties": {
242367
"items": {
@@ -571,6 +696,137 @@
571696
},
572697
"openapi": "3.0.3",
573698
"paths": {
699+
"/bff/folders/{id}/containers": {
700+
"get": {
701+
"description": "Returns all direct resource container under this folder including their metadata. \n- Response items will contain all folders first, followed by all projects\n- If a folder does not have any containers, an empty items list will be returned\n\n**Note:** Recursion is not supported - meaning only the next level in hierarchy tree is considered!",
702+
"operationId": "bff-get-containers-of-a-folder",
703+
"parameters": [
704+
{
705+
"$ref": "#/components/parameters/limit"
706+
},
707+
{
708+
"$ref": "#/components/parameters/cursor"
709+
}
710+
],
711+
"responses": {
712+
"200": {
713+
"content": {
714+
"application/json": {
715+
"schema": {
716+
"$ref": "#/components/schemas/ListOrganizationContainersResponse"
717+
}
718+
}
719+
},
720+
"description": "OK"
721+
},
722+
"400": {
723+
"content": {
724+
"application/json": {
725+
"schema": {
726+
"$ref": "#/components/schemas/ErrorResponse"
727+
}
728+
}
729+
},
730+
"description": "Malformed input"
731+
},
732+
"401": {
733+
"content": {
734+
"application/json": {
735+
"schema": {
736+
"$ref": "#/components/schemas/ErrorResponse"
737+
}
738+
}
739+
},
740+
"description": "Unauthorized"
741+
}
742+
},
743+
"summary": "Get Containers Of A Folder"
744+
},
745+
"parameters": [
746+
{
747+
"description": "Folder identifier - UUID identifier is preferred; containerId is also supported.",
748+
"in": "path",
749+
"name": "id",
750+
"required": true,
751+
"schema": {
752+
"type": "string"
753+
}
754+
}
755+
]
756+
},
757+
"/bff/organizations/{id}/containers": {
758+
"get": {
759+
"description": "Returns all direct resource container under this organization including their metadata.\n- Response items will contain all folders first, followed by all projects\n- If organization does not have any containers, an empty items list will be returned",
760+
"operationId": "bff-get-containers-of-an-organization",
761+
"parameters": [
762+
{
763+
"$ref": "#/components/parameters/limit"
764+
},
765+
{
766+
"$ref": "#/components/parameters/cursor"
767+
}
768+
],
769+
"responses": {
770+
"200": {
771+
"content": {
772+
"application/json": {
773+
"schema": {
774+
"$ref": "#/components/schemas/ListOrganizationContainersResponse"
775+
}
776+
}
777+
},
778+
"description": "OK"
779+
},
780+
"400": {
781+
"content": {
782+
"application/json": {
783+
"schema": {
784+
"$ref": "#/components/schemas/ErrorResponse"
785+
}
786+
}
787+
},
788+
"description": "Malformed input"
789+
},
790+
"401": {
791+
"content": {
792+
"application/json": {
793+
"schema": {
794+
"$ref": "#/components/schemas/ErrorResponse"
795+
}
796+
}
797+
},
798+
"description": "Unauthorized"
799+
},
800+
"404": {
801+
"content": {
802+
"application/json": {
803+
"examples": {
804+
"Organization Not Found": {
805+
"$ref": "#/components/examples/NotFound"
806+
}
807+
},
808+
"schema": {
809+
"$ref": "#/components/schemas/ErrorResponse"
810+
}
811+
}
812+
},
813+
"description": "Organization Not Found"
814+
}
815+
},
816+
"summary": "Get Containers Of An Organization"
817+
},
818+
"parameters": [
819+
{
820+
"description": "Organization identifier - UUID identifier is preferred; containerId is also supported.",
821+
"in": "path",
822+
"name": "id",
823+
"required": true,
824+
"schema": {
825+
"type": "string"
826+
}
827+
}
828+
]
829+
},
574830
"/v2/organizations": {
575831
"get": {
576832
"description": "Returns all organizations and their metadata.\n- If no containerIds are specified, all organizations are returned, if permitted\n- ContainerIds may be set to filter\n- Member may be set to filter\n- If member and containerIds are given, both are used for filtering\n",

0 commit comments

Comments
 (0)