sandbox0 0.9.1 → 0.9.3

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.
Files changed (62) hide show
  1. package/README.md +31 -0
  2. package/dist/apispec/src/apis/QuotasApi.d.ts +9 -1
  3. package/dist/apispec/src/apis/QuotasApi.d.ts.map +1 -1
  4. package/dist/apispec/src/apis/QuotasApi.js +30 -1
  5. package/dist/apispec/src/apis/TemplatesApi.d.ts +15 -1
  6. package/dist/apispec/src/apis/TemplatesApi.d.ts.map +1 -1
  7. package/dist/apispec/src/apis/TemplatesApi.js +40 -1
  8. package/dist/apispec/src/models/ApiV1QuotasGet200Response.d.ts +40 -0
  9. package/dist/apispec/src/models/ApiV1QuotasGet200Response.d.ts.map +1 -0
  10. package/dist/apispec/src/models/ApiV1QuotasGet200Response.js +46 -0
  11. package/dist/apispec/src/models/QuotaDimension.d.ts +3 -2
  12. package/dist/apispec/src/models/QuotaDimension.d.ts.map +1 -1
  13. package/dist/apispec/src/models/QuotaDimension.js +3 -2
  14. package/dist/apispec/src/models/SandboxRuntimeMetricUnit.d.ts +7 -7
  15. package/dist/apispec/src/models/SandboxRuntimeMetricUnit.js +7 -7
  16. package/dist/apispec/src/models/SandboxTemplateStatus.d.ts +7 -0
  17. package/dist/apispec/src/models/SandboxTemplateStatus.d.ts.map +1 -1
  18. package/dist/apispec/src/models/SandboxTemplateStatus.js +3 -0
  19. package/dist/apispec/src/models/SandboxVolume.d.ts +12 -0
  20. package/dist/apispec/src/models/SandboxVolume.d.ts.map +1 -1
  21. package/dist/apispec/src/models/SandboxVolume.js +4 -0
  22. package/dist/apispec/src/models/TeamQuota.d.ts +48 -6
  23. package/dist/apispec/src/models/TeamQuota.d.ts.map +1 -1
  24. package/dist/apispec/src/models/TeamQuota.js +37 -5
  25. package/dist/apispec/src/models/TemplateCreationStatus.d.ts +99 -0
  26. package/dist/apispec/src/models/TemplateCreationStatus.d.ts.map +1 -0
  27. package/dist/apispec/src/models/TemplateCreationStatus.js +75 -0
  28. package/dist/apispec/src/models/TemplateFromSandboxCreateRequest.d.ts +46 -0
  29. package/dist/apispec/src/models/TemplateFromSandboxCreateRequest.d.ts.map +1 -0
  30. package/dist/apispec/src/models/TemplateFromSandboxCreateRequest.js +50 -0
  31. package/dist/apispec/src/models/TemplateFromSandboxSpecOverrides.d.ts +55 -0
  32. package/dist/apispec/src/models/TemplateFromSandboxSpecOverrides.d.ts.map +1 -0
  33. package/dist/apispec/src/models/TemplateFromSandboxSpecOverrides.js +48 -0
  34. package/dist/apispec/src/models/index.d.ts +4 -0
  35. package/dist/apispec/src/models/index.d.ts.map +1 -1
  36. package/dist/apispec/src/models/index.js +4 -0
  37. package/dist/client.d.ts +3 -0
  38. package/dist/client.d.ts.map +1 -1
  39. package/dist/client.js +4 -0
  40. package/dist/errors.d.ts +18 -1
  41. package/dist/errors.d.ts.map +1 -1
  42. package/dist/errors.js +28 -0
  43. package/dist/index.d.ts +35 -1
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +5 -1
  46. package/dist/models.d.ts +14 -0
  47. package/dist/models.d.ts.map +1 -1
  48. package/dist/resources/quotas.d.ts +9 -0
  49. package/dist/resources/quotas.d.ts.map +1 -0
  50. package/dist/resources/quotas.js +16 -0
  51. package/dist/resources/sandboxes.d.ts.map +1 -1
  52. package/dist/resources/sandboxes.js +7 -59
  53. package/dist/resources/templates.d.ts +5 -1
  54. package/dist/resources/templates.d.ts.map +1 -1
  55. package/dist/resources/templates.js +50 -3
  56. package/dist/template_helpers.d.ts +2 -1
  57. package/dist/template_helpers.d.ts.map +1 -1
  58. package/dist/template_helpers.js +7 -0
  59. package/dist/wait.d.ts +4 -0
  60. package/dist/wait.d.ts.map +1 -0
  61. package/dist/wait.js +52 -0
  62. package/package.json +1 -1
package/README.md CHANGED
@@ -104,6 +104,37 @@ console.log(resumed.status, resumed.runtimeGeneration);
104
104
  a wait stops polling locally; it does not undo a pause or resume already accepted
105
105
  by Sandbox0.
106
106
 
107
+ ## Create A Template From A Sandbox
108
+
109
+ Capture the current root filesystem of an existing sandbox into a new template:
110
+
111
+ ```typescript
112
+ const template = await client.templates.createFromSandbox(
113
+ {
114
+ templateId: "python-ready",
115
+ sandboxId: sandbox.id,
116
+ specOverrides: {
117
+ displayName: "Python Ready",
118
+ tags: ["python"],
119
+ },
120
+ },
121
+ {
122
+ idempotencyKey: "python-ready-v1",
123
+ wait: true,
124
+ timeoutMs: 10 * 60_000,
125
+ },
126
+ );
127
+
128
+ console.log(template.templateId, template.status?.creation?.state);
129
+ ```
130
+
131
+ Without `wait: true`, creation returns as soon as Sandbox0 accepts the request.
132
+ The rootfs capture point is `status.creation.capturedAt`, not request
133
+ acceptance, so keep the source sandbox available and avoid rootfs writes while
134
+ the stage is `capturing`. `waitUntilReady()` can wait for the same template
135
+ later. Aborting a wait only stops local polling; it does not cancel image
136
+ creation on the server.
137
+
107
138
  ## Runtime Metrics
108
139
 
109
140
  `getMetrics()` returns bounded, chart-ready sandbox metrics. Each series is split
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime.js';
13
- import type { QuotaDimension, SuccessTeamQuotaResponse } from '../models/index.js';
13
+ import type { ApiV1QuotasGet200Response, QuotaDimension, SuccessTeamQuotaResponse } from '../models/index.js';
14
14
  export interface ApiV1QuotasDimensionGetRequest {
15
15
  dimension: QuotaDimension;
16
16
  }
@@ -26,5 +26,13 @@ export declare class QuotasApi extends runtime.BaseAPI {
26
26
  * Get team quota
27
27
  */
28
28
  apiV1QuotasDimensionGet(requestParameters: ApiV1QuotasDimensionGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessTeamQuotaResponse>;
29
+ /**
30
+ * List team quotas
31
+ */
32
+ apiV1QuotasGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ApiV1QuotasGet200Response>>;
33
+ /**
34
+ * List team quotas
35
+ */
36
+ apiV1QuotasGet(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiV1QuotasGet200Response>;
29
37
  }
30
38
  //# sourceMappingURL=QuotasApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuotasApi.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/apis/QuotasApi.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAEV,cAAc,EACd,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAUzB,MAAM,WAAW,8BAA8B;IAC3C,SAAS,EAAE,cAAc,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,OAAO,CAAC,OAAO;IAE1C;;OAEG;IACG,0BAA0B,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAkCvM;;OAEG;IACG,uBAAuB,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAKlL"}
1
+ {"version":3,"file":"QuotasApi.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/apis/QuotasApi.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EACV,yBAAyB,EAEzB,cAAc,EACd,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAYzB,MAAM,WAAW,8BAA8B;IAC3C,SAAS,EAAE,cAAc,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,OAAO,CAAC,OAAO;IAE1C;;OAEG;IACG,0BAA0B,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAkCvM;;OAEG;IACG,uBAAuB,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAK/K;;OAEG;IACG,iBAAiB,CAAC,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;IA0B5I;;OAEG;IACG,cAAc,CAAC,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAKvH"}
@@ -12,7 +12,7 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import * as runtime from '../runtime.js';
15
- import { SuccessTeamQuotaResponseFromJSON, } from '../models/index.js';
15
+ import { ApiV1QuotasGet200ResponseFromJSON, SuccessTeamQuotaResponseFromJSON, } from '../models/index.js';
16
16
  /**
17
17
  *
18
18
  */
@@ -50,4 +50,33 @@ export class QuotasApi extends runtime.BaseAPI {
50
50
  const response = await this.apiV1QuotasDimensionGetRaw(requestParameters, initOverrides);
51
51
  return await response.value();
52
52
  }
53
+ /**
54
+ * List team quotas
55
+ */
56
+ async apiV1QuotasGetRaw(initOverrides) {
57
+ const queryParameters = {};
58
+ const headerParameters = {};
59
+ if (this.configuration && this.configuration.accessToken) {
60
+ const token = this.configuration.accessToken;
61
+ const tokenString = await token("bearerAuth", []);
62
+ if (tokenString) {
63
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
64
+ }
65
+ }
66
+ let urlPath = `/api/v1/quotas`;
67
+ const response = await this.request({
68
+ path: urlPath,
69
+ method: 'GET',
70
+ headers: headerParameters,
71
+ query: queryParameters,
72
+ }, initOverrides);
73
+ return new runtime.JSONApiResponse(response, (jsonValue) => ApiV1QuotasGet200ResponseFromJSON(jsonValue));
74
+ }
75
+ /**
76
+ * List team quotas
77
+ */
78
+ async apiV1QuotasGet(initOverrides) {
79
+ const response = await this.apiV1QuotasGetRaw(initOverrides);
80
+ return await response.value();
81
+ }
53
82
  }
@@ -10,7 +10,11 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime.js';
13
- import type { SuccessMessageResponse, SuccessTemplateListResponse, SuccessTemplateResponse, TemplateCreateRequest, TemplateUpdateRequest } from '../models/index.js';
13
+ import type { SuccessMessageResponse, SuccessTemplateListResponse, SuccessTemplateResponse, TemplateCreateRequest, TemplateFromSandboxCreateRequest, TemplateUpdateRequest } from '../models/index.js';
14
+ export interface ApiV1TemplatesFromSandboxPostRequest {
15
+ templateFromSandboxCreateRequest: TemplateFromSandboxCreateRequest;
16
+ idempotencyKey?: string;
17
+ }
14
18
  export interface ApiV1TemplatesIdDeleteRequest {
15
19
  id: string;
16
20
  }
@@ -28,6 +32,16 @@ export interface ApiV1TemplatesPostRequest {
28
32
  *
29
33
  */
30
34
  export declare class TemplatesApi extends runtime.BaseAPI {
35
+ /**
36
+ * Asynchronously captures the sandbox\'s writable root filesystem, publishes it to the Sandbox0-configured team registry, and creates a digest-pinned template. The capture point is reported by `status.creation.capturedAt`, not by acceptance of this request. Keep the source sandbox available and avoid rootfs writes until capture completes. Poll the returned template with `GET /api/v1/templates/{id}` until `status.creation.state` is `ready` or `failed`. The caller needs both `template:create` and `sandbox:read` permissions.
37
+ * Create template from sandbox
38
+ */
39
+ apiV1TemplatesFromSandboxPostRaw(requestParameters: ApiV1TemplatesFromSandboxPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessTemplateResponse>>;
40
+ /**
41
+ * Asynchronously captures the sandbox\'s writable root filesystem, publishes it to the Sandbox0-configured team registry, and creates a digest-pinned template. The capture point is reported by `status.creation.capturedAt`, not by acceptance of this request. Keep the source sandbox available and avoid rootfs writes until capture completes. Poll the returned template with `GET /api/v1/templates/{id}` until `status.creation.state` is `ready` or `failed`. The caller needs both `template:create` and `sandbox:read` permissions.
42
+ * Create template from sandbox
43
+ */
44
+ apiV1TemplatesFromSandboxPost(requestParameters: ApiV1TemplatesFromSandboxPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessTemplateResponse>;
31
45
  /**
32
46
  * List templates
33
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TemplatesApi.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/apis/TemplatesApi.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAEV,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAgBzB,MAAM,WAAW,6BAA6B;IAC1C,EAAE,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,0BAA0B;IACvC,EAAE,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,0BAA0B;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB,EAAE,qBAAqB,CAAC;CAChD;AAED,MAAM,WAAW,yBAAyB;IACtC,qBAAqB,EAAE,qBAAqB,CAAC;CAChD;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,OAAO,CAAC,OAAO;IAE7C;;OAEG;IACG,oBAAoB,CAAC,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IA0BjJ;;OAEG;IACG,iBAAiB,CAAC,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAKzH;;OAEG;IACG,yBAAyB,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAkCnM;;OAEG;IACG,sBAAsB,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAK3K;;OAEG;IACG,sBAAsB,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAkC9L;;OAEG;IACG,mBAAmB,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAKtK;;OAEG;IACG,sBAAsB,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IA4C9L;;OAEG;IACG,mBAAmB,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAKtK;;OAEG;IACG,qBAAqB,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAoC5L;;OAEG;IACG,kBAAkB,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAKvK"}
1
+ {"version":3,"file":"TemplatesApi.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/apis/TemplatesApi.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,50 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import * as runtime from '../runtime.js';
15
- import { SuccessMessageResponseFromJSON, SuccessTemplateListResponseFromJSON, SuccessTemplateResponseFromJSON, TemplateCreateRequestToJSON, TemplateUpdateRequestToJSON, } from '../models/index.js';
15
+ import { SuccessMessageResponseFromJSON, SuccessTemplateListResponseFromJSON, SuccessTemplateResponseFromJSON, TemplateCreateRequestToJSON, TemplateFromSandboxCreateRequestToJSON, TemplateUpdateRequestToJSON, } from '../models/index.js';
16
16
  /**
17
17
  *
18
18
  */
19
19
  export class TemplatesApi extends runtime.BaseAPI {
20
+ /**
21
+ * Asynchronously captures the sandbox\'s writable root filesystem, publishes it to the Sandbox0-configured team registry, and creates a digest-pinned template. The capture point is reported by `status.creation.capturedAt`, not by acceptance of this request. Keep the source sandbox available and avoid rootfs writes until capture completes. Poll the returned template with `GET /api/v1/templates/{id}` until `status.creation.state` is `ready` or `failed`. The caller needs both `template:create` and `sandbox:read` permissions.
22
+ * Create template from sandbox
23
+ */
24
+ async apiV1TemplatesFromSandboxPostRaw(requestParameters, initOverrides) {
25
+ if (requestParameters['templateFromSandboxCreateRequest'] == null) {
26
+ throw new runtime.RequiredError('templateFromSandboxCreateRequest', 'Required parameter "templateFromSandboxCreateRequest" was null or undefined when calling apiV1TemplatesFromSandboxPost().');
27
+ }
28
+ const queryParameters = {};
29
+ const headerParameters = {};
30
+ headerParameters['Content-Type'] = 'application/json';
31
+ if (requestParameters['idempotencyKey'] != null) {
32
+ headerParameters['Idempotency-Key'] = String(requestParameters['idempotencyKey']);
33
+ }
34
+ if (this.configuration && this.configuration.accessToken) {
35
+ const token = this.configuration.accessToken;
36
+ const tokenString = await token("bearerAuth", []);
37
+ if (tokenString) {
38
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
39
+ }
40
+ }
41
+ let urlPath = `/api/v1/templates/from-sandbox`;
42
+ const response = await this.request({
43
+ path: urlPath,
44
+ method: 'POST',
45
+ headers: headerParameters,
46
+ query: queryParameters,
47
+ body: TemplateFromSandboxCreateRequestToJSON(requestParameters['templateFromSandboxCreateRequest']),
48
+ }, initOverrides);
49
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessTemplateResponseFromJSON(jsonValue));
50
+ }
51
+ /**
52
+ * Asynchronously captures the sandbox\'s writable root filesystem, publishes it to the Sandbox0-configured team registry, and creates a digest-pinned template. The capture point is reported by `status.creation.capturedAt`, not by acceptance of this request. Keep the source sandbox available and avoid rootfs writes until capture completes. Poll the returned template with `GET /api/v1/templates/{id}` until `status.creation.state` is `ready` or `failed`. The caller needs both `template:create` and `sandbox:read` permissions.
53
+ * Create template from sandbox
54
+ */
55
+ async apiV1TemplatesFromSandboxPost(requestParameters, initOverrides) {
56
+ const response = await this.apiV1TemplatesFromSandboxPostRaw(requestParameters, initOverrides);
57
+ return await response.value();
58
+ }
20
59
  /**
21
60
  * List templates
22
61
  */
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Sandbox0 API
3
+ * Public HTTP APIs exposed by Sandbox0 regional gateways and the global gateway.
4
+ *
5
+ * The version of the OpenAPI document: 0.1.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { TeamQuota } from './TeamQuota.js';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface ApiV1QuotasGet200Response
17
+ */
18
+ export interface ApiV1QuotasGet200Response {
19
+ /**
20
+ *
21
+ * @type {boolean}
22
+ * @memberof ApiV1QuotasGet200Response
23
+ */
24
+ success: boolean;
25
+ /**
26
+ *
27
+ * @type {Array<TeamQuota>}
28
+ * @memberof ApiV1QuotasGet200Response
29
+ */
30
+ data?: Array<TeamQuota>;
31
+ }
32
+ /**
33
+ * Check if a given object implements the ApiV1QuotasGet200Response interface.
34
+ */
35
+ export declare function instanceOfApiV1QuotasGet200Response(value: object): value is ApiV1QuotasGet200Response;
36
+ export declare function ApiV1QuotasGet200ResponseFromJSON(json: any): ApiV1QuotasGet200Response;
37
+ export declare function ApiV1QuotasGet200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiV1QuotasGet200Response;
38
+ export declare function ApiV1QuotasGet200ResponseToJSON(json: any): ApiV1QuotasGet200Response;
39
+ export declare function ApiV1QuotasGet200ResponseToJSONTyped(value?: ApiV1QuotasGet200Response | null, ignoreDiscriminator?: boolean): any;
40
+ //# sourceMappingURL=ApiV1QuotasGet200Response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiV1QuotasGet200Response.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/ApiV1QuotasGet200Response.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQ7C;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,yBAAyB,CAGrG;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,GAAG,GAAG,yBAAyB,CAEtF;AAED,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,yBAAyB,CASzH;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,GAAG,GAAG,yBAAyB,CAEpF;AAED,wBAAgB,oCAAoC,CAAC,KAAK,CAAC,EAAE,yBAAyB,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAUxI"}
@@ -0,0 +1,46 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Sandbox0 API
5
+ * Public HTTP APIs exposed by Sandbox0 regional gateways and the global gateway.
6
+ *
7
+ * The version of the OpenAPI document: 0.1.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { TeamQuotaFromJSON, TeamQuotaToJSON, } from './TeamQuota.js';
15
+ /**
16
+ * Check if a given object implements the ApiV1QuotasGet200Response interface.
17
+ */
18
+ export function instanceOfApiV1QuotasGet200Response(value) {
19
+ if (!('success' in value) || value['success'] === undefined)
20
+ return false;
21
+ return true;
22
+ }
23
+ export function ApiV1QuotasGet200ResponseFromJSON(json) {
24
+ return ApiV1QuotasGet200ResponseFromJSONTyped(json, false);
25
+ }
26
+ export function ApiV1QuotasGet200ResponseFromJSONTyped(json, ignoreDiscriminator) {
27
+ if (json == null) {
28
+ return json;
29
+ }
30
+ return {
31
+ 'success': json['success'],
32
+ 'data': json['data'] == null ? undefined : (json['data'].map(TeamQuotaFromJSON)),
33
+ };
34
+ }
35
+ export function ApiV1QuotasGet200ResponseToJSON(json) {
36
+ return ApiV1QuotasGet200ResponseToJSONTyped(json, false);
37
+ }
38
+ export function ApiV1QuotasGet200ResponseToJSONTyped(value, ignoreDiscriminator = false) {
39
+ if (value == null) {
40
+ return value;
41
+ }
42
+ return {
43
+ 'success': value['success'],
44
+ 'data': value['data'] == null ? undefined : (value['data'].map(TeamQuotaToJSON)),
45
+ };
46
+ }
@@ -19,8 +19,9 @@ export declare const QuotaDimension: {
19
19
  readonly MemoryMib: "memory_mib";
20
20
  readonly VolumeStorageGb: "volume_storage_gb";
21
21
  readonly SnapshotStorageGb: "snapshot_storage_gb";
22
- readonly Egress: "egress";
23
- readonly Ingress: "ingress";
22
+ readonly ApiRequests: "api_requests";
23
+ readonly NetworkEgressBytes: "network_egress_bytes";
24
+ readonly NetworkIngressBytes: "network_ingress_bytes";
24
25
  };
25
26
  export type QuotaDimension = typeof QuotaDimension[keyof typeof QuotaDimension];
26
27
  export declare function instanceOfQuotaDimension(value: any): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"QuotaDimension.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/QuotaDimension.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;CAQjB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAGhF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAS5D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,cAAc,CAEhE;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,cAAc,CAEnG;AAED,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,GAAG,CAEvE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,cAAc,CAElG"}
1
+ {"version":3,"file":"QuotaDimension.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/QuotaDimension.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;CASjB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAGhF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAS5D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,cAAc,CAEhE;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,cAAc,CAEnG;AAED,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,GAAG,CAEvE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,cAAc,CAElG"}
@@ -21,8 +21,9 @@ export const QuotaDimension = {
21
21
  MemoryMib: 'memory_mib',
22
22
  VolumeStorageGb: 'volume_storage_gb',
23
23
  SnapshotStorageGb: 'snapshot_storage_gb',
24
- Egress: 'egress',
25
- Ingress: 'ingress'
24
+ ApiRequests: 'api_requests',
25
+ NetworkEgressBytes: 'network_egress_bytes',
26
+ NetworkIngressBytes: 'network_ingress_bytes'
26
27
  };
27
28
  export function instanceOfQuotaDimension(value) {
28
29
  for (const key in QuotaDimension) {
@@ -14,13 +14,13 @@
14
14
  * @export
15
15
  */
16
16
  export declare const SandboxRuntimeMetricUnit: {
17
- readonly Ratio: "ratio";
18
- readonly Cores: "cores";
19
- readonly Seconds: "seconds";
20
- readonly Bytes: "bytes";
21
- readonly Count: "count";
22
- readonly BytesPerSecond: "bytes_per_second";
23
- readonly CountPerSecond: "count_per_second";
17
+ readonly SandboxRuntimeMetricUnitRatio: "ratio";
18
+ readonly SandboxRuntimeMetricUnitCores: "cores";
19
+ readonly SandboxRuntimeMetricUnitSeconds: "seconds";
20
+ readonly SandboxRuntimeMetricUnitBytes: "bytes";
21
+ readonly SandboxRuntimeMetricUnitCount: "count";
22
+ readonly SandboxRuntimeMetricUnitBytesPerSecond: "bytes_per_second";
23
+ readonly SandboxRuntimeMetricUnitCountPerSecond: "count_per_second";
24
24
  };
25
25
  export type SandboxRuntimeMetricUnit = typeof SandboxRuntimeMetricUnit[keyof typeof SandboxRuntimeMetricUnit];
26
26
  export declare function instanceOfSandboxRuntimeMetricUnit(value: any): boolean;
@@ -16,13 +16,13 @@
16
16
  * @export
17
17
  */
18
18
  export const SandboxRuntimeMetricUnit = {
19
- Ratio: 'ratio',
20
- Cores: 'cores',
21
- Seconds: 'seconds',
22
- Bytes: 'bytes',
23
- Count: 'count',
24
- BytesPerSecond: 'bytes_per_second',
25
- CountPerSecond: 'count_per_second'
19
+ SandboxRuntimeMetricUnitRatio: 'ratio',
20
+ SandboxRuntimeMetricUnitCores: 'cores',
21
+ SandboxRuntimeMetricUnitSeconds: 'seconds',
22
+ SandboxRuntimeMetricUnitBytes: 'bytes',
23
+ SandboxRuntimeMetricUnitCount: 'count',
24
+ SandboxRuntimeMetricUnitBytesPerSecond: 'bytes_per_second',
25
+ SandboxRuntimeMetricUnitCountPerSecond: 'count_per_second'
26
26
  };
27
27
  export function instanceOfSandboxRuntimeMetricUnit(value) {
28
28
  for (const key in SandboxRuntimeMetricUnit) {
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { TemplateCreationStatus } from './TemplateCreationStatus.js';
12
13
  import type { SandboxTemplateCondition } from './SandboxTemplateCondition.js';
13
14
  /**
14
15
  *
@@ -40,6 +41,12 @@ export interface SandboxTemplateStatus {
40
41
  * @memberof SandboxTemplateStatus
41
42
  */
42
43
  lastUpdateTime?: Date | null;
44
+ /**
45
+ *
46
+ * @type {TemplateCreationStatus}
47
+ * @memberof SandboxTemplateStatus
48
+ */
49
+ creation?: TemplateCreationStatus;
43
50
  }
44
51
  /**
45
52
  * Check if a given object implements the SandboxTemplateStatus interface.
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxTemplateStatus.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/SandboxTemplateStatus.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAQ3E;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC7C;;;;OAIG;IACH,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,qBAAqB,CAE7F;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,GAAG,GAAG,qBAAqB,CAE9E;AAED,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,qBAAqB,CAWjH;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,GAAG,GAAG,qBAAqB,CAE5E;AAED,wBAAgB,gCAAgC,CAAC,KAAK,CAAC,EAAE,qBAAqB,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAYhI"}
1
+ {"version":3,"file":"SandboxTemplateStatus.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/SandboxTemplateStatus.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAOvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAQ3E;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC7C;;;;OAIG;IACH,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,qBAAqB,CAE7F;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,GAAG,GAAG,qBAAqB,CAE9E;AAED,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,qBAAqB,CAYjH;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,GAAG,GAAG,qBAAqB,CAE5E;AAED,wBAAgB,gCAAgC,CAAC,KAAK,CAAC,EAAE,qBAAqB,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAahI"}
@@ -11,6 +11,7 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { TemplateCreationStatusFromJSON, TemplateCreationStatusToJSON, } from './TemplateCreationStatus.js';
14
15
  import { SandboxTemplateConditionFromJSON, SandboxTemplateConditionToJSON, } from './SandboxTemplateCondition.js';
15
16
  /**
16
17
  * Check if a given object implements the SandboxTemplateStatus interface.
@@ -30,6 +31,7 @@ export function SandboxTemplateStatusFromJSONTyped(json, ignoreDiscriminator) {
30
31
  'activeCount': json['activeCount'] == null ? undefined : json['activeCount'],
31
32
  'conditions': json['conditions'] == null ? undefined : (json['conditions'].map(SandboxTemplateConditionFromJSON)),
32
33
  'lastUpdateTime': json['lastUpdateTime'] == null ? undefined : (new Date(json['lastUpdateTime'])),
34
+ 'creation': json['creation'] == null ? undefined : TemplateCreationStatusFromJSON(json['creation']),
33
35
  };
34
36
  }
35
37
  export function SandboxTemplateStatusToJSON(json) {
@@ -44,5 +46,6 @@ export function SandboxTemplateStatusToJSONTyped(value, ignoreDiscriminator = fa
44
46
  'activeCount': value['activeCount'],
45
47
  'conditions': value['conditions'] == null ? undefined : (value['conditions'].map(SandboxTemplateConditionToJSON)),
46
48
  'lastUpdateTime': value['lastUpdateTime'] == null ? value['lastUpdateTime'] : value['lastUpdateTime'].toISOString(),
49
+ 'creation': TemplateCreationStatusToJSON(value['creation']),
47
50
  };
48
51
  }
@@ -72,6 +72,18 @@ export interface SandboxVolume {
72
72
  * @memberof SandboxVolume
73
73
  */
74
74
  s3?: SandboxVolumeS3Config;
75
+ /**
76
+ * Latest metered logical payload bytes stored by this S0FS volume. Null for external backends or when metering state is unavailable.
77
+ * @type {number}
78
+ * @memberof SandboxVolume
79
+ */
80
+ meteredStorageBytes?: number | null;
81
+ /**
82
+ * Time when metered_storage_bytes was last observed. Null for external backends or when metering state is unavailable.
83
+ * @type {Date}
84
+ * @memberof SandboxVolume
85
+ */
86
+ storageObservedAt?: Date | null;
75
87
  /**
76
88
  *
77
89
  * @type {Date}
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxVolume.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/SandboxVolume.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAO3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAQrE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;OAIG;IACH,OAAO,EAAE,aAAa,CAAC;IACvB;;;;OAIG;IACH,EAAE,CAAC,EAAE,qBAAqB,CAAC;IAC3B;;;;OAIG;IACH,SAAS,EAAE,IAAI,CAAC;IAChB;;;;OAIG;IACH,SAAS,EAAE,IAAI,CAAC;CACnB;AAID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAQ7E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,aAAa,CAE9D;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,aAAa,CAkBjG;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,aAAa,CAE5D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAmBhH"}
1
+ {"version":3,"file":"SandboxVolume.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/SandboxVolume.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAO3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAQrE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;OAIG;IACH,OAAO,EAAE,aAAa,CAAC;IACvB;;;;OAIG;IACH,EAAE,CAAC,EAAE,qBAAqB,CAAC;IAC3B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,SAAS,EAAE,IAAI,CAAC;IAChB;;;;OAIG;IACH,SAAS,EAAE,IAAI,CAAC;CACnB;AAID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAQ7E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,aAAa,CAE9D;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,aAAa,CAoBjG;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,aAAa,CAE5D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAqBhH"}
@@ -49,6 +49,8 @@ export function SandboxVolumeFromJSONTyped(json, ignoreDiscriminator) {
49
49
  'accessMode': json['access_mode'] == null ? undefined : VolumeAccessModeFromJSON(json['access_mode']),
50
50
  'backend': VolumeBackendFromJSON(json['backend']),
51
51
  's3': json['s3'] == null ? undefined : SandboxVolumeS3ConfigFromJSON(json['s3']),
52
+ 'meteredStorageBytes': json['metered_storage_bytes'] == null ? undefined : json['metered_storage_bytes'],
53
+ 'storageObservedAt': json['storage_observed_at'] == null ? undefined : (new Date(json['storage_observed_at'])),
52
54
  'createdAt': (new Date(json['created_at'])),
53
55
  'updatedAt': (new Date(json['updated_at'])),
54
56
  };
@@ -70,6 +72,8 @@ export function SandboxVolumeToJSONTyped(value, ignoreDiscriminator = false) {
70
72
  'access_mode': VolumeAccessModeToJSON(value['accessMode']),
71
73
  'backend': VolumeBackendToJSON(value['backend']),
72
74
  's3': SandboxVolumeS3ConfigToJSON(value['s3']),
75
+ 'metered_storage_bytes': value['meteredStorageBytes'],
76
+ 'storage_observed_at': value['storageObservedAt'] == null ? value['storageObservedAt'] : value['storageObservedAt'].toISOString(),
73
77
  'created_at': value['createdAt'].toISOString(),
74
78
  'updated_at': value['updatedAt'].toISOString(),
75
79
  };
@@ -28,6 +28,12 @@ export interface TeamQuota {
28
28
  * @memberof TeamQuota
29
29
  */
30
30
  dimension: QuotaDimension;
31
+ /**
32
+ *
33
+ * @type {string}
34
+ * @memberof TeamQuota
35
+ */
36
+ kind: TeamQuotaKindEnum;
31
37
  /**
32
38
  *
33
39
  * @type {number}
@@ -39,7 +45,19 @@ export interface TeamQuota {
39
45
  * @type {number}
40
46
  * @memberof TeamQuota
41
47
  */
42
- current: number;
48
+ intervalMs: number | null;
49
+ /**
50
+ *
51
+ * @type {number}
52
+ * @memberof TeamQuota
53
+ */
54
+ burstValue: number | null;
55
+ /**
56
+ *
57
+ * @type {number}
58
+ * @memberof TeamQuota
59
+ */
60
+ current: number | null;
43
61
  /**
44
62
  *
45
63
  * @type {number}
@@ -58,18 +76,42 @@ export interface TeamQuota {
58
76
  * @memberof TeamQuota
59
77
  */
60
78
  unit: TeamQuotaUnitEnum;
79
+ /**
80
+ *
81
+ * @type {string}
82
+ * @memberof TeamQuota
83
+ */
84
+ source: TeamQuotaSourceEnum;
61
85
  }
86
+ /**
87
+ * @export
88
+ */
89
+ export declare const TeamQuotaKindEnum: {
90
+ readonly TeamQuotaKindCapacity: "capacity";
91
+ readonly TeamQuotaKindRate: "rate";
92
+ };
93
+ export type TeamQuotaKindEnum = typeof TeamQuotaKindEnum[keyof typeof TeamQuotaKindEnum];
62
94
  /**
63
95
  * @export
64
96
  */
65
97
  export declare const TeamQuotaUnitEnum: {
66
- readonly Count: "count";
67
- readonly Millicpu: "millicpu";
68
- readonly MiB: "MiB";
69
- readonly Gb: "GB";
70
- readonly Bytes: "bytes";
98
+ readonly TeamQuotaUnitCount: "count";
99
+ readonly TeamQuotaUnitMillicpu: "millicpu";
100
+ readonly TeamQuotaUnitMiB: "MiB";
101
+ readonly TeamQuotaUnitGB: "GB";
102
+ readonly TeamQuotaUnitRequests: "requests";
103
+ readonly TeamQuotaUnitBytes: "bytes";
71
104
  };
72
105
  export type TeamQuotaUnitEnum = typeof TeamQuotaUnitEnum[keyof typeof TeamQuotaUnitEnum];
106
+ /**
107
+ * @export
108
+ */
109
+ export declare const TeamQuotaSourceEnum: {
110
+ readonly TeamQuotaSourceTeamOverride: "team_override";
111
+ readonly TeamQuotaSourceRegionDefault: "region_default";
112
+ readonly TeamQuotaSourceUnlimited: "unlimited";
113
+ };
114
+ export type TeamQuotaSourceEnum = typeof TeamQuotaSourceEnum[keyof typeof TeamQuotaSourceEnum];
73
115
  /**
74
116
  * Check if a given object implements the TeamQuota interface.
75
117
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TeamQuota.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/TeamQuota.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQvD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACtB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,EAAE,cAAc,CAAC;IAC1B;;;;OAIG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,IAAI,EAAE,iBAAiB,CAAC;CAC3B;AAGD;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAGzF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CASrE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,CAEtD;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,SAAS,CAczF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,CAEpD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAexG"}
1
+ {"version":3,"file":"TeamQuota.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/TeamQuota.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQvD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACtB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,EAAE,cAAc,CAAC;IAC1B;;;;OAIG;IACH,IAAI,EAAE,iBAAiB,CAAC;IACxB;;;;OAIG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;OAIG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;OAIG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;OAIG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,IAAI,EAAE,iBAAiB,CAAC;IACxB;;;;OAIG;IACH,MAAM,EAAE,mBAAmB,CAAC;CAC/B;AAGD;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;CAOpB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AACX,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAG/F;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAarE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,CAEtD;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,SAAS,CAkBzF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,CAEpD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAmBxG"}