@runpod/typescript-api-sdk 0.1.1 → 0.3.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/dist/index.d.cts +1166 -57
- package/dist/index.d.ts +1166 -57
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -5,6 +5,26 @@ import { Client } from 'openapi-fetch';
|
|
|
5
5
|
* Do not make direct changes to the file.
|
|
6
6
|
*/
|
|
7
7
|
interface paths {
|
|
8
|
+
"/v2/organization": {
|
|
9
|
+
parameters: {
|
|
10
|
+
query?: never;
|
|
11
|
+
header?: never;
|
|
12
|
+
path?: never;
|
|
13
|
+
cookie?: never;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Get your current organization
|
|
17
|
+
* @description Returns the authenticated caller's current organization. Organization context comes from the caller's membership; no organization selector is required. Returns 404 when the caller does not belong to an organization, or 403 when organizations are unavailable to the caller.
|
|
18
|
+
*/
|
|
19
|
+
get: operations["getOrganization"];
|
|
20
|
+
put?: never;
|
|
21
|
+
post?: never;
|
|
22
|
+
delete?: never;
|
|
23
|
+
options?: never;
|
|
24
|
+
head?: never;
|
|
25
|
+
patch?: never;
|
|
26
|
+
trace?: never;
|
|
27
|
+
};
|
|
8
28
|
"/v2/account/ssh-keys": {
|
|
9
29
|
parameters: {
|
|
10
30
|
query?: never;
|
|
@@ -29,6 +49,86 @@ interface paths {
|
|
|
29
49
|
patch?: never;
|
|
30
50
|
trace?: never;
|
|
31
51
|
};
|
|
52
|
+
"/v2/account/secrets": {
|
|
53
|
+
parameters: {
|
|
54
|
+
query?: never;
|
|
55
|
+
header?: never;
|
|
56
|
+
path?: never;
|
|
57
|
+
cookie?: never;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* List secrets
|
|
61
|
+
* @description Returns the account's secrets — encrypted strings referenced from pod, serverless, and template environment variables with the `{{ RUNPOD_SECRET_<name> }}` placeholder syntax, substituted with the secret's value when the pod or worker boots. Secret values are write-only and are never returned.
|
|
62
|
+
*/
|
|
63
|
+
get: operations["listSecrets"];
|
|
64
|
+
put?: never;
|
|
65
|
+
/**
|
|
66
|
+
* Create a secret
|
|
67
|
+
* @description Stores a new account-scoped encrypted string. `name` must be unique
|
|
68
|
+
* across the account's secrets and is immutable; `value` is write-only
|
|
69
|
+
* and can never be read back through the API.
|
|
70
|
+
*
|
|
71
|
+
* Use the secret from pods, serverless endpoints, and templates by
|
|
72
|
+
* setting an environment variable's value to
|
|
73
|
+
* `{{ RUNPOD_SECRET_<name> }}` — Runpod substitutes the stored value
|
|
74
|
+
* when the pod or worker boots.
|
|
75
|
+
*
|
|
76
|
+
* Returns `201` with the created secret's metadata, or `409` when the
|
|
77
|
+
* name is already taken.
|
|
78
|
+
*/
|
|
79
|
+
post: operations["createSecret"];
|
|
80
|
+
delete?: never;
|
|
81
|
+
options?: never;
|
|
82
|
+
head?: never;
|
|
83
|
+
patch?: never;
|
|
84
|
+
trace?: never;
|
|
85
|
+
};
|
|
86
|
+
"/v2/account/secrets/{id}": {
|
|
87
|
+
parameters: {
|
|
88
|
+
query?: never;
|
|
89
|
+
header?: never;
|
|
90
|
+
path: {
|
|
91
|
+
/**
|
|
92
|
+
* @description Secret identifier
|
|
93
|
+
* @example 2q9m7x4cavgd
|
|
94
|
+
*/
|
|
95
|
+
id: string;
|
|
96
|
+
};
|
|
97
|
+
cookie?: never;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Get a secret
|
|
101
|
+
* @description Returns a single secret's metadata by ID. The value is write-only and never returned.
|
|
102
|
+
*/
|
|
103
|
+
get: operations["getSecret"];
|
|
104
|
+
put?: never;
|
|
105
|
+
post?: never;
|
|
106
|
+
/**
|
|
107
|
+
* Delete a secret
|
|
108
|
+
* @description Permanently deletes a secret. Environment variables referencing the
|
|
109
|
+
* deleted secret's name will no longer resolve to a value.
|
|
110
|
+
*/
|
|
111
|
+
delete: operations["deleteSecret"];
|
|
112
|
+
options?: never;
|
|
113
|
+
head?: never;
|
|
114
|
+
/**
|
|
115
|
+
* Update a secret
|
|
116
|
+
* @description Rotates a secret's value and/or updates its description. Only the
|
|
117
|
+
* provided fields are changed and at least one field is required; the
|
|
118
|
+
* `name` is immutable.
|
|
119
|
+
*
|
|
120
|
+
* Pods and workers receive the new value at their next boot — running
|
|
121
|
+
* instances keep the value they were started with.
|
|
122
|
+
*
|
|
123
|
+
* When both fields are sent, the value is applied first, then the
|
|
124
|
+
* description. The two updates are not atomic: if the description
|
|
125
|
+
* update fails after the value was rotated, the response is an error
|
|
126
|
+
* but the new value has already taken effect. Send the fields in
|
|
127
|
+
* separate requests when that partial outcome matters.
|
|
128
|
+
*/
|
|
129
|
+
patch: operations["updateSecret"];
|
|
130
|
+
trace?: never;
|
|
131
|
+
};
|
|
32
132
|
"/v2/pods": {
|
|
33
133
|
parameters: {
|
|
34
134
|
query?: never;
|
|
@@ -41,6 +141,11 @@ interface paths {
|
|
|
41
141
|
* @description Returns pods owned by the authenticated user. Cluster member
|
|
42
142
|
* pods are excluded by default; set `includeClusterPods=true` to include
|
|
43
143
|
* them (each carries a non-null `cluster` membership block).
|
|
144
|
+
*
|
|
145
|
+
* Results are cursor-paginated newest-first; an omitted `limit`
|
|
146
|
+
* defaults to 1000. The cluster-member exclusion is applied before the
|
|
147
|
+
* page is cut, so a page holds `limit` pods whenever that many remain.
|
|
148
|
+
* Follow `pagination.nextCursor` until `hasNextPage` is false.
|
|
44
149
|
*/
|
|
45
150
|
get: operations["listPods"];
|
|
46
151
|
put?: never;
|
|
@@ -102,6 +207,15 @@ interface paths {
|
|
|
102
207
|
* | `429` | Rate limited. | Back off using `Retry-After`, then resume. |
|
|
103
208
|
* | `5xx` | Transient upstream failure. | Retry the same candidate with backoff. |
|
|
104
209
|
*
|
|
210
|
+
* Requests larger than 102400 bytes receive `413` before authentication
|
|
211
|
+
* or processing. Reduce the serialized JSON request body and retry.
|
|
212
|
+
*
|
|
213
|
+
* This limit also applies to the deployment request built from your input
|
|
214
|
+
* and any referenced template. A small request can therefore receive `413`
|
|
215
|
+
* if inherited template settings make the combined request too large.
|
|
216
|
+
* Reduce environment variables or command values in your request or template
|
|
217
|
+
* and retry.
|
|
218
|
+
*
|
|
105
219
|
* `400` covers both "your request breaks a rule" and "no capacity",
|
|
106
220
|
* because capacity exhaustion currently carries no machine-readable code
|
|
107
221
|
* of its own — only a human-readable `detail`. A rule violation is
|
|
@@ -255,7 +369,9 @@ interface paths {
|
|
|
255
369
|
};
|
|
256
370
|
/**
|
|
257
371
|
* List clusters
|
|
258
|
-
* @description Returns
|
|
372
|
+
* @description Returns clusters owned by the authenticated user, cursor-paginated
|
|
373
|
+
* newest-first; an omitted `limit` defaults to 1000. Follow
|
|
374
|
+
* `pagination.nextCursor` until `hasNextPage` is false.
|
|
259
375
|
*/
|
|
260
376
|
get: operations["listClusters"];
|
|
261
377
|
put?: never;
|
|
@@ -343,7 +459,9 @@ interface paths {
|
|
|
343
459
|
};
|
|
344
460
|
/**
|
|
345
461
|
* List serverless endpoints
|
|
346
|
-
* @description Returns
|
|
462
|
+
* @description Returns serverless endpoints owned by the authenticated user,
|
|
463
|
+
* cursor-paginated newest-first; an omitted `limit` defaults to 1000.
|
|
464
|
+
* Follow `pagination.nextCursor` until `hasNextPage` is false.
|
|
347
465
|
*/
|
|
348
466
|
get: operations["listEndpoints"];
|
|
349
467
|
put?: never;
|
|
@@ -439,8 +557,9 @@ interface paths {
|
|
|
439
557
|
*
|
|
440
558
|
* Mutable fields: `name`, `gpu`, `cpu`, `workers` (`min`/`max`),
|
|
441
559
|
* `scaling` (`type`/`value`/`idleTimeout`), `dataCenterIds`,
|
|
442
|
-
* `networkVolumes`, `timeout`, `flashboot`, and the
|
|
443
|
-
* (`image`, `args`, `disk`, `ports`, `env`,
|
|
560
|
+
* `networkVolumes`, `timeout`, `flashboot`, and the
|
|
561
|
+
* container settings (`image`, `args`, `disk`, `ports`, `env`,
|
|
562
|
+
* `registry`).
|
|
444
563
|
*
|
|
445
564
|
* Omitted compute preserves the current selection. `cpu` completely
|
|
446
565
|
* replaces a CPU endpoint's selection; compute family is immutable.
|
|
@@ -516,6 +635,10 @@ interface paths {
|
|
|
516
635
|
* release is a versioned configuration snapshot with a `diff` of what
|
|
517
636
|
* changed; build-driven releases carry a `buildId` (fetch build detail via
|
|
518
637
|
* the builds sub-routes).
|
|
638
|
+
*
|
|
639
|
+
* Releases are cursor-paginated newest-first; an omitted `limit`
|
|
640
|
+
* defaults to 1000. The rollout summary always describes the endpoint's
|
|
641
|
+
* current state, independent of the page requested.
|
|
519
642
|
*/
|
|
520
643
|
get: operations["listEndpointReleases"];
|
|
521
644
|
put?: never;
|
|
@@ -541,9 +664,10 @@ interface paths {
|
|
|
541
664
|
};
|
|
542
665
|
/**
|
|
543
666
|
* List serverless endpoint builds
|
|
544
|
-
* @description Returns the endpoint's GitHub build history, newest first (
|
|
545
|
-
* GitHub-build integration)
|
|
546
|
-
*
|
|
667
|
+
* @description Returns the endpoint's GitHub build history, newest first (Runpod
|
|
668
|
+
* GitHub-build integration), cursor-paginated; an omitted `limit`
|
|
669
|
+
* defaults to 100, so a bare request returns at most the 100 most
|
|
670
|
+
* recent builds. Any build can also be fetched by id via
|
|
547
671
|
* `GET /v2/serverless/{id}/builds/{buildId}`. Stream a build's logs via
|
|
548
672
|
* `/v2/serverless/{id}/builds/{buildId}/logs`.
|
|
549
673
|
*/
|
|
@@ -577,7 +701,7 @@ interface paths {
|
|
|
577
701
|
/**
|
|
578
702
|
* Get a serverless endpoint build
|
|
579
703
|
* @description Returns one of the endpoint's GitHub builds by id, regardless of age —
|
|
580
|
-
*
|
|
704
|
+
* no need to page through `GET /v2/serverless/{id}/builds` to reach it.
|
|
581
705
|
*/
|
|
582
706
|
get: operations["getEndpointBuild"];
|
|
583
707
|
put?: never;
|
|
@@ -634,7 +758,10 @@ interface paths {
|
|
|
634
758
|
};
|
|
635
759
|
/**
|
|
636
760
|
* List templates
|
|
637
|
-
* @description Returns
|
|
761
|
+
* @description Returns templates owned by the authenticated user (including
|
|
762
|
+
* team/organization-scoped ones), cursor-paginated; an omitted `limit`
|
|
763
|
+
* defaults to 1000. Follow `pagination.nextCursor` until `hasNextPage`
|
|
764
|
+
* is false.
|
|
638
765
|
*/
|
|
639
766
|
get: operations["listTemplates"];
|
|
640
767
|
put?: never;
|
|
@@ -709,7 +836,9 @@ interface paths {
|
|
|
709
836
|
};
|
|
710
837
|
/**
|
|
711
838
|
* List network volumes
|
|
712
|
-
* @description Returns
|
|
839
|
+
* @description Returns network volumes owned by the authenticated user,
|
|
840
|
+
* cursor-paginated newest-first; an omitted `limit` defaults to 1000.
|
|
841
|
+
* Follow `pagination.nextCursor` until `hasNextPage` is false.
|
|
713
842
|
*/
|
|
714
843
|
get: operations["listNetworkVolumes"];
|
|
715
844
|
put?: never;
|
|
@@ -768,6 +897,75 @@ interface paths {
|
|
|
768
897
|
patch: operations["updateNetworkVolume"];
|
|
769
898
|
trace?: never;
|
|
770
899
|
};
|
|
900
|
+
"/v2/global-volumes": {
|
|
901
|
+
parameters: {
|
|
902
|
+
query?: never;
|
|
903
|
+
header?: never;
|
|
904
|
+
path?: never;
|
|
905
|
+
cookie?: never;
|
|
906
|
+
};
|
|
907
|
+
/**
|
|
908
|
+
* List global volumes
|
|
909
|
+
* @description Returns global volumes owned by the authenticated user,
|
|
910
|
+
* cursor-paginated newest-first; an omitted `limit` defaults to 1000.
|
|
911
|
+
* Follow `pagination.nextCursor` until `hasNextPage` is false.
|
|
912
|
+
*/
|
|
913
|
+
get: operations["listGlobalVolumes"];
|
|
914
|
+
put?: never;
|
|
915
|
+
/**
|
|
916
|
+
* Create a global volume
|
|
917
|
+
* @description Provisions a new global volume — storage that mounts into workloads
|
|
918
|
+
* in any data center. Only a `name` is required; storage is provisioned
|
|
919
|
+
* for you. Accounts have a cap on how many global volumes they can
|
|
920
|
+
* hold; creating one past it fails with `400`.
|
|
921
|
+
*
|
|
922
|
+
* Returns `201` with the created global volume, including its assigned
|
|
923
|
+
* `id`.
|
|
924
|
+
*/
|
|
925
|
+
post: operations["createGlobalVolume"];
|
|
926
|
+
delete?: never;
|
|
927
|
+
options?: never;
|
|
928
|
+
head?: never;
|
|
929
|
+
patch?: never;
|
|
930
|
+
trace?: never;
|
|
931
|
+
};
|
|
932
|
+
"/v2/global-volumes/{id}": {
|
|
933
|
+
parameters: {
|
|
934
|
+
query?: never;
|
|
935
|
+
header?: never;
|
|
936
|
+
path: {
|
|
937
|
+
/**
|
|
938
|
+
* @description Global volume identifier
|
|
939
|
+
* @example gsb_abc
|
|
940
|
+
*/
|
|
941
|
+
id: string;
|
|
942
|
+
};
|
|
943
|
+
cookie?: never;
|
|
944
|
+
};
|
|
945
|
+
/**
|
|
946
|
+
* Get a global volume
|
|
947
|
+
* @description Returns a single global volume by ID.
|
|
948
|
+
*/
|
|
949
|
+
get: operations["getGlobalVolume"];
|
|
950
|
+
put?: never;
|
|
951
|
+
post?: never;
|
|
952
|
+
/**
|
|
953
|
+
* Delete a global volume
|
|
954
|
+
* @description Permanently deletes a global volume and its stored data. Fails with
|
|
955
|
+
* `409` while the volume is still mounted: terminate every pod that
|
|
956
|
+
* mounts it (stopped pods count) and detach it from every serverless
|
|
957
|
+
* endpoint first. Nothing is detached or terminated on your behalf.
|
|
958
|
+
*/
|
|
959
|
+
delete: operations["deleteGlobalVolume"];
|
|
960
|
+
options?: never;
|
|
961
|
+
head?: never;
|
|
962
|
+
/**
|
|
963
|
+
* Update a global volume
|
|
964
|
+
* @description Updates mutable fields on a global volume. Only provided fields are changed.
|
|
965
|
+
*/
|
|
966
|
+
patch: operations["updateGlobalVolume"];
|
|
967
|
+
trace?: never;
|
|
968
|
+
};
|
|
771
969
|
"/v2/registries": {
|
|
772
970
|
parameters: {
|
|
773
971
|
query?: never;
|
|
@@ -1010,7 +1208,9 @@ interface paths {
|
|
|
1010
1208
|
* templates (public or private) are managed under `/v2/templates`; fetch
|
|
1011
1209
|
* any individual template — catalog or owned — via `/v2/templates/{id}`.
|
|
1012
1210
|
*
|
|
1013
|
-
* At most 100 templates are returned.
|
|
1211
|
+
* At most 100 templates are returned. Cursor pagination is not yet
|
|
1212
|
+
* supported here; `pagination` is always the exhausted marker
|
|
1213
|
+
* (`nextCursor: null`, `hasNextPage: false`).
|
|
1014
1214
|
*/
|
|
1015
1215
|
get: operations["listPublicTemplates"];
|
|
1016
1216
|
put?: never;
|
|
@@ -1070,7 +1270,7 @@ interface paths {
|
|
|
1070
1270
|
};
|
|
1071
1271
|
/**
|
|
1072
1272
|
* Get serverless billing history
|
|
1073
|
-
* @description Returns serverless endpoint billing detail for the authenticated user, split into time buckets by startTime/endTime with bucketSize or by lastN recent buckets. Use serverlessId to filter to one endpoint; without it, records are emitted per serverless endpoint per bucket. Each record reports endpoint-level GPU, CPU, disk,
|
|
1273
|
+
* @description Returns serverless endpoint billing detail for the authenticated user, split into time buckets by startTime/endTime with bucketSize or by lastN recent buckets. Use serverlessId to filter to one endpoint; without it, records are emitted per serverless endpoint per bucket. Each record reports endpoint-level GPU, CPU, disk, and total amounts. This is distinct from pod billing, which covers standalone GPU and CPU pod costs rather than serverless endpoint workloads.
|
|
1074
1274
|
*/
|
|
1075
1275
|
get: operations["listServerlessBilling"];
|
|
1076
1276
|
put?: never;
|
|
@@ -1144,13 +1344,67 @@ interface paths {
|
|
|
1144
1344
|
}
|
|
1145
1345
|
interface components {
|
|
1146
1346
|
schemas: {
|
|
1147
|
-
/** @description
|
|
1347
|
+
/** @description The authenticated caller's current organization. */
|
|
1348
|
+
Organization: {
|
|
1349
|
+
/**
|
|
1350
|
+
* @description Organization ID.
|
|
1351
|
+
* @example org_id_abc_123
|
|
1352
|
+
*/
|
|
1353
|
+
id: string;
|
|
1354
|
+
/**
|
|
1355
|
+
* @description Organization name.
|
|
1356
|
+
* @example my-org
|
|
1357
|
+
*/
|
|
1358
|
+
name: string;
|
|
1359
|
+
};
|
|
1360
|
+
/** @description Cursor-pagination metadata, uniform across list endpoints. Every response carries it: follow `nextCursor` while `hasNextPage` is true to walk the full result set. */
|
|
1361
|
+
Pagination: {
|
|
1362
|
+
/**
|
|
1363
|
+
* @description Pass as the `cursor` query parameter to fetch the next page. Null on the last page.
|
|
1364
|
+
* @example null
|
|
1365
|
+
*/
|
|
1366
|
+
nextCursor: string | null;
|
|
1367
|
+
/**
|
|
1368
|
+
* @description Whether more items exist after this page.
|
|
1369
|
+
* @example false
|
|
1370
|
+
*/
|
|
1371
|
+
hasNextPage: boolean;
|
|
1372
|
+
};
|
|
1373
|
+
/** @description Mixin for cursor-paginated list responses. Compose it with `allOf` next to the resource's bare list schema so that a list shape shared with a non-paginated endpoint (e.g. a cluster's member pods) does not inherit a pagination block it cannot honour. */
|
|
1374
|
+
Paginated: {
|
|
1375
|
+
pagination: components["schemas"]["Pagination"];
|
|
1376
|
+
};
|
|
1377
|
+
/** @description Container configuration universal to every containerized resource. Compose ContainerConfig instead unless the resource cannot support a direct registry credential (clusters — there the registry credential arrives via a pod template, see CreateClusterRequest.templateId). */
|
|
1148
1378
|
BaseContainerConfig: {
|
|
1149
1379
|
/**
|
|
1150
|
-
* @description
|
|
1380
|
+
* @description The container's command, as a single raw string. This is the field `entrypoint` and `cmd` encode into, exposed in its stored form.
|
|
1381
|
+
*
|
|
1382
|
+
* Two shapes are accepted. A bare shell string is treated as CMD and split into arguments, which is what the console's "Container start command" field writes. A JSON object of the form `{"entrypoint":[...],"cmd":[...]}` sets either or both explicitly.
|
|
1383
|
+
*
|
|
1384
|
+
* Responses always return both representations: `args` exactly as stored, plus the deconstructed `entrypoint` and `cmd`. Supplying `args` together with `entrypoint` or `cmd` is allowed only when they describe the same command, so a read-modify-write client can send back everything it received. Send `""` to clear, omit to leave unchanged.
|
|
1385
|
+
* @example --model meta-llama/Llama-3-8B --max-model-len 8192
|
|
1386
|
+
* @example {"entrypoint":["/bin/bash","-c"],"cmd":["python -u main.py"]}
|
|
1151
1387
|
* @example
|
|
1152
1388
|
*/
|
|
1153
1389
|
args?: string;
|
|
1390
|
+
/**
|
|
1391
|
+
* @description Container CMD in exec form. When the image defines an ENTRYPOINT, this is the argument list passed to it. Encoded into the `args` field; supplying both is allowed only when they describe the same command. Send `[]` to clear, omit to leave unchanged.
|
|
1392
|
+
* @example [
|
|
1393
|
+
* "--model",
|
|
1394
|
+
* "meta-llama/Llama-3-8B",
|
|
1395
|
+
* "--max-model-len",
|
|
1396
|
+
* "8192"
|
|
1397
|
+
* ]
|
|
1398
|
+
*/
|
|
1399
|
+
cmd?: string[];
|
|
1400
|
+
/**
|
|
1401
|
+
* @description Container ENTRYPOINT in exec form, overriding the image's own. Encoded into `args` field; supplying both is allowed only when they describe the same command. Send `[]` to clear, omit to leave unchanged.
|
|
1402
|
+
* @example [
|
|
1403
|
+
* "/bin/bash",
|
|
1404
|
+
* "-c"
|
|
1405
|
+
* ]
|
|
1406
|
+
*/
|
|
1407
|
+
entrypoint?: string[];
|
|
1154
1408
|
/**
|
|
1155
1409
|
* @description Container disk in GB (ephemeral, wiped on restart)
|
|
1156
1410
|
* @example 50
|
|
@@ -1188,9 +1442,25 @@ interface components {
|
|
|
1188
1442
|
registry?: string | null;
|
|
1189
1443
|
};
|
|
1190
1444
|
/**
|
|
1191
|
-
* @description
|
|
1192
|
-
* `network` may be set:
|
|
1193
|
-
* `network` field is an array for forward compatibility
|
|
1445
|
+
* @description The mount kinds every resource that takes `mounts` shares. At most one
|
|
1446
|
+
* of `persistent` or `network` may be set: combining them is rejected
|
|
1447
|
+
* with 400. The `network` field is an array for forward compatibility
|
|
1448
|
+
* with multi-network-volume support; `maxItems` is 1.
|
|
1449
|
+
*/
|
|
1450
|
+
BaseMounts: {
|
|
1451
|
+
persistent?: components["schemas"]["PersistentMount"];
|
|
1452
|
+
network?: components["schemas"]["NetworkMount"][];
|
|
1453
|
+
};
|
|
1454
|
+
/**
|
|
1455
|
+
* @description Storage mounts for a cluster create: `persistent` or `network`, not
|
|
1456
|
+
* both. Clusters cannot mount global volumes, so `global` is rejected
|
|
1457
|
+
* with 422.
|
|
1458
|
+
*/
|
|
1459
|
+
ClusterMounts: components["schemas"]["BaseMounts"];
|
|
1460
|
+
/**
|
|
1461
|
+
* @description Storage mounts attached to a pod. `persistent` is mutually exclusive
|
|
1462
|
+
* with both `network` and `global`: combining them is rejected with 400.
|
|
1463
|
+
* The `network` field is an array for forward compatibility with
|
|
1194
1464
|
* multi-network-volume support; `maxItems` is 1.
|
|
1195
1465
|
*
|
|
1196
1466
|
* PATCH semantics:
|
|
@@ -1208,9 +1478,17 @@ interface components {
|
|
|
1208
1478
|
* include the full schema (`size` + `path` for persistent,
|
|
1209
1479
|
* `volumeId` + `path` for network). Missing required fields → 422.
|
|
1210
1480
|
*/
|
|
1211
|
-
Mounts: {
|
|
1212
|
-
|
|
1213
|
-
|
|
1481
|
+
Mounts: components["schemas"]["BaseMounts"] & {
|
|
1482
|
+
/**
|
|
1483
|
+
* @description At most one global volume, on GPU and CPU pods, with no data
|
|
1484
|
+
* center constraint. Combinable with `network` but not with
|
|
1485
|
+
* `persistent` (rejected with 400): upstream drops a persistent
|
|
1486
|
+
* disk whenever a volume is attached. Same PATCH rules as
|
|
1487
|
+
* `network`: global mounts are fixed at create, `global: []` is
|
|
1488
|
+
* rejected with 400, and `volumeId` is immutable; only `path` may
|
|
1489
|
+
* change.
|
|
1490
|
+
*/
|
|
1491
|
+
global?: components["schemas"]["GlobalMount"][];
|
|
1214
1492
|
};
|
|
1215
1493
|
/**
|
|
1216
1494
|
* @description Storage mounts attached to a template. Templates support a single
|
|
@@ -1257,6 +1535,23 @@ interface components {
|
|
|
1257
1535
|
*/
|
|
1258
1536
|
path: string;
|
|
1259
1537
|
};
|
|
1538
|
+
/**
|
|
1539
|
+
* @description Reference to a GlobalVolume. Usage-billed, so it has no size. The
|
|
1540
|
+
* underlying `volumeId` is immutable post-create; the mount `path` may be
|
|
1541
|
+
* changed via PATCH.
|
|
1542
|
+
*/
|
|
1543
|
+
GlobalMount: {
|
|
1544
|
+
/**
|
|
1545
|
+
* @description ID of an existing GlobalVolume.
|
|
1546
|
+
* @example gsb_abc
|
|
1547
|
+
*/
|
|
1548
|
+
volumeId: string;
|
|
1549
|
+
/**
|
|
1550
|
+
* @description Mount path inside the container. Optional on create, where a default is chosen for you; a PATCH that omits it leaves the path unchanged.
|
|
1551
|
+
* @example /data
|
|
1552
|
+
*/
|
|
1553
|
+
path?: string;
|
|
1554
|
+
};
|
|
1260
1555
|
BaseGpuConfig: {
|
|
1261
1556
|
/**
|
|
1262
1557
|
* @description GPU type identifier
|
|
@@ -1459,6 +1754,21 @@ interface components {
|
|
|
1459
1754
|
* @description Serverless GPU pool IDs (as returned by `GET /v2/catalog/gpus` in
|
|
1460
1755
|
* `pool`). Workers are placed on whichever listed pool has capacity.
|
|
1461
1756
|
* Narrow a pool down to specific cards with `excludedTypes`.
|
|
1757
|
+
*
|
|
1758
|
+
* On `PATCH`, `pools` and `excludedTypes` are one selection and are
|
|
1759
|
+
* replaced together, so sending `pools` by itself **clears the
|
|
1760
|
+
* exclusions**. Two cases:
|
|
1761
|
+
*
|
|
1762
|
+
* - **Changing pools, keeping exclusions** — send both fields in one
|
|
1763
|
+
* request: `{"gpu": {"pools": ["ADA_24"], "excludedTypes":
|
|
1764
|
+
* ["NVIDIA L40"]}}`. `GET` the endpoint first to read the current
|
|
1765
|
+
* `excludedTypes` and resend the ones that still apply to the new
|
|
1766
|
+
* pools; an exclusion naming a type outside `pools` is a 400.
|
|
1767
|
+
* - **Changing only `count` or a CUDA constraint** — omit `pools`:
|
|
1768
|
+
* `{"gpu": {"minCudaVersion": "12.4"}}`. The pool list and the
|
|
1769
|
+
* exclusions are both left exactly as they are.
|
|
1770
|
+
*
|
|
1771
|
+
* `excludedTypes` documents the full rule.
|
|
1462
1772
|
* @example [
|
|
1463
1773
|
* "ADA_24"
|
|
1464
1774
|
* ]
|
|
@@ -1503,6 +1813,21 @@ interface components {
|
|
|
1503
1813
|
* @description Serverless GPU pool IDs (as returned by `GET /v2/catalog/gpus` in
|
|
1504
1814
|
* `pool`). Workers are placed on whichever listed pool has capacity.
|
|
1505
1815
|
* Narrow a pool down to specific cards with `excludedTypes`.
|
|
1816
|
+
*
|
|
1817
|
+
* On `PATCH`, `pools` and `excludedTypes` are one selection and are
|
|
1818
|
+
* replaced together, so sending `pools` by itself **clears the
|
|
1819
|
+
* exclusions**. Two cases:
|
|
1820
|
+
*
|
|
1821
|
+
* - **Changing pools, keeping exclusions** — send both fields in one
|
|
1822
|
+
* request: `{"gpu": {"pools": ["ADA_24"], "excludedTypes":
|
|
1823
|
+
* ["NVIDIA L40"]}}`. `GET` the endpoint first to read the current
|
|
1824
|
+
* `excludedTypes` and resend the ones that still apply to the new
|
|
1825
|
+
* pools; an exclusion naming a type outside `pools` is a 400.
|
|
1826
|
+
* - **Changing only `count` or a CUDA constraint** — omit `pools`:
|
|
1827
|
+
* `{"gpu": {"minCudaVersion": "12.4"}}`. The pool list and the
|
|
1828
|
+
* exclusions are both left exactly as they are.
|
|
1829
|
+
*
|
|
1830
|
+
* `excludedTypes` documents the full rule.
|
|
1506
1831
|
* @example [
|
|
1507
1832
|
* "ADA_24"
|
|
1508
1833
|
* ]
|
|
@@ -1530,6 +1855,21 @@ interface components {
|
|
|
1530
1855
|
* @description Serverless GPU pool IDs (as returned by `GET /v2/catalog/gpus` in
|
|
1531
1856
|
* `pool`). Workers are placed on whichever listed pool has capacity.
|
|
1532
1857
|
* Narrow a pool down to specific cards with `excludedTypes`.
|
|
1858
|
+
*
|
|
1859
|
+
* On `PATCH`, `pools` and `excludedTypes` are one selection and are
|
|
1860
|
+
* replaced together, so sending `pools` by itself **clears the
|
|
1861
|
+
* exclusions**. Two cases:
|
|
1862
|
+
*
|
|
1863
|
+
* - **Changing pools, keeping exclusions** — send both fields in one
|
|
1864
|
+
* request: `{"gpu": {"pools": ["ADA_24"], "excludedTypes":
|
|
1865
|
+
* ["NVIDIA L40"]}}`. `GET` the endpoint first to read the current
|
|
1866
|
+
* `excludedTypes` and resend the ones that still apply to the new
|
|
1867
|
+
* pools; an exclusion naming a type outside `pools` is a 400.
|
|
1868
|
+
* - **Changing only `count` or a CUDA constraint** — omit `pools`:
|
|
1869
|
+
* `{"gpu": {"minCudaVersion": "12.4"}}`. The pool list and the
|
|
1870
|
+
* exclusions are both left exactly as they are.
|
|
1871
|
+
*
|
|
1872
|
+
* `excludedTypes` documents the full rule.
|
|
1533
1873
|
* @example [
|
|
1534
1874
|
* "ADA_24"
|
|
1535
1875
|
* ]
|
|
@@ -1693,11 +2033,13 @@ interface components {
|
|
|
1693
2033
|
*/
|
|
1694
2034
|
dataCenterIds: string[];
|
|
1695
2035
|
/**
|
|
2036
|
+
* @deprecated
|
|
1696
2037
|
* @example [
|
|
1697
2038
|
* "vol_abc"
|
|
1698
2039
|
* ]
|
|
1699
2040
|
*/
|
|
1700
2041
|
networkVolumes: string[];
|
|
2042
|
+
mounts: components["schemas"]["EndpointMounts"];
|
|
1701
2043
|
/**
|
|
1702
2044
|
* @description Per-request execution timeout in milliseconds
|
|
1703
2045
|
* @example 300000
|
|
@@ -1712,6 +2054,7 @@ interface components {
|
|
|
1712
2054
|
};
|
|
1713
2055
|
ListEndpointsResponse: {
|
|
1714
2056
|
endpoints: components["schemas"]["Endpoint"][];
|
|
2057
|
+
pagination: components["schemas"]["Pagination"];
|
|
1715
2058
|
};
|
|
1716
2059
|
/**
|
|
1717
2060
|
* @description Derived worker state, reconciled from the worker pod's lifecycle status
|
|
@@ -1881,11 +2224,13 @@ interface components {
|
|
|
1881
2224
|
};
|
|
1882
2225
|
ListEndpointBuildsResponse: {
|
|
1883
2226
|
/**
|
|
1884
|
-
* @description Build history, newest first
|
|
1885
|
-
*
|
|
2227
|
+
* @description Build history, newest first, cursor-paginated (an omitted `limit`
|
|
2228
|
+
* defaults to 100). Page with `cursor`/`limit` to walk the full
|
|
2229
|
+
* history, or fetch any build by id via
|
|
1886
2230
|
* `GET /v2/serverless/{id}/builds/{buildId}`.
|
|
1887
2231
|
*/
|
|
1888
2232
|
builds: components["schemas"]["Build"][];
|
|
2233
|
+
pagination: components["schemas"]["Pagination"];
|
|
1889
2234
|
};
|
|
1890
2235
|
ReleaseDiffEntry: {
|
|
1891
2236
|
/**
|
|
@@ -1962,6 +2307,7 @@ interface components {
|
|
|
1962
2307
|
rollout: components["schemas"]["RolloutSummary"];
|
|
1963
2308
|
/** @description Release history, newest first. */
|
|
1964
2309
|
releases: components["schemas"]["Release"][];
|
|
2310
|
+
pagination: components["schemas"]["Pagination"];
|
|
1965
2311
|
};
|
|
1966
2312
|
CreateEndpointRequest: components["schemas"]["ContainerConfig"] & unknown & {
|
|
1967
2313
|
gpu?: components["schemas"]["CreateEndpointGpuConfig"];
|
|
@@ -1983,7 +2329,12 @@ interface components {
|
|
|
1983
2329
|
dataCenterIds?: string[];
|
|
1984
2330
|
/** @default OFF */
|
|
1985
2331
|
flashboot?: components["schemas"]["FlashBoot"];
|
|
2332
|
+
/**
|
|
2333
|
+
* @deprecated
|
|
2334
|
+
* @description Network volume IDs.
|
|
2335
|
+
*/
|
|
1986
2336
|
networkVolumes?: string[];
|
|
2337
|
+
mounts?: components["schemas"]["EndpointMountsInput"];
|
|
1987
2338
|
/**
|
|
1988
2339
|
* @description ID of a serverless template to base this endpoint on. The
|
|
1989
2340
|
* template is resolved at create time into the same container
|
|
@@ -2027,7 +2378,12 @@ interface components {
|
|
|
2027
2378
|
flashboot?: components["schemas"]["FlashBoot"];
|
|
2028
2379
|
gpu?: components["schemas"]["UpdateEndpointGpuConfig"];
|
|
2029
2380
|
name?: string;
|
|
2381
|
+
/**
|
|
2382
|
+
* @deprecated
|
|
2383
|
+
* @description Network volume IDs. Pass `[]` to detach.
|
|
2384
|
+
*/
|
|
2030
2385
|
networkVolumes?: string[];
|
|
2386
|
+
mounts?: components["schemas"]["EndpointMountsInput"];
|
|
2031
2387
|
scaling?: components["schemas"]["EndpointScaling"];
|
|
2032
2388
|
/**
|
|
2033
2389
|
* @description ID of a serverless template whose container settings are
|
|
@@ -2189,6 +2545,61 @@ interface components {
|
|
|
2189
2545
|
*/
|
|
2190
2546
|
keys: string[];
|
|
2191
2547
|
};
|
|
2548
|
+
/** @description An account-scoped secret: an encrypted string stored by Runpod, referenced from pod, serverless, and template environment variables with the `{{ RUNPOD_SECRET_<name> }}` placeholder, substituted with the secret's value when the pod or worker boots. The value is write-only and never returned by the API. */
|
|
2549
|
+
Secret: {
|
|
2550
|
+
/**
|
|
2551
|
+
* @description Unique secret identifier
|
|
2552
|
+
* @example 2q9m7x4cavgd
|
|
2553
|
+
*/
|
|
2554
|
+
id: string;
|
|
2555
|
+
/**
|
|
2556
|
+
* @description Unique, human-readable name — the `<name>` referenced by the `RUNPOD_SECRET_<name>` placeholder. Immutable after creation.
|
|
2557
|
+
* @example hf-token
|
|
2558
|
+
*/
|
|
2559
|
+
name: string;
|
|
2560
|
+
/**
|
|
2561
|
+
* @description Human-readable description
|
|
2562
|
+
* @example Hugging Face read token
|
|
2563
|
+
*/
|
|
2564
|
+
description?: string | null;
|
|
2565
|
+
/**
|
|
2566
|
+
* Format: date-time
|
|
2567
|
+
* @description When the secret was created
|
|
2568
|
+
*/
|
|
2569
|
+
createdAt: string;
|
|
2570
|
+
/**
|
|
2571
|
+
* Format: date-time
|
|
2572
|
+
* @description When the secret's value was last set (creation or rotation)
|
|
2573
|
+
*/
|
|
2574
|
+
valueLastUpdatedAt?: string | null;
|
|
2575
|
+
};
|
|
2576
|
+
CreateSecretRequest: {
|
|
2577
|
+
/**
|
|
2578
|
+
* @description Unique name for the secret — referenced from environment variables as `{{ RUNPOD_SECRET_<name> }}`; immutable after creation. Maximum 191 characters, must start with a letter or underscore, and may contain letters, digits, and `_.-/`. Names beginning with the reserved prefix `RUNPOD` are rejected (case-insensitive).
|
|
2579
|
+
* @example hf-token
|
|
2580
|
+
*/
|
|
2581
|
+
name: string;
|
|
2582
|
+
/** @description The secret value. Write-only — never returned by the API. Must be smaller than 16 MiB of UTF-8 text (strictly under 16,777,216 bytes). */
|
|
2583
|
+
value: string;
|
|
2584
|
+
/**
|
|
2585
|
+
* @description Optional human-readable description, at most 65,535 bytes of UTF-8 text.
|
|
2586
|
+
* @example Hugging Face read token
|
|
2587
|
+
*/
|
|
2588
|
+
description?: string;
|
|
2589
|
+
};
|
|
2590
|
+
/**
|
|
2591
|
+
* @description Only the provided fields are updated; at least one field is required.
|
|
2592
|
+
* The secret's `name` is immutable.
|
|
2593
|
+
*/
|
|
2594
|
+
UpdateSecretRequest: {
|
|
2595
|
+
/** @description New secret value, replacing the current one. Write-only. Must be smaller than 16 MiB of UTF-8 text (strictly under 16,777,216 bytes). */
|
|
2596
|
+
value?: string;
|
|
2597
|
+
/** @description New human-readable description, at most 65,535 bytes of UTF-8 text. Send `""` to clear. */
|
|
2598
|
+
description?: string;
|
|
2599
|
+
};
|
|
2600
|
+
ListSecretsResponse: {
|
|
2601
|
+
secrets: components["schemas"]["Secret"][];
|
|
2602
|
+
};
|
|
2192
2603
|
Pod: {
|
|
2193
2604
|
/**
|
|
2194
2605
|
* @description Docker image reference
|
|
@@ -2196,7 +2607,13 @@ interface components {
|
|
|
2196
2607
|
*/
|
|
2197
2608
|
image: string;
|
|
2198
2609
|
/**
|
|
2199
|
-
* @description
|
|
2610
|
+
* @description The container's command, as a single raw string. This is the field `entrypoint` and `cmd` encode into, exposed in its stored form.
|
|
2611
|
+
*
|
|
2612
|
+
* Two shapes are accepted. A bare shell string is treated as CMD and split into arguments, which is what the console's "Container start command" field writes. A JSON object of the form `{"entrypoint":[...],"cmd":[...]}` sets either or both explicitly.
|
|
2613
|
+
*
|
|
2614
|
+
* Responses always return both representations: `args` exactly as stored, plus the deconstructed `entrypoint` and `cmd`. Supplying `args` together with `entrypoint` or `cmd` is allowed only when they describe the same command, so a read-modify-write client can send back everything it received. Send `""` to clear, omit to leave unchanged.
|
|
2615
|
+
* @example --model meta-llama/Llama-3-8B --max-model-len 8192
|
|
2616
|
+
* @example {"entrypoint":["/bin/bash","-c"],"cmd":["python -u main.py"]}
|
|
2200
2617
|
* @example
|
|
2201
2618
|
*/
|
|
2202
2619
|
args: string;
|
|
@@ -2314,7 +2731,7 @@ interface components {
|
|
|
2314
2731
|
* @description Create-time flag telling the provisioner to start JupyterLab:
|
|
2315
2732
|
* injects a generated `JUPYTER_PASSWORD` environment variable,
|
|
2316
2733
|
* unless the request already sets one. Only images that honor
|
|
2317
|
-
* the convention start Jupyter from it (
|
|
2734
|
+
* the convention start Jupyter from it (Runpod official images
|
|
2318
2735
|
* do); expose `8888/http` in `ports` to reach it.
|
|
2319
2736
|
*
|
|
2320
2737
|
* Not part of the pod's readable config — never returned by
|
|
@@ -2330,7 +2747,7 @@ interface components {
|
|
|
2330
2747
|
* already sets one. **Requires registered keys** (`PUT
|
|
2331
2748
|
* /v2/account/ssh-keys`) — with none registered the flag does
|
|
2332
2749
|
* nothing and the pod has no SSH access. Only images that honor
|
|
2333
|
-
* the convention start sshd from it (all
|
|
2750
|
+
* the convention start sshd from it (all Runpod official images
|
|
2334
2751
|
* do). Connect using the pod's `ssh` block; the `ssh.direct`
|
|
2335
2752
|
* variant additionally needs a `22/tcp` entry in `ports`.
|
|
2336
2753
|
*
|
|
@@ -2386,9 +2803,11 @@ interface components {
|
|
|
2386
2803
|
PodActionRequest: {
|
|
2387
2804
|
action: components["schemas"]["PodAction"];
|
|
2388
2805
|
};
|
|
2389
|
-
ListPodsResponse
|
|
2806
|
+
/** @description A bare list of pods. `GET /v2/clusters/{id}/pods` returns it as-is (a cluster's members are a small, complete set); `GET /v2/pods` composes it with the pagination block via ListPodsResponse. */
|
|
2807
|
+
PodList: {
|
|
2390
2808
|
pods: components["schemas"]["Pod"][];
|
|
2391
2809
|
};
|
|
2810
|
+
ListPodsResponse: components["schemas"]["PodList"] & components["schemas"]["Paginated"];
|
|
2392
2811
|
/**
|
|
2393
2812
|
* @description Cluster type. TRAINING is the generic distributed-training cluster; SLURM provisions a managed Slurm controller/compute topology; RAY provisions a managed Ray head/worker topology; APPLICATION is a general multi-node application cluster.
|
|
2394
2813
|
* @example TRAINING
|
|
@@ -2522,6 +2941,18 @@ interface components {
|
|
|
2522
2941
|
/** @example my-training-cluster */
|
|
2523
2942
|
name: string;
|
|
2524
2943
|
type: components["schemas"]["ClusterType"];
|
|
2944
|
+
/**
|
|
2945
|
+
* @description ID of a pod template to provision every member pod from. The
|
|
2946
|
+
* template supplies the container settings (image, args, disk,
|
|
2947
|
+
* env, ports) and the container registry credential for private
|
|
2948
|
+
* images — the only private-image path for clusters. Mutually
|
|
2949
|
+
* exclusive with `image`, `args`, `entrypoint`, `cmd`, `disk`,
|
|
2950
|
+
* `env`, `ports`, and `mounts` (rejected with 400). The cluster
|
|
2951
|
+
* retains the link: the `template` response field is set. Must be
|
|
2952
|
+
* a non-serverless pod template accessible to the caller.
|
|
2953
|
+
* @example 30zmvf89kd
|
|
2954
|
+
*/
|
|
2955
|
+
templateId?: string;
|
|
2525
2956
|
/**
|
|
2526
2957
|
* @description Preferred data centers for placement. Omit or pass an empty
|
|
2527
2958
|
* array to let the scheduler choose. A cluster is always placed
|
|
@@ -2531,7 +2962,7 @@ interface components {
|
|
|
2531
2962
|
* ]
|
|
2532
2963
|
*/
|
|
2533
2964
|
dataCenterIds?: string[];
|
|
2534
|
-
mounts?: components["schemas"]["
|
|
2965
|
+
mounts?: components["schemas"]["ClusterMounts"];
|
|
2535
2966
|
/**
|
|
2536
2967
|
* @description Start Jupyter on every member pod, as on pod create.
|
|
2537
2968
|
* @default false
|
|
@@ -2554,6 +2985,7 @@ interface components {
|
|
|
2554
2985
|
};
|
|
2555
2986
|
ListClustersResponse: {
|
|
2556
2987
|
clusters: components["schemas"]["Cluster"][];
|
|
2988
|
+
pagination: components["schemas"]["Pagination"];
|
|
2557
2989
|
};
|
|
2558
2990
|
Template: {
|
|
2559
2991
|
/**
|
|
@@ -2562,7 +2994,13 @@ interface components {
|
|
|
2562
2994
|
*/
|
|
2563
2995
|
image: string;
|
|
2564
2996
|
/**
|
|
2565
|
-
* @description
|
|
2997
|
+
* @description The container's command, as a single raw string. This is the field `entrypoint` and `cmd` encode into, exposed in its stored form.
|
|
2998
|
+
*
|
|
2999
|
+
* Two shapes are accepted. A bare shell string is treated as CMD and split into arguments, which is what the console's "Container start command" field writes. A JSON object of the form `{"entrypoint":[...],"cmd":[...]}` sets either or both explicitly.
|
|
3000
|
+
*
|
|
3001
|
+
* Responses always return both representations: `args` exactly as stored, plus the deconstructed `entrypoint` and `cmd`. Supplying `args` together with `entrypoint` or `cmd` is allowed only when they describe the same command, so a read-modify-write client can send back everything it received. Send `""` to clear, omit to leave unchanged.
|
|
3002
|
+
* @example --model meta-llama/Llama-3-8B --max-model-len 8192
|
|
3003
|
+
* @example {"entrypoint":["/bin/bash","-c"],"cmd":["python -u main.py"]}
|
|
2566
3004
|
* @example
|
|
2567
3005
|
*/
|
|
2568
3006
|
args: string;
|
|
@@ -2661,7 +3099,7 @@ interface components {
|
|
|
2661
3099
|
* @description Start JupyterLab in containers created from this template:
|
|
2662
3100
|
* injects a generated `JUPYTER_PASSWORD` environment variable,
|
|
2663
3101
|
* unless `env` already sets one. Only images that honor the
|
|
2664
|
-
* convention start Jupyter from it (
|
|
3102
|
+
* convention start Jupyter from it (Runpod official images do);
|
|
2665
3103
|
* expose `8888/http` in `ports` to reach it. Defaults to `true`
|
|
2666
3104
|
* when omitted, matching console-created templates.
|
|
2667
3105
|
* @default true
|
|
@@ -2674,7 +3112,7 @@ interface components {
|
|
|
2674
3112
|
* deployer's registered SSH public keys (`PUT
|
|
2675
3113
|
* /v2/account/ssh-keys` — with none registered the flag does
|
|
2676
3114
|
* nothing), unless `env` already sets one. Only images that
|
|
2677
|
-
* honor the convention start sshd from it (all
|
|
3115
|
+
* honor the convention start sshd from it (all Runpod official
|
|
2678
3116
|
* images do); direct SSH also needs a `22/tcp` entry in
|
|
2679
3117
|
* `ports`. Defaults to `true` when omitted, matching
|
|
2680
3118
|
* console-created templates.
|
|
@@ -2696,9 +3134,11 @@ interface components {
|
|
|
2696
3134
|
/** @description Provision SSH access at container startup (`PUBLIC_KEY` env injection). See the create-time field for details. */
|
|
2697
3135
|
startSsh?: boolean;
|
|
2698
3136
|
};
|
|
2699
|
-
ListTemplatesResponse
|
|
3137
|
+
/** @description A bare list of templates. `GET /v2/catalog/templates` returns it as-is (the catalog is a capped, curated set); `GET /v2/templates` composes it with the pagination block via ListTemplatesResponse. */
|
|
3138
|
+
TemplateList: {
|
|
2700
3139
|
templates: components["schemas"]["Template"][];
|
|
2701
3140
|
};
|
|
3141
|
+
ListTemplatesResponse: components["schemas"]["TemplateList"] & components["schemas"]["Paginated"];
|
|
2702
3142
|
NetworkVolume: {
|
|
2703
3143
|
/**
|
|
2704
3144
|
* @description Unique network volume identifier
|
|
@@ -2767,6 +3207,79 @@ interface components {
|
|
|
2767
3207
|
};
|
|
2768
3208
|
ListNetworkVolumesResponse: {
|
|
2769
3209
|
networkVolumes: components["schemas"]["NetworkVolume"][];
|
|
3210
|
+
pagination: components["schemas"]["Pagination"];
|
|
3211
|
+
};
|
|
3212
|
+
GlobalVolume: {
|
|
3213
|
+
/**
|
|
3214
|
+
* @description Unique global volume identifier
|
|
3215
|
+
* @example gsb_abc
|
|
3216
|
+
*/
|
|
3217
|
+
id: string;
|
|
3218
|
+
/**
|
|
3219
|
+
* @description Human-readable name (not required to be unique)
|
|
3220
|
+
* @example training-data
|
|
3221
|
+
*/
|
|
3222
|
+
name: string;
|
|
3223
|
+
/**
|
|
3224
|
+
* Format: date-time
|
|
3225
|
+
* @description When the volume was created
|
|
3226
|
+
*/
|
|
3227
|
+
createdAt: string;
|
|
3228
|
+
/**
|
|
3229
|
+
* @description ID of the user who created the volume, if known
|
|
3230
|
+
* @example user_123
|
|
3231
|
+
*/
|
|
3232
|
+
createdByUserId: string | null;
|
|
3233
|
+
};
|
|
3234
|
+
CreateGlobalVolumeRequest: {
|
|
3235
|
+
/**
|
|
3236
|
+
* @description Human-readable name, 1–191 characters with at least one non-whitespace character. Leading and trailing whitespace is trimmed.
|
|
3237
|
+
* @example training-data
|
|
3238
|
+
*/
|
|
3239
|
+
name: string;
|
|
3240
|
+
};
|
|
3241
|
+
/**
|
|
3242
|
+
* @description Only the provided fields are updated. At least one field must be
|
|
3243
|
+
* present; an empty body is rejected.
|
|
3244
|
+
*/
|
|
3245
|
+
UpdateGlobalVolumeRequest: {
|
|
3246
|
+
/**
|
|
3247
|
+
* @description New human-readable name, 1–191 characters with at least one non-whitespace character. Leading and trailing whitespace is trimmed.
|
|
3248
|
+
* @example renamed-volume
|
|
3249
|
+
*/
|
|
3250
|
+
name?: string;
|
|
3251
|
+
};
|
|
3252
|
+
ListGlobalVolumesResponse: {
|
|
3253
|
+
globalVolumes: components["schemas"]["GlobalVolume"][];
|
|
3254
|
+
pagination: components["schemas"]["Pagination"];
|
|
3255
|
+
};
|
|
3256
|
+
/** @description A volume mounted on every worker, always at `/runpod-volume`. */
|
|
3257
|
+
EndpointMount: {
|
|
3258
|
+
/**
|
|
3259
|
+
* @description ID of a NetworkVolume (under `network`) or GlobalVolume (under `global`).
|
|
3260
|
+
* @example vol_abc
|
|
3261
|
+
*/
|
|
3262
|
+
volumeId: string;
|
|
3263
|
+
};
|
|
3264
|
+
/** @description Volumes mounted on every worker of the endpoint. */
|
|
3265
|
+
EndpointMounts: {
|
|
3266
|
+
network: components["schemas"]["EndpointMount"][];
|
|
3267
|
+
global: components["schemas"]["EndpointMount"][];
|
|
3268
|
+
};
|
|
3269
|
+
/**
|
|
3270
|
+
* @description Volumes to mount on the endpoint's workers. A `network` or `global`
|
|
3271
|
+
* list that is present replaces the endpoint's current list of that kind;
|
|
3272
|
+
* an empty list detaches it, and an omitted list is left unchanged. Both
|
|
3273
|
+
* kinds cannot be present on the endpoint at once, so to switch kinds send
|
|
3274
|
+
* `[]` for one and the new list for the other in the same request. Changes
|
|
3275
|
+
* apply to workers created afterwards. At most one global volume, GPU
|
|
3276
|
+
* endpoints only. `network` may accompany the deprecated `networkVolumes` field
|
|
3277
|
+
* only if the two agree exactly.
|
|
3278
|
+
*/
|
|
3279
|
+
EndpointMountsInput: {
|
|
3280
|
+
/** @description Network volumes, at most one per data center. */
|
|
3281
|
+
network?: components["schemas"]["EndpointMount"][];
|
|
3282
|
+
global?: components["schemas"]["EndpointMount"][];
|
|
2770
3283
|
};
|
|
2771
3284
|
Registry: {
|
|
2772
3285
|
/** @example reg_abc */
|
|
@@ -3158,7 +3671,7 @@ interface components {
|
|
|
3158
3671
|
* @enum {string}
|
|
3159
3672
|
*/
|
|
3160
3673
|
BillingBucketSize: "hour" | "day" | "week" | "month" | "year";
|
|
3161
|
-
/** @description Total spend across all billable Runpod resources with each cost component broken out, fully prefixed by resource. Backs the aggregate record's amounts and the metadata totals. */
|
|
3674
|
+
/** @description Total spend across all billable Runpod resources with each cost component broken out, fully prefixed by resource. Backs the aggregate record's amounts and the metadata totals. Serverless amounts are inclusive of platform charges. */
|
|
3162
3675
|
BillingAmounts: {
|
|
3163
3676
|
/**
|
|
3164
3677
|
* Format: double
|
|
@@ -3198,7 +3711,8 @@ interface components {
|
|
|
3198
3711
|
serverlessDiskAmount: number;
|
|
3199
3712
|
/**
|
|
3200
3713
|
* Format: double
|
|
3201
|
-
* @
|
|
3714
|
+
* @deprecated
|
|
3715
|
+
* @description Unused and always 0. Platform charges are included in the serverless compute amounts.
|
|
3202
3716
|
*/
|
|
3203
3717
|
serverlessFeeAmount: number;
|
|
3204
3718
|
/**
|
|
@@ -3266,7 +3780,7 @@ interface components {
|
|
|
3266
3780
|
*/
|
|
3267
3781
|
podId: string;
|
|
3268
3782
|
};
|
|
3269
|
-
/** @description Serverless cost components. Backs a record's amounts and the metadata totals. */
|
|
3783
|
+
/** @description Serverless cost components, inclusive of platform charges. Backs a record's amounts and the metadata totals. */
|
|
3270
3784
|
ServerlessBillingAmounts: {
|
|
3271
3785
|
/**
|
|
3272
3786
|
* Format: double
|
|
@@ -3291,7 +3805,8 @@ interface components {
|
|
|
3291
3805
|
diskAmount: number;
|
|
3292
3806
|
/**
|
|
3293
3807
|
* Format: double
|
|
3294
|
-
* @
|
|
3808
|
+
* @deprecated
|
|
3809
|
+
* @description Unused and always 0. Platform charges are included in the GPU and CPU amounts.
|
|
3295
3810
|
*/
|
|
3296
3811
|
feeAmount: number;
|
|
3297
3812
|
};
|
|
@@ -3617,6 +4132,21 @@ interface components {
|
|
|
3617
4132
|
* @example 30
|
|
3618
4133
|
*/
|
|
3619
4134
|
BillingLastN: number;
|
|
4135
|
+
/**
|
|
4136
|
+
* @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
|
|
4137
|
+
* @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
|
|
4138
|
+
*/
|
|
4139
|
+
PaginationCursor: string;
|
|
4140
|
+
/**
|
|
4141
|
+
* @description Page size, 1–1000. Defaults to 1000 when omitted.
|
|
4142
|
+
* @example 50
|
|
4143
|
+
*/
|
|
4144
|
+
PaginationLimit: number;
|
|
4145
|
+
/**
|
|
4146
|
+
* @description Page size, 1–100. Defaults to 100 when omitted.
|
|
4147
|
+
* @example 50
|
|
4148
|
+
*/
|
|
4149
|
+
PaginationLimitBuilds: number;
|
|
3620
4150
|
/**
|
|
3621
4151
|
* @description Comma-separated optional expansions; see `CatalogInclude` for the supported values.
|
|
3622
4152
|
* @example [
|
|
@@ -3697,7 +4227,7 @@ interface components {
|
|
|
3697
4227
|
pathItems: never;
|
|
3698
4228
|
}
|
|
3699
4229
|
interface operations {
|
|
3700
|
-
|
|
4230
|
+
getOrganization: {
|
|
3701
4231
|
parameters: {
|
|
3702
4232
|
query?: never;
|
|
3703
4233
|
header?: never;
|
|
@@ -3714,11 +4244,12 @@ interface operations {
|
|
|
3714
4244
|
[name: string]: unknown;
|
|
3715
4245
|
};
|
|
3716
4246
|
content: {
|
|
3717
|
-
"application/json": components["schemas"]["
|
|
4247
|
+
"application/json": components["schemas"]["Organization"];
|
|
3718
4248
|
};
|
|
3719
4249
|
};
|
|
3720
4250
|
401: components["responses"]["UnauthorizedError"];
|
|
3721
4251
|
403: components["responses"]["ForbiddenError"];
|
|
4252
|
+
404: components["responses"]["NotFoundError"];
|
|
3722
4253
|
429: components["responses"]["TooManyRequestsError"];
|
|
3723
4254
|
/** @description Error */
|
|
3724
4255
|
default: {
|
|
@@ -3733,20 +4264,16 @@ interface operations {
|
|
|
3733
4264
|
};
|
|
3734
4265
|
};
|
|
3735
4266
|
};
|
|
3736
|
-
|
|
4267
|
+
getSshKeys: {
|
|
3737
4268
|
parameters: {
|
|
3738
4269
|
query?: never;
|
|
3739
4270
|
header?: never;
|
|
3740
4271
|
path?: never;
|
|
3741
4272
|
cookie?: never;
|
|
3742
4273
|
};
|
|
3743
|
-
requestBody
|
|
3744
|
-
content: {
|
|
3745
|
-
"application/json": components["schemas"]["UpdateSshKeysRequest"];
|
|
3746
|
-
};
|
|
3747
|
-
};
|
|
4274
|
+
requestBody?: never;
|
|
3748
4275
|
responses: {
|
|
3749
|
-
/** @description OK
|
|
4276
|
+
/** @description OK */
|
|
3750
4277
|
200: {
|
|
3751
4278
|
headers: {
|
|
3752
4279
|
RateLimit: components["headers"]["RateLimit"];
|
|
@@ -3759,7 +4286,6 @@ interface operations {
|
|
|
3759
4286
|
};
|
|
3760
4287
|
401: components["responses"]["UnauthorizedError"];
|
|
3761
4288
|
403: components["responses"]["ForbiddenError"];
|
|
3762
|
-
422: components["responses"]["UnprocessableEntityError"];
|
|
3763
4289
|
429: components["responses"]["TooManyRequestsError"];
|
|
3764
4290
|
/** @description Error */
|
|
3765
4291
|
default: {
|
|
@@ -3774,14 +4300,288 @@ interface operations {
|
|
|
3774
4300
|
};
|
|
3775
4301
|
};
|
|
3776
4302
|
};
|
|
3777
|
-
|
|
4303
|
+
updateSshKeys: {
|
|
3778
4304
|
parameters: {
|
|
3779
|
-
query?:
|
|
3780
|
-
|
|
3781
|
-
|
|
4305
|
+
query?: never;
|
|
4306
|
+
header?: never;
|
|
4307
|
+
path?: never;
|
|
4308
|
+
cookie?: never;
|
|
4309
|
+
};
|
|
4310
|
+
requestBody: {
|
|
4311
|
+
content: {
|
|
4312
|
+
"application/json": components["schemas"]["UpdateSshKeysRequest"];
|
|
4313
|
+
};
|
|
4314
|
+
};
|
|
4315
|
+
responses: {
|
|
4316
|
+
/** @description OK — the updated key set */
|
|
4317
|
+
200: {
|
|
4318
|
+
headers: {
|
|
4319
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
4320
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
4321
|
+
[name: string]: unknown;
|
|
4322
|
+
};
|
|
4323
|
+
content: {
|
|
4324
|
+
"application/json": components["schemas"]["SshKeys"];
|
|
4325
|
+
};
|
|
4326
|
+
};
|
|
4327
|
+
401: components["responses"]["UnauthorizedError"];
|
|
4328
|
+
403: components["responses"]["ForbiddenError"];
|
|
4329
|
+
422: components["responses"]["UnprocessableEntityError"];
|
|
4330
|
+
429: components["responses"]["TooManyRequestsError"];
|
|
4331
|
+
/** @description Error */
|
|
4332
|
+
default: {
|
|
4333
|
+
headers: {
|
|
4334
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
4335
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
4336
|
+
[name: string]: unknown;
|
|
4337
|
+
};
|
|
4338
|
+
content: {
|
|
4339
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
4340
|
+
};
|
|
4341
|
+
};
|
|
4342
|
+
};
|
|
4343
|
+
};
|
|
4344
|
+
listSecrets: {
|
|
4345
|
+
parameters: {
|
|
4346
|
+
query?: {
|
|
4347
|
+
/** @description When provided, returns only the secret with this name (case-insensitive). */
|
|
4348
|
+
name?: string;
|
|
4349
|
+
};
|
|
4350
|
+
header?: never;
|
|
4351
|
+
path?: never;
|
|
4352
|
+
cookie?: never;
|
|
4353
|
+
};
|
|
4354
|
+
requestBody?: never;
|
|
4355
|
+
responses: {
|
|
4356
|
+
/** @description OK */
|
|
4357
|
+
200: {
|
|
4358
|
+
headers: {
|
|
4359
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
4360
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
4361
|
+
[name: string]: unknown;
|
|
4362
|
+
};
|
|
4363
|
+
content: {
|
|
4364
|
+
"application/json": components["schemas"]["ListSecretsResponse"];
|
|
4365
|
+
};
|
|
4366
|
+
};
|
|
4367
|
+
401: components["responses"]["UnauthorizedError"];
|
|
4368
|
+
403: components["responses"]["ForbiddenError"];
|
|
4369
|
+
429: components["responses"]["TooManyRequestsError"];
|
|
4370
|
+
/** @description Error */
|
|
4371
|
+
default: {
|
|
4372
|
+
headers: {
|
|
4373
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
4374
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
4375
|
+
[name: string]: unknown;
|
|
4376
|
+
};
|
|
4377
|
+
content: {
|
|
4378
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
4379
|
+
};
|
|
4380
|
+
};
|
|
4381
|
+
};
|
|
4382
|
+
};
|
|
4383
|
+
createSecret: {
|
|
4384
|
+
parameters: {
|
|
4385
|
+
query?: never;
|
|
4386
|
+
header?: never;
|
|
4387
|
+
path?: never;
|
|
4388
|
+
cookie?: never;
|
|
4389
|
+
};
|
|
4390
|
+
requestBody: {
|
|
4391
|
+
content: {
|
|
4392
|
+
"application/json": components["schemas"]["CreateSecretRequest"];
|
|
4393
|
+
};
|
|
4394
|
+
};
|
|
4395
|
+
responses: {
|
|
4396
|
+
/** @description Created */
|
|
4397
|
+
201: {
|
|
4398
|
+
headers: {
|
|
4399
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
4400
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
4401
|
+
[name: string]: unknown;
|
|
4402
|
+
};
|
|
4403
|
+
content: {
|
|
4404
|
+
"application/json": components["schemas"]["Secret"];
|
|
4405
|
+
};
|
|
4406
|
+
};
|
|
4407
|
+
400: components["responses"]["BadRequestError"];
|
|
4408
|
+
401: components["responses"]["UnauthorizedError"];
|
|
4409
|
+
403: components["responses"]["ForbiddenError"];
|
|
4410
|
+
/** @description A secret with this name already exists. */
|
|
4411
|
+
409: {
|
|
4412
|
+
headers: {
|
|
4413
|
+
[name: string]: unknown;
|
|
4414
|
+
};
|
|
4415
|
+
content: {
|
|
4416
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
4417
|
+
};
|
|
4418
|
+
};
|
|
4419
|
+
422: components["responses"]["UnprocessableEntityError"];
|
|
4420
|
+
429: components["responses"]["TooManyRequestsError"];
|
|
4421
|
+
/** @description Error */
|
|
4422
|
+
default: {
|
|
4423
|
+
headers: {
|
|
4424
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
4425
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
4426
|
+
[name: string]: unknown;
|
|
4427
|
+
};
|
|
4428
|
+
content: {
|
|
4429
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
4430
|
+
};
|
|
4431
|
+
};
|
|
4432
|
+
};
|
|
4433
|
+
};
|
|
4434
|
+
getSecret: {
|
|
4435
|
+
parameters: {
|
|
4436
|
+
query?: never;
|
|
4437
|
+
header?: never;
|
|
4438
|
+
path: {
|
|
4439
|
+
/**
|
|
4440
|
+
* @description Secret identifier
|
|
4441
|
+
* @example 2q9m7x4cavgd
|
|
4442
|
+
*/
|
|
4443
|
+
id: string;
|
|
4444
|
+
};
|
|
4445
|
+
cookie?: never;
|
|
4446
|
+
};
|
|
4447
|
+
requestBody?: never;
|
|
4448
|
+
responses: {
|
|
4449
|
+
/** @description OK */
|
|
4450
|
+
200: {
|
|
4451
|
+
headers: {
|
|
4452
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
4453
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
4454
|
+
[name: string]: unknown;
|
|
4455
|
+
};
|
|
4456
|
+
content: {
|
|
4457
|
+
"application/json": components["schemas"]["Secret"];
|
|
4458
|
+
};
|
|
4459
|
+
};
|
|
4460
|
+
401: components["responses"]["UnauthorizedError"];
|
|
4461
|
+
403: components["responses"]["ForbiddenError"];
|
|
4462
|
+
404: components["responses"]["NotFoundError"];
|
|
4463
|
+
429: components["responses"]["TooManyRequestsError"];
|
|
4464
|
+
/** @description Error */
|
|
4465
|
+
default: {
|
|
4466
|
+
headers: {
|
|
4467
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
4468
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
4469
|
+
[name: string]: unknown;
|
|
4470
|
+
};
|
|
4471
|
+
content: {
|
|
4472
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
4473
|
+
};
|
|
4474
|
+
};
|
|
4475
|
+
};
|
|
4476
|
+
};
|
|
4477
|
+
deleteSecret: {
|
|
4478
|
+
parameters: {
|
|
4479
|
+
query?: never;
|
|
4480
|
+
header?: never;
|
|
4481
|
+
path: {
|
|
4482
|
+
/**
|
|
4483
|
+
* @description Secret identifier
|
|
4484
|
+
* @example 2q9m7x4cavgd
|
|
4485
|
+
*/
|
|
4486
|
+
id: string;
|
|
4487
|
+
};
|
|
4488
|
+
cookie?: never;
|
|
4489
|
+
};
|
|
4490
|
+
requestBody?: never;
|
|
4491
|
+
responses: {
|
|
4492
|
+
/** @description Deleted. Response has no body. */
|
|
4493
|
+
204: {
|
|
4494
|
+
headers: {
|
|
4495
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
4496
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
4497
|
+
[name: string]: unknown;
|
|
4498
|
+
};
|
|
4499
|
+
content?: never;
|
|
4500
|
+
};
|
|
4501
|
+
401: components["responses"]["UnauthorizedError"];
|
|
4502
|
+
403: components["responses"]["ForbiddenError"];
|
|
4503
|
+
404: components["responses"]["NotFoundError"];
|
|
4504
|
+
429: components["responses"]["TooManyRequestsError"];
|
|
4505
|
+
/** @description Error */
|
|
4506
|
+
default: {
|
|
4507
|
+
headers: {
|
|
4508
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
4509
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
4510
|
+
[name: string]: unknown;
|
|
4511
|
+
};
|
|
4512
|
+
content: {
|
|
4513
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
4514
|
+
};
|
|
4515
|
+
};
|
|
4516
|
+
};
|
|
4517
|
+
};
|
|
4518
|
+
updateSecret: {
|
|
4519
|
+
parameters: {
|
|
4520
|
+
query?: never;
|
|
4521
|
+
header?: never;
|
|
4522
|
+
path: {
|
|
4523
|
+
/**
|
|
4524
|
+
* @description Secret identifier
|
|
4525
|
+
* @example 2q9m7x4cavgd
|
|
4526
|
+
*/
|
|
4527
|
+
id: string;
|
|
4528
|
+
};
|
|
4529
|
+
cookie?: never;
|
|
4530
|
+
};
|
|
4531
|
+
requestBody: {
|
|
4532
|
+
content: {
|
|
4533
|
+
"application/json": components["schemas"]["UpdateSecretRequest"];
|
|
4534
|
+
};
|
|
4535
|
+
};
|
|
4536
|
+
responses: {
|
|
4537
|
+
/** @description OK */
|
|
4538
|
+
200: {
|
|
4539
|
+
headers: {
|
|
4540
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
4541
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
4542
|
+
[name: string]: unknown;
|
|
4543
|
+
};
|
|
4544
|
+
content: {
|
|
4545
|
+
"application/json": components["schemas"]["Secret"];
|
|
4546
|
+
};
|
|
4547
|
+
};
|
|
4548
|
+
400: components["responses"]["BadRequestError"];
|
|
4549
|
+
401: components["responses"]["UnauthorizedError"];
|
|
4550
|
+
403: components["responses"]["ForbiddenError"];
|
|
4551
|
+
404: components["responses"]["NotFoundError"];
|
|
4552
|
+
422: components["responses"]["UnprocessableEntityError"];
|
|
4553
|
+
429: components["responses"]["TooManyRequestsError"];
|
|
4554
|
+
/** @description Error */
|
|
4555
|
+
default: {
|
|
4556
|
+
headers: {
|
|
4557
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
4558
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
4559
|
+
[name: string]: unknown;
|
|
4560
|
+
};
|
|
4561
|
+
content: {
|
|
4562
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
4563
|
+
};
|
|
4564
|
+
};
|
|
4565
|
+
};
|
|
4566
|
+
};
|
|
4567
|
+
listPods: {
|
|
4568
|
+
parameters: {
|
|
4569
|
+
query?: {
|
|
4570
|
+
/**
|
|
4571
|
+
* @description Include cluster member pods in the result. Defaults to false.
|
|
3782
4572
|
* @example false
|
|
3783
4573
|
*/
|
|
3784
4574
|
includeClusterPods?: boolean;
|
|
4575
|
+
/**
|
|
4576
|
+
* @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
|
|
4577
|
+
* @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
|
|
4578
|
+
*/
|
|
4579
|
+
cursor?: components["parameters"]["PaginationCursor"];
|
|
4580
|
+
/**
|
|
4581
|
+
* @description Page size, 1–1000. Defaults to 1000 when omitted.
|
|
4582
|
+
* @example 50
|
|
4583
|
+
*/
|
|
4584
|
+
limit?: components["parameters"]["PaginationLimit"];
|
|
3785
4585
|
};
|
|
3786
4586
|
header?: never;
|
|
3787
4587
|
path?: never;
|
|
@@ -3844,6 +4644,15 @@ interface operations {
|
|
|
3844
4644
|
401: components["responses"]["UnauthorizedError"];
|
|
3845
4645
|
403: components["responses"]["ForbiddenError"];
|
|
3846
4646
|
404: components["responses"]["NotFoundError"];
|
|
4647
|
+
/** @description The incoming request body or expanded upstream request exceeds the 102400 byte limit, or the upstream rejects the request as too large. */
|
|
4648
|
+
413: {
|
|
4649
|
+
headers: {
|
|
4650
|
+
[name: string]: unknown;
|
|
4651
|
+
};
|
|
4652
|
+
content: {
|
|
4653
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
4654
|
+
};
|
|
4655
|
+
};
|
|
3847
4656
|
422: components["responses"]["UnprocessableEntityError"];
|
|
3848
4657
|
429: components["responses"]["TooManyRequestsError"];
|
|
3849
4658
|
/** @description Error */
|
|
@@ -4150,7 +4959,18 @@ interface operations {
|
|
|
4150
4959
|
};
|
|
4151
4960
|
listClusters: {
|
|
4152
4961
|
parameters: {
|
|
4153
|
-
query?:
|
|
4962
|
+
query?: {
|
|
4963
|
+
/**
|
|
4964
|
+
* @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
|
|
4965
|
+
* @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
|
|
4966
|
+
*/
|
|
4967
|
+
cursor?: components["parameters"]["PaginationCursor"];
|
|
4968
|
+
/**
|
|
4969
|
+
* @description Page size, 1–1000. Defaults to 1000 when omitted.
|
|
4970
|
+
* @example 50
|
|
4971
|
+
*/
|
|
4972
|
+
limit?: components["parameters"]["PaginationLimit"];
|
|
4973
|
+
};
|
|
4154
4974
|
header?: never;
|
|
4155
4975
|
path?: never;
|
|
4156
4976
|
cookie?: never;
|
|
@@ -4384,7 +5204,7 @@ interface operations {
|
|
|
4384
5204
|
[name: string]: unknown;
|
|
4385
5205
|
};
|
|
4386
5206
|
content: {
|
|
4387
|
-
"application/json": components["schemas"]["
|
|
5207
|
+
"application/json": components["schemas"]["PodList"];
|
|
4388
5208
|
};
|
|
4389
5209
|
};
|
|
4390
5210
|
401: components["responses"]["UnauthorizedError"];
|
|
@@ -4412,7 +5232,18 @@ interface operations {
|
|
|
4412
5232
|
};
|
|
4413
5233
|
listEndpoints: {
|
|
4414
5234
|
parameters: {
|
|
4415
|
-
query?:
|
|
5235
|
+
query?: {
|
|
5236
|
+
/**
|
|
5237
|
+
* @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
|
|
5238
|
+
* @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
|
|
5239
|
+
*/
|
|
5240
|
+
cursor?: components["parameters"]["PaginationCursor"];
|
|
5241
|
+
/**
|
|
5242
|
+
* @description Page size, 1–1000. Defaults to 1000 when omitted.
|
|
5243
|
+
* @example 50
|
|
5244
|
+
*/
|
|
5245
|
+
limit?: components["parameters"]["PaginationLimit"];
|
|
5246
|
+
};
|
|
4416
5247
|
header?: never;
|
|
4417
5248
|
path?: never;
|
|
4418
5249
|
cookie?: never;
|
|
@@ -4667,7 +5498,18 @@ interface operations {
|
|
|
4667
5498
|
};
|
|
4668
5499
|
listEndpointReleases: {
|
|
4669
5500
|
parameters: {
|
|
4670
|
-
query?:
|
|
5501
|
+
query?: {
|
|
5502
|
+
/**
|
|
5503
|
+
* @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
|
|
5504
|
+
* @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
|
|
5505
|
+
*/
|
|
5506
|
+
cursor?: components["parameters"]["PaginationCursor"];
|
|
5507
|
+
/**
|
|
5508
|
+
* @description Page size, 1–1000. Defaults to 1000 when omitted.
|
|
5509
|
+
* @example 50
|
|
5510
|
+
*/
|
|
5511
|
+
limit?: components["parameters"]["PaginationLimit"];
|
|
5512
|
+
};
|
|
4671
5513
|
header?: never;
|
|
4672
5514
|
path: {
|
|
4673
5515
|
/**
|
|
@@ -4710,7 +5552,18 @@ interface operations {
|
|
|
4710
5552
|
};
|
|
4711
5553
|
listEndpointBuilds: {
|
|
4712
5554
|
parameters: {
|
|
4713
|
-
query?:
|
|
5555
|
+
query?: {
|
|
5556
|
+
/**
|
|
5557
|
+
* @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
|
|
5558
|
+
* @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
|
|
5559
|
+
*/
|
|
5560
|
+
cursor?: components["parameters"]["PaginationCursor"];
|
|
5561
|
+
/**
|
|
5562
|
+
* @description Page size, 1–100. Defaults to 100 when omitted.
|
|
5563
|
+
* @example 50
|
|
5564
|
+
*/
|
|
5565
|
+
limit?: components["parameters"]["PaginationLimitBuilds"];
|
|
5566
|
+
};
|
|
4714
5567
|
header?: never;
|
|
4715
5568
|
path: {
|
|
4716
5569
|
/**
|
|
@@ -4878,7 +5731,18 @@ interface operations {
|
|
|
4878
5731
|
};
|
|
4879
5732
|
listTemplates: {
|
|
4880
5733
|
parameters: {
|
|
4881
|
-
query?:
|
|
5734
|
+
query?: {
|
|
5735
|
+
/**
|
|
5736
|
+
* @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
|
|
5737
|
+
* @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
|
|
5738
|
+
*/
|
|
5739
|
+
cursor?: components["parameters"]["PaginationCursor"];
|
|
5740
|
+
/**
|
|
5741
|
+
* @description Page size, 1–1000. Defaults to 1000 when omitted.
|
|
5742
|
+
* @example 50
|
|
5743
|
+
*/
|
|
5744
|
+
limit?: components["parameters"]["PaginationLimit"];
|
|
5745
|
+
};
|
|
4882
5746
|
header?: never;
|
|
4883
5747
|
path?: never;
|
|
4884
5748
|
cookie?: never;
|
|
@@ -5091,7 +5955,18 @@ interface operations {
|
|
|
5091
5955
|
};
|
|
5092
5956
|
listNetworkVolumes: {
|
|
5093
5957
|
parameters: {
|
|
5094
|
-
query?:
|
|
5958
|
+
query?: {
|
|
5959
|
+
/**
|
|
5960
|
+
* @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
|
|
5961
|
+
* @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
|
|
5962
|
+
*/
|
|
5963
|
+
cursor?: components["parameters"]["PaginationCursor"];
|
|
5964
|
+
/**
|
|
5965
|
+
* @description Page size, 1–1000. Defaults to 1000 when omitted.
|
|
5966
|
+
* @example 50
|
|
5967
|
+
*/
|
|
5968
|
+
limit?: components["parameters"]["PaginationLimit"];
|
|
5969
|
+
};
|
|
5095
5970
|
header?: never;
|
|
5096
5971
|
path?: never;
|
|
5097
5972
|
cookie?: never;
|
|
@@ -5310,6 +6185,240 @@ interface operations {
|
|
|
5310
6185
|
};
|
|
5311
6186
|
};
|
|
5312
6187
|
};
|
|
6188
|
+
listGlobalVolumes: {
|
|
6189
|
+
parameters: {
|
|
6190
|
+
query?: {
|
|
6191
|
+
/**
|
|
6192
|
+
* @description Opaque resume cursor — pass the previous response's `pagination.nextCursor` through verbatim; omit for the first page. A cursor is only valid for the operation and parameters that issued it; a malformed or foreign cursor is rejected with 422.
|
|
6193
|
+
* @example Y3JlYXRlZEF0PTE3NDg3ODA0MDA
|
|
6194
|
+
*/
|
|
6195
|
+
cursor?: components["parameters"]["PaginationCursor"];
|
|
6196
|
+
/**
|
|
6197
|
+
* @description Page size, 1–1000. Defaults to 1000 when omitted.
|
|
6198
|
+
* @example 50
|
|
6199
|
+
*/
|
|
6200
|
+
limit?: components["parameters"]["PaginationLimit"];
|
|
6201
|
+
};
|
|
6202
|
+
header?: never;
|
|
6203
|
+
path?: never;
|
|
6204
|
+
cookie?: never;
|
|
6205
|
+
};
|
|
6206
|
+
requestBody?: never;
|
|
6207
|
+
responses: {
|
|
6208
|
+
/** @description OK */
|
|
6209
|
+
200: {
|
|
6210
|
+
headers: {
|
|
6211
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6212
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6213
|
+
[name: string]: unknown;
|
|
6214
|
+
};
|
|
6215
|
+
content: {
|
|
6216
|
+
"application/json": components["schemas"]["ListGlobalVolumesResponse"];
|
|
6217
|
+
};
|
|
6218
|
+
};
|
|
6219
|
+
401: components["responses"]["UnauthorizedError"];
|
|
6220
|
+
403: components["responses"]["ForbiddenError"];
|
|
6221
|
+
422: components["responses"]["UnprocessableEntityError"];
|
|
6222
|
+
429: components["responses"]["TooManyRequestsError"];
|
|
6223
|
+
/** @description Error */
|
|
6224
|
+
default: {
|
|
6225
|
+
headers: {
|
|
6226
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6227
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6228
|
+
[name: string]: unknown;
|
|
6229
|
+
};
|
|
6230
|
+
content: {
|
|
6231
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
6232
|
+
};
|
|
6233
|
+
};
|
|
6234
|
+
};
|
|
6235
|
+
};
|
|
6236
|
+
createGlobalVolume: {
|
|
6237
|
+
parameters: {
|
|
6238
|
+
query?: never;
|
|
6239
|
+
header?: never;
|
|
6240
|
+
path?: never;
|
|
6241
|
+
cookie?: never;
|
|
6242
|
+
};
|
|
6243
|
+
requestBody: {
|
|
6244
|
+
content: {
|
|
6245
|
+
"application/json": components["schemas"]["CreateGlobalVolumeRequest"];
|
|
6246
|
+
};
|
|
6247
|
+
};
|
|
6248
|
+
responses: {
|
|
6249
|
+
/** @description Created */
|
|
6250
|
+
201: {
|
|
6251
|
+
headers: {
|
|
6252
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6253
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6254
|
+
[name: string]: unknown;
|
|
6255
|
+
};
|
|
6256
|
+
content: {
|
|
6257
|
+
"application/json": components["schemas"]["GlobalVolume"];
|
|
6258
|
+
};
|
|
6259
|
+
};
|
|
6260
|
+
400: components["responses"]["BadRequestError"];
|
|
6261
|
+
401: components["responses"]["UnauthorizedError"];
|
|
6262
|
+
403: components["responses"]["ForbiddenError"];
|
|
6263
|
+
422: components["responses"]["UnprocessableEntityError"];
|
|
6264
|
+
429: components["responses"]["TooManyRequestsError"];
|
|
6265
|
+
/** @description Error */
|
|
6266
|
+
default: {
|
|
6267
|
+
headers: {
|
|
6268
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6269
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6270
|
+
[name: string]: unknown;
|
|
6271
|
+
};
|
|
6272
|
+
content: {
|
|
6273
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
6274
|
+
};
|
|
6275
|
+
};
|
|
6276
|
+
};
|
|
6277
|
+
};
|
|
6278
|
+
getGlobalVolume: {
|
|
6279
|
+
parameters: {
|
|
6280
|
+
query?: never;
|
|
6281
|
+
header?: never;
|
|
6282
|
+
path: {
|
|
6283
|
+
/**
|
|
6284
|
+
* @description Global volume identifier
|
|
6285
|
+
* @example gsb_abc
|
|
6286
|
+
*/
|
|
6287
|
+
id: string;
|
|
6288
|
+
};
|
|
6289
|
+
cookie?: never;
|
|
6290
|
+
};
|
|
6291
|
+
requestBody?: never;
|
|
6292
|
+
responses: {
|
|
6293
|
+
/** @description OK */
|
|
6294
|
+
200: {
|
|
6295
|
+
headers: {
|
|
6296
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6297
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6298
|
+
[name: string]: unknown;
|
|
6299
|
+
};
|
|
6300
|
+
content: {
|
|
6301
|
+
"application/json": components["schemas"]["GlobalVolume"];
|
|
6302
|
+
};
|
|
6303
|
+
};
|
|
6304
|
+
401: components["responses"]["UnauthorizedError"];
|
|
6305
|
+
403: components["responses"]["ForbiddenError"];
|
|
6306
|
+
404: components["responses"]["NotFoundError"];
|
|
6307
|
+
429: components["responses"]["TooManyRequestsError"];
|
|
6308
|
+
/** @description Error */
|
|
6309
|
+
default: {
|
|
6310
|
+
headers: {
|
|
6311
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6312
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6313
|
+
[name: string]: unknown;
|
|
6314
|
+
};
|
|
6315
|
+
content: {
|
|
6316
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
6317
|
+
};
|
|
6318
|
+
};
|
|
6319
|
+
};
|
|
6320
|
+
};
|
|
6321
|
+
deleteGlobalVolume: {
|
|
6322
|
+
parameters: {
|
|
6323
|
+
query?: never;
|
|
6324
|
+
header?: never;
|
|
6325
|
+
path: {
|
|
6326
|
+
/**
|
|
6327
|
+
* @description Global volume identifier
|
|
6328
|
+
* @example gsb_abc
|
|
6329
|
+
*/
|
|
6330
|
+
id: string;
|
|
6331
|
+
};
|
|
6332
|
+
cookie?: never;
|
|
6333
|
+
};
|
|
6334
|
+
requestBody?: never;
|
|
6335
|
+
responses: {
|
|
6336
|
+
/** @description Deleted. Response has no body. */
|
|
6337
|
+
204: {
|
|
6338
|
+
headers: {
|
|
6339
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6340
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6341
|
+
[name: string]: unknown;
|
|
6342
|
+
};
|
|
6343
|
+
content?: never;
|
|
6344
|
+
};
|
|
6345
|
+
401: components["responses"]["UnauthorizedError"];
|
|
6346
|
+
403: components["responses"]["ForbiddenError"];
|
|
6347
|
+
404: components["responses"]["NotFoundError"];
|
|
6348
|
+
/** @description The volume is still mounted by a pod or serverless endpoint. */
|
|
6349
|
+
409: {
|
|
6350
|
+
headers: {
|
|
6351
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6352
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6353
|
+
[name: string]: unknown;
|
|
6354
|
+
};
|
|
6355
|
+
content: {
|
|
6356
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
6357
|
+
};
|
|
6358
|
+
};
|
|
6359
|
+
429: components["responses"]["TooManyRequestsError"];
|
|
6360
|
+
/** @description Error */
|
|
6361
|
+
default: {
|
|
6362
|
+
headers: {
|
|
6363
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6364
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6365
|
+
[name: string]: unknown;
|
|
6366
|
+
};
|
|
6367
|
+
content: {
|
|
6368
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
6369
|
+
};
|
|
6370
|
+
};
|
|
6371
|
+
};
|
|
6372
|
+
};
|
|
6373
|
+
updateGlobalVolume: {
|
|
6374
|
+
parameters: {
|
|
6375
|
+
query?: never;
|
|
6376
|
+
header?: never;
|
|
6377
|
+
path: {
|
|
6378
|
+
/**
|
|
6379
|
+
* @description Global volume identifier
|
|
6380
|
+
* @example gsb_abc
|
|
6381
|
+
*/
|
|
6382
|
+
id: string;
|
|
6383
|
+
};
|
|
6384
|
+
cookie?: never;
|
|
6385
|
+
};
|
|
6386
|
+
requestBody: {
|
|
6387
|
+
content: {
|
|
6388
|
+
"application/json": components["schemas"]["UpdateGlobalVolumeRequest"];
|
|
6389
|
+
};
|
|
6390
|
+
};
|
|
6391
|
+
responses: {
|
|
6392
|
+
/** @description OK */
|
|
6393
|
+
200: {
|
|
6394
|
+
headers: {
|
|
6395
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6396
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6397
|
+
[name: string]: unknown;
|
|
6398
|
+
};
|
|
6399
|
+
content: {
|
|
6400
|
+
"application/json": components["schemas"]["GlobalVolume"];
|
|
6401
|
+
};
|
|
6402
|
+
};
|
|
6403
|
+
400: components["responses"]["BadRequestError"];
|
|
6404
|
+
401: components["responses"]["UnauthorizedError"];
|
|
6405
|
+
403: components["responses"]["ForbiddenError"];
|
|
6406
|
+
404: components["responses"]["NotFoundError"];
|
|
6407
|
+
422: components["responses"]["UnprocessableEntityError"];
|
|
6408
|
+
429: components["responses"]["TooManyRequestsError"];
|
|
6409
|
+
/** @description Error */
|
|
6410
|
+
default: {
|
|
6411
|
+
headers: {
|
|
6412
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
6413
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
6414
|
+
[name: string]: unknown;
|
|
6415
|
+
};
|
|
6416
|
+
content: {
|
|
6417
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
6418
|
+
};
|
|
6419
|
+
};
|
|
6420
|
+
};
|
|
6421
|
+
};
|
|
5313
6422
|
listRegistries: {
|
|
5314
6423
|
parameters: {
|
|
5315
6424
|
query?: never;
|
|
@@ -5990,7 +7099,7 @@ interface operations {
|
|
|
5990
7099
|
[name: string]: unknown;
|
|
5991
7100
|
};
|
|
5992
7101
|
content: {
|
|
5993
|
-
"application/json": components["schemas"]["
|
|
7102
|
+
"application/json": components["schemas"]["TemplateList"];
|
|
5994
7103
|
};
|
|
5995
7104
|
};
|
|
5996
7105
|
401: components["responses"]["UnauthorizedError"];
|