@honeyhive/control-plane-sdk 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.md +3 -3
- package/dist/.tsbuildinfo +1 -1
- package/dist/apiKeys.d.ts +46 -0
- package/dist/apiKeys.d.ts.map +1 -0
- package/dist/apiKeys.js +97 -0
- package/dist/apiKeys.js.map +1 -0
- package/dist/generated/apiTypes.d.ts +154 -1
- package/dist/generated/apiTypes.d.ts.map +1 -1
- package/dist/generated/client.d.ts +206 -7
- package/dist/generated/client.d.ts.map +1 -1
- package/dist/generated/client.js +282 -23
- package/dist/generated/client.js.map +1 -1
- package/dist/generated/types.d.ts +668 -4
- package/dist/generated/types.d.ts.map +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/util.d.ts +12 -5
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +22 -65
- package/dist/util.js.map +1 -1
- package/package.json +2 -2
- package/release_notes.md +11 -2
- package/src/apiKeys.ts +103 -0
- package/src/generated/apiTypes.ts +172 -1
- package/src/generated/client.ts +360 -23
- package/src/generated/types.ts +668 -4
- package/src/generated/version.ts +1 -1
- package/src/index.ts +16 -0
- package/src/util.ts +32 -75
package/src/generated/types.ts
CHANGED
|
@@ -51,6 +51,50 @@ export interface paths {
|
|
|
51
51
|
patch?: never;
|
|
52
52
|
trace?: never;
|
|
53
53
|
};
|
|
54
|
+
'/v1/virtual_dataplanes/{virtual_dataplane_id}/workspaces': {
|
|
55
|
+
parameters: {
|
|
56
|
+
query?: never;
|
|
57
|
+
header?: never;
|
|
58
|
+
path?: never;
|
|
59
|
+
cookie?: never;
|
|
60
|
+
};
|
|
61
|
+
get?: never;
|
|
62
|
+
put?: never;
|
|
63
|
+
/**
|
|
64
|
+
* Create a workspace
|
|
65
|
+
* @description Create a workspace in a virtual data plane. The parent virtual data plane is identified by
|
|
66
|
+
* the `virtual_dataplane_id` path parameter alone; the `x-hh-dataplane-id` header does not
|
|
67
|
+
* participate. Your organization's virtual data plane ids are listed on the API keys page of
|
|
68
|
+
* your organization settings in the HoneyHive app. Most organizations have exactly one.
|
|
69
|
+
*
|
|
70
|
+
* The new workspace contains no projects. Create one with
|
|
71
|
+
* `POST /v1/workspaces/{workspace_id}/projects` if you need it, because a workspace with no
|
|
72
|
+
* projects has nowhere to log events.
|
|
73
|
+
*
|
|
74
|
+
* The optional `workspace_creator` field names the user (by email) who receives the
|
|
75
|
+
* workspace-creator membership on the new workspace. The named user must already be a member
|
|
76
|
+
* of the virtual data plane. When omitted, the workspace is created without any membership.
|
|
77
|
+
* The field is only accepted on API-key-initiated requests. User-initiated creation always
|
|
78
|
+
* makes the calling user the creator, so sending the field returns a 400.
|
|
79
|
+
*
|
|
80
|
+
* The roles that membership carries come from your organization's role configuration. An
|
|
81
|
+
* organization that grants no role on workspace creation is a supported case: the request
|
|
82
|
+
* still succeeds and the named user receives no access. A 200 response is not by itself
|
|
83
|
+
* confirmation that the named user was granted anything.
|
|
84
|
+
*
|
|
85
|
+
* A `workspace_creator` who is already signed in does not see the new workspace immediately.
|
|
86
|
+
* A session captures its scope tree and permission grants when it is created, so a membership
|
|
87
|
+
* granted afterwards is not reflected in it. Creating the workspace marks that user's sessions
|
|
88
|
+
* for refresh, and the refresh takes effect on their next request to the control plane, so an
|
|
89
|
+
* idle browser tab may need a page reload.
|
|
90
|
+
*/
|
|
91
|
+
post: operations['createWorkspace'];
|
|
92
|
+
delete?: never;
|
|
93
|
+
options?: never;
|
|
94
|
+
head?: never;
|
|
95
|
+
patch?: never;
|
|
96
|
+
trace?: never;
|
|
97
|
+
};
|
|
54
98
|
'/v1/workspaces/{workspace_id}/projects': {
|
|
55
99
|
parameters: {
|
|
56
100
|
query?: never;
|
|
@@ -63,13 +107,25 @@ export interface paths {
|
|
|
63
107
|
/**
|
|
64
108
|
* Create a project
|
|
65
109
|
* @description Create a project in a workspace. The parent workspace is identified by the `workspace_id`
|
|
66
|
-
* path parameter alone; the `x-hh-workspace-id` header does not participate.
|
|
110
|
+
* path parameter alone; the `x-hh-workspace-id` header does not participate. A workspace's id
|
|
111
|
+
* is listed on the API keys page of its workspace settings in the HoneyHive app.
|
|
67
112
|
*
|
|
68
113
|
* The optional `project_creator` field names the user (by email) who receives the
|
|
69
114
|
* project-creator membership on the new project. The named user must already be a member of
|
|
70
115
|
* the workspace. When omitted, the project is created without any membership. The field is
|
|
71
|
-
* only accepted on API-key-initiated requests
|
|
72
|
-
* calling user the creator
|
|
116
|
+
* only accepted on API-key-initiated requests. User-initiated creation always makes the
|
|
117
|
+
* calling user the creator, so sending the field returns a 400.
|
|
118
|
+
*
|
|
119
|
+
* The roles that membership carries come from your organization's role configuration. An
|
|
120
|
+
* organization that grants no role on project creation is a supported case: the request
|
|
121
|
+
* still succeeds and the named user receives no access. A 200 response is not by itself
|
|
122
|
+
* confirmation that the named user was granted anything.
|
|
123
|
+
*
|
|
124
|
+
* A `project_creator` who is already signed in does not see the new project immediately. A
|
|
125
|
+
* session captures its scope tree and permission grants when it is created, so a membership
|
|
126
|
+
* granted afterwards is not reflected in it. Creating the project marks that user's sessions
|
|
127
|
+
* for refresh, and the refresh takes effect on their next request to the control plane, so
|
|
128
|
+
* an idle browser tab may need a page reload.
|
|
73
129
|
*/
|
|
74
130
|
post: operations['createProject'];
|
|
75
131
|
delete?: never;
|
|
@@ -111,6 +167,175 @@ export interface paths {
|
|
|
111
167
|
patch?: never;
|
|
112
168
|
trace?: never;
|
|
113
169
|
};
|
|
170
|
+
'/v1/workspaces/{workspace_id}': {
|
|
171
|
+
parameters: {
|
|
172
|
+
query?: never;
|
|
173
|
+
header?: never;
|
|
174
|
+
path?: never;
|
|
175
|
+
cookie?: never;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Get a workspace
|
|
179
|
+
* @description Retrieve a single workspace by id. The workspace is identified by the `workspace_id` path
|
|
180
|
+
* parameter alone; the `x-hh-workspace-id` header does not participate.
|
|
181
|
+
*
|
|
182
|
+
* The returned `name` is the workspace's display name. The globally unique slug the workspace
|
|
183
|
+
* was assigned at creation is an internal detail and is not part of this contract.
|
|
184
|
+
*/
|
|
185
|
+
get: operations['getWorkspace'];
|
|
186
|
+
/**
|
|
187
|
+
* Update a workspace
|
|
188
|
+
* @description Update a workspace's display name and/or description. The workspace is identified by the
|
|
189
|
+
* `workspace_id` path parameter alone; the `x-hh-workspace-id` header does not participate.
|
|
190
|
+
* Only fields included in the request body are modified.
|
|
191
|
+
*
|
|
192
|
+
* The workspace's internal slug is not part of this contract and cannot be changed here.
|
|
193
|
+
*/
|
|
194
|
+
put: operations['updateWorkspace'];
|
|
195
|
+
post?: never;
|
|
196
|
+
/**
|
|
197
|
+
* Delete a workspace
|
|
198
|
+
* @description Delete a workspace. The workspace is soft-deleted (archived) and no longer appears in reads;
|
|
199
|
+
* the response returns the archived workspace. The workspace is identified by the
|
|
200
|
+
* `workspace_id` path parameter alone; the `x-hh-workspace-id` header does not participate.
|
|
201
|
+
*
|
|
202
|
+
* **Deleting a workspace also archives every project inside it**, so the events, datasets,
|
|
203
|
+
* and evaluations in those projects are no longer reachable. Because that reaches well
|
|
204
|
+
* beyond the resource named in the URL, a workspace that still has active projects is
|
|
205
|
+
* rejected with a 409 unless the request sets `dangerously_delete_child_scopes=true`.
|
|
206
|
+
* Projects that were already archived do not count, so a workspace emptied one project at a
|
|
207
|
+
* time deletes without the flag.
|
|
208
|
+
*
|
|
209
|
+
* The response describes only the workspace. It does not enumerate the projects archived
|
|
210
|
+
* alongside it, so read them first if you need that list.
|
|
211
|
+
*/
|
|
212
|
+
delete: operations['deleteWorkspace'];
|
|
213
|
+
options?: never;
|
|
214
|
+
head?: never;
|
|
215
|
+
patch?: never;
|
|
216
|
+
trace?: never;
|
|
217
|
+
};
|
|
218
|
+
'/v1/orgs/{org_id}/virtual_dataplanes': {
|
|
219
|
+
parameters: {
|
|
220
|
+
query?: never;
|
|
221
|
+
header?: never;
|
|
222
|
+
path?: never;
|
|
223
|
+
cookie?: never;
|
|
224
|
+
};
|
|
225
|
+
get?: never;
|
|
226
|
+
put?: never;
|
|
227
|
+
/**
|
|
228
|
+
* Create a virtual data plane
|
|
229
|
+
* @description Create a virtual data plane in an organization. The parent organization is identified by the
|
|
230
|
+
* `org_id` path parameter alone; the `x-hh-org-id` header does not participate. Your
|
|
231
|
+
* organization's id is listed on the API keys page of your organization settings in the
|
|
232
|
+
* HoneyHive app.
|
|
233
|
+
*
|
|
234
|
+
* A virtual data plane is a logical tenant boundary hosted on a physical cluster, and several
|
|
235
|
+
* of them commonly share one cluster. Workspaces are created inside it.
|
|
236
|
+
*
|
|
237
|
+
* `cluster_id` is optional, and omitting it is the common case: the new virtual data plane is
|
|
238
|
+
* placed on the same cluster as the organization's existing ones. Two situations require it
|
|
239
|
+
* explicitly, and both return a 400 that says so rather than guessing: an organization whose
|
|
240
|
+
* existing virtual data planes span more than one cluster, and an organization that has none
|
|
241
|
+
* yet. Every response includes `cluster_id`, so reading an existing virtual data plane tells
|
|
242
|
+
* you which value to send.
|
|
243
|
+
*
|
|
244
|
+
* A cluster admits an organization only if your control plane administrator configured it to,
|
|
245
|
+
* so a `cluster_id` you can read from a sibling virtual data plane is not necessarily one you
|
|
246
|
+
* may place a new virtual data plane on. A cluster that does not admit this organization
|
|
247
|
+
* returns a 404. When this endpoint inferred the cluster, send an explicit `cluster_id` to
|
|
248
|
+
* place the virtual data plane on another cluster.
|
|
249
|
+
*
|
|
250
|
+
* Deployments differ in who places virtual data planes. Where HoneyHive assigns them to
|
|
251
|
+
* organizations automatically, this endpoint returns a 404 for every request and the
|
|
252
|
+
* placement is not yours to make. Deployments whose administrators own the scope tree are
|
|
253
|
+
* the ones this endpoint serves.
|
|
254
|
+
*
|
|
255
|
+
* The optional `dataplane_creator` field names the user (by email) who receives the
|
|
256
|
+
* dataplane-creator membership on the new virtual data plane. The named user must already be a
|
|
257
|
+
* member of the organization. When omitted, it is created without any membership. The field is
|
|
258
|
+
* only accepted on API-key-initiated requests; user-initiated creation always makes the
|
|
259
|
+
* calling user the creator, so sending the field returns a 400.
|
|
260
|
+
*
|
|
261
|
+
* The roles that membership carries come from your organization's role configuration. An
|
|
262
|
+
* organization that grants no role on dataplane creation is a supported case: the request
|
|
263
|
+
* still succeeds and the named user receives no access. A 200 response is not by itself
|
|
264
|
+
* confirmation that the named user was granted anything.
|
|
265
|
+
*
|
|
266
|
+
* A `dataplane_creator` who is already signed in does not see the new virtual data plane
|
|
267
|
+
* immediately. A session captures its scope tree and permission grants when it is created, so
|
|
268
|
+
* a membership granted afterwards is not reflected in it; the refresh takes effect on their
|
|
269
|
+
* next request to the control plane.
|
|
270
|
+
*/
|
|
271
|
+
post: operations['createVirtualDataplane'];
|
|
272
|
+
delete?: never;
|
|
273
|
+
options?: never;
|
|
274
|
+
head?: never;
|
|
275
|
+
patch?: never;
|
|
276
|
+
trace?: never;
|
|
277
|
+
};
|
|
278
|
+
'/v1/virtual_dataplanes/{virtual_dataplane_id}': {
|
|
279
|
+
parameters: {
|
|
280
|
+
query?: never;
|
|
281
|
+
header?: never;
|
|
282
|
+
path?: never;
|
|
283
|
+
cookie?: never;
|
|
284
|
+
};
|
|
285
|
+
/**
|
|
286
|
+
* Get a virtual data plane
|
|
287
|
+
* @description Retrieve a single virtual data plane by id. It is identified by the `virtual_dataplane_id`
|
|
288
|
+
* path parameter alone; the `x-hh-dataplane-id` header does not participate.
|
|
289
|
+
*
|
|
290
|
+
* The returned `name` is the display name. The globally unique slug assigned at creation is
|
|
291
|
+
* an internal detail and is not part of this contract. `cluster_id` is the physical cluster
|
|
292
|
+
* hosting this virtual data plane, and it is the value to send when creating another one
|
|
293
|
+
* beside it.
|
|
294
|
+
*
|
|
295
|
+
* Reads work on every deployment, including those where HoneyHive assigns virtual data
|
|
296
|
+
* planes automatically and the write endpoints are unavailable.
|
|
297
|
+
*/
|
|
298
|
+
get: operations['getVirtualDataplane'];
|
|
299
|
+
/**
|
|
300
|
+
* Update a virtual data plane
|
|
301
|
+
* @description Update a virtual data plane's display name. It is identified by the `virtual_dataplane_id`
|
|
302
|
+
* path parameter alone; the `x-hh-dataplane-id` header does not participate.
|
|
303
|
+
*
|
|
304
|
+
* `name` is the only field this endpoint changes. `cluster_id` is placement rather than
|
|
305
|
+
* description: the workspaces and projects inside a virtual data plane hold data on the
|
|
306
|
+
* cluster hosting it, so moving one is a migration and not an update. A request that omits
|
|
307
|
+
* `name`, or sends the current one, changes nothing.
|
|
308
|
+
*
|
|
309
|
+
* This endpoint is unavailable where HoneyHive assigns virtual data planes automatically,
|
|
310
|
+
* and returns a 404 there.
|
|
311
|
+
*/
|
|
312
|
+
put: operations['updateVirtualDataplane'];
|
|
313
|
+
post?: never;
|
|
314
|
+
/**
|
|
315
|
+
* Delete a virtual data plane
|
|
316
|
+
* @description Delete a virtual data plane. It is soft-deleted (archived) and no longer appears in reads;
|
|
317
|
+
* the response returns the archived virtual data plane. It is identified by the
|
|
318
|
+
* `virtual_dataplane_id` path parameter alone; the `x-hh-dataplane-id` header does not
|
|
319
|
+
* participate.
|
|
320
|
+
*
|
|
321
|
+
* **Deleting a virtual data plane also archives every workspace inside it and every project
|
|
322
|
+
* inside those workspaces**, so the events, datasets, and evaluations in them are no longer
|
|
323
|
+
* reachable. Because that reaches two levels below the resource named in the URL, a virtual
|
|
324
|
+
* data plane with active workspaces is rejected with a 409 unless the request sets
|
|
325
|
+
* `dangerously_delete_child_scopes=true`. Workspaces that were already archived do not count.
|
|
326
|
+
*
|
|
327
|
+
* The response describes only the virtual data plane. It does not enumerate what the cascade
|
|
328
|
+
* archived, so read that first if you need the list.
|
|
329
|
+
*
|
|
330
|
+
* This endpoint is unavailable where HoneyHive assigns virtual data planes automatically,
|
|
331
|
+
* and returns a 404 there.
|
|
332
|
+
*/
|
|
333
|
+
delete: operations['deleteVirtualDataplane'];
|
|
334
|
+
options?: never;
|
|
335
|
+
head?: never;
|
|
336
|
+
patch?: never;
|
|
337
|
+
trace?: never;
|
|
338
|
+
};
|
|
114
339
|
}
|
|
115
340
|
export type webhooks = Record<string, never>;
|
|
116
341
|
export interface components {
|
|
@@ -289,7 +514,7 @@ export interface components {
|
|
|
289
514
|
description?: string;
|
|
290
515
|
/**
|
|
291
516
|
* Format: email
|
|
292
|
-
* @description Email of the user to grant the project-creator membership to (API key actors only)
|
|
517
|
+
* @description Email of the user to grant the project-creator membership to (API key actors only). A signed-in user does not see the new project until their session refreshes, which happens on their next request to the control plane.
|
|
293
518
|
*/
|
|
294
519
|
project_creator?: string;
|
|
295
520
|
};
|
|
@@ -320,6 +545,106 @@ export interface components {
|
|
|
320
545
|
success: boolean;
|
|
321
546
|
data: components['schemas']['ProjectItem'];
|
|
322
547
|
};
|
|
548
|
+
/** @description Virtual dataplane object */
|
|
549
|
+
VirtualDataplaneItem: {
|
|
550
|
+
id: string;
|
|
551
|
+
/** @description Virtual dataplane display name */
|
|
552
|
+
name: string;
|
|
553
|
+
/** @description Identifier of the physical cluster hosting this dataplane */
|
|
554
|
+
cluster_id: string;
|
|
555
|
+
created_at: string;
|
|
556
|
+
updated_at: string;
|
|
557
|
+
};
|
|
558
|
+
/** @description Request body for creating a virtual dataplane */
|
|
559
|
+
PostVirtualDataplaneRequest: {
|
|
560
|
+
/** @description Virtual dataplane display name. Allowed characters are letters, digits, space, underscore, hyphen, apostrophe and ampersand. The name must contain at least one letter or digit, and must not start with a space. */
|
|
561
|
+
name: string;
|
|
562
|
+
/** @description Globally unique identifier for the virtual dataplane, letters, digits and underscores only. Omit it and the server derives one from the name with a random suffix appended. A slug already in use returns 409. */
|
|
563
|
+
slug?: string;
|
|
564
|
+
/** @description Physical cluster to host this virtual dataplane. Omit to place it alongside the existing virtual dataplanes in this org; required when the org has none yet, or when its virtual dataplanes span more than one cluster. */
|
|
565
|
+
cluster_id?: string;
|
|
566
|
+
/**
|
|
567
|
+
* Format: email
|
|
568
|
+
* @description Email of the user to grant the dataplane-creator membership to (API key actors only). A signed-in user does not see the new dataplane until their session refreshes, which happens on their next request to the control plane.
|
|
569
|
+
*/
|
|
570
|
+
dataplane_creator?: string;
|
|
571
|
+
};
|
|
572
|
+
/** @description Request body for updating a virtual dataplane */
|
|
573
|
+
PutVirtualDataplaneRequest: {
|
|
574
|
+
/** @description Virtual dataplane display name. Allowed characters are letters, digits, space, underscore, hyphen, apostrophe and ampersand. The name must contain at least one letter or digit, and must not start with a space. */
|
|
575
|
+
name?: string;
|
|
576
|
+
};
|
|
577
|
+
/** @description The created virtual dataplane */
|
|
578
|
+
CreateVirtualDataplaneResponse: {
|
|
579
|
+
success: boolean;
|
|
580
|
+
data: components['schemas']['VirtualDataplaneItem'];
|
|
581
|
+
};
|
|
582
|
+
/** @description A single virtual dataplane */
|
|
583
|
+
GetVirtualDataplaneResponse: {
|
|
584
|
+
success: boolean;
|
|
585
|
+
data: components['schemas']['VirtualDataplaneItem'];
|
|
586
|
+
};
|
|
587
|
+
/** @description The updated virtual dataplane */
|
|
588
|
+
UpdateVirtualDataplaneResponse: {
|
|
589
|
+
success: boolean;
|
|
590
|
+
data: components['schemas']['VirtualDataplaneItem'];
|
|
591
|
+
};
|
|
592
|
+
/** @description The deleted (archived) virtual dataplane. Descendants archived by the cascade are not listed. */
|
|
593
|
+
DeleteVirtualDataplaneResponse: {
|
|
594
|
+
success: boolean;
|
|
595
|
+
data: components['schemas']['VirtualDataplaneItem'];
|
|
596
|
+
};
|
|
597
|
+
/** @description Workspace object */
|
|
598
|
+
WorkspaceItem: {
|
|
599
|
+
id: string;
|
|
600
|
+
/** @description Workspace display name */
|
|
601
|
+
name: string;
|
|
602
|
+
/** @description Workspace description */
|
|
603
|
+
description: string;
|
|
604
|
+
created_at: string;
|
|
605
|
+
updated_at?: string | null;
|
|
606
|
+
};
|
|
607
|
+
/** @description Request body for creating a workspace */
|
|
608
|
+
PostWorkspaceRequest: {
|
|
609
|
+
/** @description Workspace display name. Allowed characters are letters, digits, space, underscore, hyphen, apostrophe and ampersand. The name must contain at least one letter or digit, and must not start with a space. */
|
|
610
|
+
name: string;
|
|
611
|
+
/** @description Globally unique identifier for the workspace, letters, digits and underscores only. Omit it and the server derives one from the name with a random suffix appended. Supply it when the identifier has to match a value maintained outside HoneyHive, such as an identity provider group that grants access to this workspace. A slug already in use returns 409. */
|
|
612
|
+
slug?: string;
|
|
613
|
+
/** @description Workspace description */
|
|
614
|
+
description?: string;
|
|
615
|
+
/**
|
|
616
|
+
* Format: email
|
|
617
|
+
* @description Email of the user to grant the workspace-creator membership to (API key actors only). A signed-in user does not see the new workspace until their session refreshes, which happens on their next request to the control plane.
|
|
618
|
+
*/
|
|
619
|
+
workspace_creator?: string;
|
|
620
|
+
};
|
|
621
|
+
/** @description Request body for updating a workspace */
|
|
622
|
+
PutWorkspaceRequest: {
|
|
623
|
+
/** @description Workspace display name. Allowed characters are letters, digits, space, underscore, hyphen, apostrophe and ampersand. The name must contain at least one letter or digit, and must not start with a space. */
|
|
624
|
+
name?: string;
|
|
625
|
+
/** @description Workspace description */
|
|
626
|
+
description?: string;
|
|
627
|
+
};
|
|
628
|
+
/** @description The created workspace */
|
|
629
|
+
CreateWorkspaceResponse: {
|
|
630
|
+
success: boolean;
|
|
631
|
+
data: components['schemas']['WorkspaceItem'];
|
|
632
|
+
};
|
|
633
|
+
/** @description A single workspace */
|
|
634
|
+
GetWorkspaceResponse: {
|
|
635
|
+
success: boolean;
|
|
636
|
+
data: components['schemas']['WorkspaceItem'];
|
|
637
|
+
};
|
|
638
|
+
/** @description The updated workspace */
|
|
639
|
+
UpdateWorkspaceResponse: {
|
|
640
|
+
success: boolean;
|
|
641
|
+
data: components['schemas']['WorkspaceItem'];
|
|
642
|
+
};
|
|
643
|
+
/** @description The deleted (archived) workspace. Descendants archived by the cascade are not listed. */
|
|
644
|
+
DeleteWorkspaceResponse: {
|
|
645
|
+
success: boolean;
|
|
646
|
+
data: components['schemas']['WorkspaceItem'];
|
|
647
|
+
};
|
|
323
648
|
AlertItemThresholdsCritical: {
|
|
324
649
|
/** @enum {string} */
|
|
325
650
|
operator: 'greater_than' | 'less_than' | 'equal_to';
|
|
@@ -538,6 +863,54 @@ export interface operations {
|
|
|
538
863
|
};
|
|
539
864
|
};
|
|
540
865
|
};
|
|
866
|
+
createWorkspace: {
|
|
867
|
+
parameters: {
|
|
868
|
+
query?: never;
|
|
869
|
+
header?: never;
|
|
870
|
+
path: {
|
|
871
|
+
/** @description The unique identifier of the virtual data plane the workspace is created in */
|
|
872
|
+
virtual_dataplane_id: string;
|
|
873
|
+
};
|
|
874
|
+
cookie?: never;
|
|
875
|
+
};
|
|
876
|
+
requestBody: {
|
|
877
|
+
content: {
|
|
878
|
+
'application/json': components['schemas']['PostWorkspaceRequest'];
|
|
879
|
+
};
|
|
880
|
+
};
|
|
881
|
+
responses: {
|
|
882
|
+
/** @description Workspace created successfully */
|
|
883
|
+
200: {
|
|
884
|
+
headers: {
|
|
885
|
+
[name: string]: unknown;
|
|
886
|
+
};
|
|
887
|
+
content: {
|
|
888
|
+
'application/json': components['schemas']['CreateWorkspaceResponse'];
|
|
889
|
+
};
|
|
890
|
+
};
|
|
891
|
+
/** @description Invalid request body, or an unknown/ineligible `workspace_creator` */
|
|
892
|
+
400: {
|
|
893
|
+
headers: {
|
|
894
|
+
[name: string]: unknown;
|
|
895
|
+
};
|
|
896
|
+
content?: never;
|
|
897
|
+
};
|
|
898
|
+
/** @description Virtual data plane not found */
|
|
899
|
+
404: {
|
|
900
|
+
headers: {
|
|
901
|
+
[name: string]: unknown;
|
|
902
|
+
};
|
|
903
|
+
content?: never;
|
|
904
|
+
};
|
|
905
|
+
/** @description The `slug` is already taken by another scope */
|
|
906
|
+
409: {
|
|
907
|
+
headers: {
|
|
908
|
+
[name: string]: unknown;
|
|
909
|
+
};
|
|
910
|
+
content?: never;
|
|
911
|
+
};
|
|
912
|
+
};
|
|
913
|
+
};
|
|
541
914
|
createProject: {
|
|
542
915
|
parameters: {
|
|
543
916
|
query?: never;
|
|
@@ -680,4 +1053,295 @@ export interface operations {
|
|
|
680
1053
|
};
|
|
681
1054
|
};
|
|
682
1055
|
};
|
|
1056
|
+
getWorkspace: {
|
|
1057
|
+
parameters: {
|
|
1058
|
+
query?: never;
|
|
1059
|
+
header?: never;
|
|
1060
|
+
path: {
|
|
1061
|
+
/** @description The unique identifier of the workspace to retrieve */
|
|
1062
|
+
workspace_id: string;
|
|
1063
|
+
};
|
|
1064
|
+
cookie?: never;
|
|
1065
|
+
};
|
|
1066
|
+
requestBody?: never;
|
|
1067
|
+
responses: {
|
|
1068
|
+
/** @description Workspace retrieved successfully */
|
|
1069
|
+
200: {
|
|
1070
|
+
headers: {
|
|
1071
|
+
[name: string]: unknown;
|
|
1072
|
+
};
|
|
1073
|
+
content: {
|
|
1074
|
+
'application/json': components['schemas']['GetWorkspaceResponse'];
|
|
1075
|
+
};
|
|
1076
|
+
};
|
|
1077
|
+
/** @description Workspace not found */
|
|
1078
|
+
404: {
|
|
1079
|
+
headers: {
|
|
1080
|
+
[name: string]: unknown;
|
|
1081
|
+
};
|
|
1082
|
+
content?: never;
|
|
1083
|
+
};
|
|
1084
|
+
};
|
|
1085
|
+
};
|
|
1086
|
+
updateWorkspace: {
|
|
1087
|
+
parameters: {
|
|
1088
|
+
query?: never;
|
|
1089
|
+
header?: never;
|
|
1090
|
+
path: {
|
|
1091
|
+
/** @description The unique identifier of the workspace to update */
|
|
1092
|
+
workspace_id: string;
|
|
1093
|
+
};
|
|
1094
|
+
cookie?: never;
|
|
1095
|
+
};
|
|
1096
|
+
requestBody: {
|
|
1097
|
+
content: {
|
|
1098
|
+
'application/json': components['schemas']['PutWorkspaceRequest'];
|
|
1099
|
+
};
|
|
1100
|
+
};
|
|
1101
|
+
responses: {
|
|
1102
|
+
/** @description Workspace updated successfully */
|
|
1103
|
+
200: {
|
|
1104
|
+
headers: {
|
|
1105
|
+
[name: string]: unknown;
|
|
1106
|
+
};
|
|
1107
|
+
content: {
|
|
1108
|
+
'application/json': components['schemas']['UpdateWorkspaceResponse'];
|
|
1109
|
+
};
|
|
1110
|
+
};
|
|
1111
|
+
/** @description Invalid request body */
|
|
1112
|
+
400: {
|
|
1113
|
+
headers: {
|
|
1114
|
+
[name: string]: unknown;
|
|
1115
|
+
};
|
|
1116
|
+
content?: never;
|
|
1117
|
+
};
|
|
1118
|
+
/** @description Workspace not found */
|
|
1119
|
+
404: {
|
|
1120
|
+
headers: {
|
|
1121
|
+
[name: string]: unknown;
|
|
1122
|
+
};
|
|
1123
|
+
content?: never;
|
|
1124
|
+
};
|
|
1125
|
+
};
|
|
1126
|
+
};
|
|
1127
|
+
deleteWorkspace: {
|
|
1128
|
+
parameters: {
|
|
1129
|
+
query?: {
|
|
1130
|
+
/**
|
|
1131
|
+
* @description Archive the workspace even when it still has active projects, archiving those projects
|
|
1132
|
+
* too. Without it, such a request fails with a 409 and no changes are made.
|
|
1133
|
+
*/
|
|
1134
|
+
dangerously_delete_child_scopes?: boolean;
|
|
1135
|
+
};
|
|
1136
|
+
header?: never;
|
|
1137
|
+
path: {
|
|
1138
|
+
/** @description The unique identifier of the workspace to delete */
|
|
1139
|
+
workspace_id: string;
|
|
1140
|
+
};
|
|
1141
|
+
cookie?: never;
|
|
1142
|
+
};
|
|
1143
|
+
requestBody?: never;
|
|
1144
|
+
responses: {
|
|
1145
|
+
/** @description Workspace deleted successfully */
|
|
1146
|
+
200: {
|
|
1147
|
+
headers: {
|
|
1148
|
+
[name: string]: unknown;
|
|
1149
|
+
};
|
|
1150
|
+
content: {
|
|
1151
|
+
'application/json': components['schemas']['DeleteWorkspaceResponse'];
|
|
1152
|
+
};
|
|
1153
|
+
};
|
|
1154
|
+
/** @description `dangerously_delete_child_scopes` is not `true` or `false` */
|
|
1155
|
+
400: {
|
|
1156
|
+
headers: {
|
|
1157
|
+
[name: string]: unknown;
|
|
1158
|
+
};
|
|
1159
|
+
content?: never;
|
|
1160
|
+
};
|
|
1161
|
+
/** @description Workspace not found */
|
|
1162
|
+
404: {
|
|
1163
|
+
headers: {
|
|
1164
|
+
[name: string]: unknown;
|
|
1165
|
+
};
|
|
1166
|
+
content?: never;
|
|
1167
|
+
};
|
|
1168
|
+
/** @description The workspace still has active projects and `dangerously_delete_child_scopes` was not set */
|
|
1169
|
+
409: {
|
|
1170
|
+
headers: {
|
|
1171
|
+
[name: string]: unknown;
|
|
1172
|
+
};
|
|
1173
|
+
content?: never;
|
|
1174
|
+
};
|
|
1175
|
+
};
|
|
1176
|
+
};
|
|
1177
|
+
createVirtualDataplane: {
|
|
1178
|
+
parameters: {
|
|
1179
|
+
query?: never;
|
|
1180
|
+
header?: never;
|
|
1181
|
+
path: {
|
|
1182
|
+
/** @description The unique identifier of the organization the virtual data plane is created in */
|
|
1183
|
+
org_id: string;
|
|
1184
|
+
};
|
|
1185
|
+
cookie?: never;
|
|
1186
|
+
};
|
|
1187
|
+
requestBody: {
|
|
1188
|
+
content: {
|
|
1189
|
+
'application/json': components['schemas']['PostVirtualDataplaneRequest'];
|
|
1190
|
+
};
|
|
1191
|
+
};
|
|
1192
|
+
responses: {
|
|
1193
|
+
/** @description Virtual data plane created successfully */
|
|
1194
|
+
200: {
|
|
1195
|
+
headers: {
|
|
1196
|
+
[name: string]: unknown;
|
|
1197
|
+
};
|
|
1198
|
+
content: {
|
|
1199
|
+
'application/json': components['schemas']['CreateVirtualDataplaneResponse'];
|
|
1200
|
+
};
|
|
1201
|
+
};
|
|
1202
|
+
/** @description Invalid request body, an unknown or ineligible `dataplane_creator`, `cluster_id` omitted when it could not be inferred, or the named cluster is disabled */
|
|
1203
|
+
400: {
|
|
1204
|
+
headers: {
|
|
1205
|
+
[name: string]: unknown;
|
|
1206
|
+
};
|
|
1207
|
+
content?: never;
|
|
1208
|
+
};
|
|
1209
|
+
/** @description Organization or cluster not found, or the caller may not create a virtual data plane here. The response does not say which. */
|
|
1210
|
+
404: {
|
|
1211
|
+
headers: {
|
|
1212
|
+
[name: string]: unknown;
|
|
1213
|
+
};
|
|
1214
|
+
content?: never;
|
|
1215
|
+
};
|
|
1216
|
+
/** @description The `slug` is already taken by another scope */
|
|
1217
|
+
409: {
|
|
1218
|
+
headers: {
|
|
1219
|
+
[name: string]: unknown;
|
|
1220
|
+
};
|
|
1221
|
+
content?: never;
|
|
1222
|
+
};
|
|
1223
|
+
};
|
|
1224
|
+
};
|
|
1225
|
+
getVirtualDataplane: {
|
|
1226
|
+
parameters: {
|
|
1227
|
+
query?: never;
|
|
1228
|
+
header?: never;
|
|
1229
|
+
path: {
|
|
1230
|
+
/** @description The unique identifier of the virtual data plane to retrieve */
|
|
1231
|
+
virtual_dataplane_id: string;
|
|
1232
|
+
};
|
|
1233
|
+
cookie?: never;
|
|
1234
|
+
};
|
|
1235
|
+
requestBody?: never;
|
|
1236
|
+
responses: {
|
|
1237
|
+
/** @description Virtual data plane retrieved successfully */
|
|
1238
|
+
200: {
|
|
1239
|
+
headers: {
|
|
1240
|
+
[name: string]: unknown;
|
|
1241
|
+
};
|
|
1242
|
+
content: {
|
|
1243
|
+
'application/json': components['schemas']['GetVirtualDataplaneResponse'];
|
|
1244
|
+
};
|
|
1245
|
+
};
|
|
1246
|
+
/** @description Virtual data plane not found */
|
|
1247
|
+
404: {
|
|
1248
|
+
headers: {
|
|
1249
|
+
[name: string]: unknown;
|
|
1250
|
+
};
|
|
1251
|
+
content?: never;
|
|
1252
|
+
};
|
|
1253
|
+
};
|
|
1254
|
+
};
|
|
1255
|
+
updateVirtualDataplane: {
|
|
1256
|
+
parameters: {
|
|
1257
|
+
query?: never;
|
|
1258
|
+
header?: never;
|
|
1259
|
+
path: {
|
|
1260
|
+
/** @description The unique identifier of the virtual data plane to update */
|
|
1261
|
+
virtual_dataplane_id: string;
|
|
1262
|
+
};
|
|
1263
|
+
cookie?: never;
|
|
1264
|
+
};
|
|
1265
|
+
requestBody: {
|
|
1266
|
+
content: {
|
|
1267
|
+
'application/json': components['schemas']['PutVirtualDataplaneRequest'];
|
|
1268
|
+
};
|
|
1269
|
+
};
|
|
1270
|
+
responses: {
|
|
1271
|
+
/** @description Virtual data plane updated successfully */
|
|
1272
|
+
200: {
|
|
1273
|
+
headers: {
|
|
1274
|
+
[name: string]: unknown;
|
|
1275
|
+
};
|
|
1276
|
+
content: {
|
|
1277
|
+
'application/json': components['schemas']['UpdateVirtualDataplaneResponse'];
|
|
1278
|
+
};
|
|
1279
|
+
};
|
|
1280
|
+
/** @description Invalid request body */
|
|
1281
|
+
400: {
|
|
1282
|
+
headers: {
|
|
1283
|
+
[name: string]: unknown;
|
|
1284
|
+
};
|
|
1285
|
+
content?: never;
|
|
1286
|
+
};
|
|
1287
|
+
/** @description Virtual data plane not found, or the caller may not update it, or this deployment assigns virtual data planes automatically. The response does not say which. */
|
|
1288
|
+
404: {
|
|
1289
|
+
headers: {
|
|
1290
|
+
[name: string]: unknown;
|
|
1291
|
+
};
|
|
1292
|
+
content?: never;
|
|
1293
|
+
};
|
|
1294
|
+
};
|
|
1295
|
+
};
|
|
1296
|
+
deleteVirtualDataplane: {
|
|
1297
|
+
parameters: {
|
|
1298
|
+
query?: {
|
|
1299
|
+
/**
|
|
1300
|
+
* @description Archive the virtual data plane even when it still has active workspaces, archiving
|
|
1301
|
+
* those workspaces and their projects too. Without it, such a request fails with a 409
|
|
1302
|
+
* and no changes are made.
|
|
1303
|
+
*/
|
|
1304
|
+
dangerously_delete_child_scopes?: boolean;
|
|
1305
|
+
};
|
|
1306
|
+
header?: never;
|
|
1307
|
+
path: {
|
|
1308
|
+
/** @description The unique identifier of the virtual data plane to delete */
|
|
1309
|
+
virtual_dataplane_id: string;
|
|
1310
|
+
};
|
|
1311
|
+
cookie?: never;
|
|
1312
|
+
};
|
|
1313
|
+
requestBody?: never;
|
|
1314
|
+
responses: {
|
|
1315
|
+
/** @description Virtual data plane deleted successfully */
|
|
1316
|
+
200: {
|
|
1317
|
+
headers: {
|
|
1318
|
+
[name: string]: unknown;
|
|
1319
|
+
};
|
|
1320
|
+
content: {
|
|
1321
|
+
'application/json': components['schemas']['DeleteVirtualDataplaneResponse'];
|
|
1322
|
+
};
|
|
1323
|
+
};
|
|
1324
|
+
/** @description `dangerously_delete_child_scopes` is not `true` or `false` */
|
|
1325
|
+
400: {
|
|
1326
|
+
headers: {
|
|
1327
|
+
[name: string]: unknown;
|
|
1328
|
+
};
|
|
1329
|
+
content?: never;
|
|
1330
|
+
};
|
|
1331
|
+
/** @description Virtual data plane not found, or the caller may not delete it, or this deployment assigns virtual data planes automatically. The response does not say which. */
|
|
1332
|
+
404: {
|
|
1333
|
+
headers: {
|
|
1334
|
+
[name: string]: unknown;
|
|
1335
|
+
};
|
|
1336
|
+
content?: never;
|
|
1337
|
+
};
|
|
1338
|
+
/** @description The virtual data plane still has active workspaces and `dangerously_delete_child_scopes` was not set */
|
|
1339
|
+
409: {
|
|
1340
|
+
headers: {
|
|
1341
|
+
[name: string]: unknown;
|
|
1342
|
+
};
|
|
1343
|
+
content?: never;
|
|
1344
|
+
};
|
|
1345
|
+
};
|
|
1346
|
+
};
|
|
683
1347
|
}
|