@nirvana-labs/nirvana 1.79.1 → 1.81.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.
Files changed (73) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/client.d.mts +3 -0
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +3 -0
  5. package/client.d.ts.map +1 -1
  6. package/client.js +3 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +3 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/index.d.mts +1 -0
  12. package/resources/index.d.mts.map +1 -1
  13. package/resources/index.d.ts +1 -0
  14. package/resources/index.d.ts.map +1 -1
  15. package/resources/index.js +3 -1
  16. package/resources/index.js.map +1 -1
  17. package/resources/index.mjs +1 -0
  18. package/resources/index.mjs.map +1 -1
  19. package/resources/nks/clusters/pools/availability.d.mts +17 -0
  20. package/resources/nks/clusters/pools/availability.d.mts.map +1 -1
  21. package/resources/nks/clusters/pools/availability.d.ts +17 -0
  22. package/resources/nks/clusters/pools/availability.d.ts.map +1 -1
  23. package/resources/nks/clusters/pools/pools.d.mts +26 -0
  24. package/resources/nks/clusters/pools/pools.d.mts.map +1 -1
  25. package/resources/nks/clusters/pools/pools.d.ts +26 -0
  26. package/resources/nks/clusters/pools/pools.d.ts.map +1 -1
  27. package/resources/nks/clusters/pools/pools.js.map +1 -1
  28. package/resources/nks/clusters/pools/pools.mjs.map +1 -1
  29. package/resources/organizations/organizations.d.mts +9 -1
  30. package/resources/organizations/organizations.d.mts.map +1 -1
  31. package/resources/organizations/organizations.d.ts +9 -1
  32. package/resources/organizations/organizations.d.ts.map +1 -1
  33. package/resources/organizations/organizations.js.map +1 -1
  34. package/resources/organizations/organizations.mjs.map +1 -1
  35. package/resources/quotas/index.d.mts +2 -0
  36. package/resources/quotas/index.d.mts.map +1 -0
  37. package/resources/quotas/index.d.ts +2 -0
  38. package/resources/quotas/index.d.ts.map +1 -0
  39. package/resources/quotas/index.js +7 -0
  40. package/resources/quotas/index.js.map +1 -0
  41. package/resources/quotas/index.mjs +3 -0
  42. package/resources/quotas/index.mjs.map +1 -0
  43. package/resources/quotas/quotas.d.mts +132 -0
  44. package/resources/quotas/quotas.d.mts.map +1 -0
  45. package/resources/quotas/quotas.d.ts +132 -0
  46. package/resources/quotas/quotas.d.ts.map +1 -0
  47. package/resources/quotas/quotas.js +32 -0
  48. package/resources/quotas/quotas.js.map +1 -0
  49. package/resources/quotas/quotas.mjs +28 -0
  50. package/resources/quotas/quotas.mjs.map +1 -0
  51. package/resources/quotas.d.mts +2 -0
  52. package/resources/quotas.d.mts.map +1 -0
  53. package/resources/quotas.d.ts +2 -0
  54. package/resources/quotas.d.ts.map +1 -0
  55. package/resources/quotas.js +6 -0
  56. package/resources/quotas.js.map +1 -0
  57. package/resources/quotas.mjs +3 -0
  58. package/resources/quotas.mjs.map +1 -0
  59. package/src/client.ts +5 -0
  60. package/src/resources/index.ts +1 -0
  61. package/src/resources/nks/clusters/pools/availability.ts +19 -0
  62. package/src/resources/nks/clusters/pools/pools.ts +30 -0
  63. package/src/resources/organizations/api.md +1 -0
  64. package/src/resources/organizations/organizations.ts +11 -0
  65. package/src/resources/quotas/api.md +16 -0
  66. package/src/resources/quotas/index.ts +3 -0
  67. package/src/resources/quotas/quotas.ts +170 -0
  68. package/src/resources/quotas.ts +3 -0
  69. package/src/version.ts +1 -1
  70. package/version.d.mts +1 -1
  71. package/version.d.ts +1 -1
  72. package/version.js +1 -1
  73. package/version.mjs +1 -1
package/src/client.ts CHANGED
@@ -28,6 +28,7 @@ import { NKS } from './resources/nks/nks';
28
28
  import { Operations } from './resources/operations/operations';
29
29
  import { Organizations } from './resources/organizations/organizations';
30
30
  import { Projects } from './resources/projects/projects';
31
+ import { Quotas } from './resources/quotas/quotas';
31
32
  import { Regions } from './resources/regions/regions';
32
33
  import { RPCNodes } from './resources/rpc-nodes/rpc-nodes';
33
34
  import { UserResource } from './resources/user/user';
@@ -759,6 +760,7 @@ export class NirvanaLabs {
759
760
  apiKeys: API.APIKeys = new API.APIKeys(this);
760
761
  operations: API.Operations = new API.Operations(this);
761
762
  organizations: API.Organizations = new API.Organizations(this);
763
+ quotas: API.Quotas = new API.Quotas(this);
762
764
  auditLogs: API.AuditLogs = new API.AuditLogs(this);
763
765
  projects: API.Projects = new API.Projects(this);
764
766
  regions: API.Regions = new API.Regions(this);
@@ -773,6 +775,7 @@ NirvanaLabs.UserResource = UserResource;
773
775
  NirvanaLabs.APIKeys = APIKeys;
774
776
  NirvanaLabs.Operations = Operations;
775
777
  NirvanaLabs.Organizations = Organizations;
778
+ NirvanaLabs.Quotas = Quotas;
776
779
  NirvanaLabs.AuditLogs = AuditLogs;
777
780
  NirvanaLabs.Projects = Projects;
778
781
  NirvanaLabs.Regions = Regions;
@@ -796,6 +799,8 @@ export declare namespace NirvanaLabs {
796
799
 
797
800
  export { Organizations as Organizations };
798
801
 
802
+ export { Quotas as Quotas };
803
+
799
804
  export { AuditLogs as AuditLogs };
800
805
 
801
806
  export { Projects as Projects };
@@ -10,6 +10,7 @@ export { Networking } from './networking/networking';
10
10
  export { Operations } from './operations';
11
11
  export { Organizations } from './organizations/organizations';
12
12
  export { Projects } from './projects';
13
+ export { Quotas } from './quotas';
13
14
  export { RPCNodes } from './rpc-nodes/rpc-nodes';
14
15
  export { Regions } from './regions';
15
16
  export { UserResource } from './user/user';
@@ -88,6 +88,11 @@ export interface AvailabilityUpdateParams {
88
88
  */
89
89
  name?: string;
90
90
 
91
+ /**
92
+ * Body param: Partial node configuration update.
93
+ */
94
+ node_config?: AvailabilityUpdateParams.NodeConfig;
95
+
91
96
  /**
92
97
  * Body param: Number of nodes.
93
98
  */
@@ -99,6 +104,20 @@ export interface AvailabilityUpdateParams {
99
104
  tags?: Array<string>;
100
105
  }
101
106
 
107
+ export namespace AvailabilityUpdateParams {
108
+ /**
109
+ * Partial node configuration update.
110
+ */
111
+ export interface NodeConfig {
112
+ /**
113
+ * Kubernetes labels to apply to each node in the pool. Each entry is "key=value".
114
+ * When provided, the list fully replaces the current labels on the pool and on
115
+ * live nodes.
116
+ */
117
+ labels?: Array<string>;
118
+ }
119
+ }
120
+
102
121
  export declare namespace Availability {
103
122
  export {
104
123
  type AvailabilityCreateParams as AvailabilityCreateParams,
@@ -236,6 +236,12 @@ export interface NKSNodePoolNodeConfig {
236
236
  * Instance type name used for worker nodes.
237
237
  */
238
238
  instance_type: string;
239
+
240
+ /**
241
+ * Kubernetes labels to apply to each node in the pool. Each entry is "key=value".
242
+ * Keys under kubernetes.io, k8s.io, and nirvanalabs.io prefixes are reserved.
243
+ */
244
+ labels?: Array<string>;
239
245
  }
240
246
 
241
247
  /**
@@ -251,6 +257,11 @@ export interface NKSNodePoolNodeConfigResponse {
251
257
  * Instance type name.
252
258
  */
253
259
  instance_type: string;
260
+
261
+ /**
262
+ * Kubernetes labels applied to each node in the pool. Each entry is "key=value".
263
+ */
264
+ labels: Array<string>;
254
265
  }
255
266
 
256
267
  export interface PoolCreateParams {
@@ -286,6 +297,11 @@ export interface PoolUpdateParams {
286
297
  */
287
298
  name?: string;
288
299
 
300
+ /**
301
+ * Body param: Partial node configuration update.
302
+ */
303
+ node_config?: PoolUpdateParams.NodeConfig;
304
+
289
305
  /**
290
306
  * Body param: Number of nodes.
291
307
  */
@@ -297,6 +313,20 @@ export interface PoolUpdateParams {
297
313
  tags?: Array<string>;
298
314
  }
299
315
 
316
+ export namespace PoolUpdateParams {
317
+ /**
318
+ * Partial node configuration update.
319
+ */
320
+ export interface NodeConfig {
321
+ /**
322
+ * Kubernetes labels to apply to each node in the pool. Each entry is "key=value".
323
+ * When provided, the list fully replaces the current labels on the pool and on
324
+ * live nodes.
325
+ */
326
+ labels?: Array<string>;
327
+ }
328
+ }
329
+
300
330
  export interface PoolListParams extends CursorParams {}
301
331
 
302
332
  export interface PoolDeleteParams {
@@ -6,6 +6,7 @@ Types:
6
6
  - <code><a href="./src/resources/organizations/organizations.ts">OrganizationDomain</a></code>
7
7
  - <code><a href="./src/resources/organizations/organizations.ts">OrganizationList</a></code>
8
8
  - <code><a href="./src/resources/organizations/organizations.ts">OrganizationServices</a></code>
9
+ - <code><a href="./src/resources/organizations/organizations.ts">OrganizationType</a></code>
9
10
 
10
11
  Methods:
11
12
 
@@ -136,6 +136,11 @@ export interface Organization {
136
136
  */
137
137
  services: OrganizationServices;
138
138
 
139
+ /**
140
+ * Organization type.
141
+ */
142
+ type: OrganizationType;
143
+
139
144
  /**
140
145
  * When the Organization was updated.
141
146
  */
@@ -206,6 +211,11 @@ export interface OrganizationServices {
206
211
  sso: boolean;
207
212
  }
208
213
 
214
+ /**
215
+ * Organization type.
216
+ */
217
+ export type OrganizationType = 'personal' | 'company';
218
+
209
219
  export interface OrganizationCreateParams {
210
220
  /**
211
221
  * Organization name.
@@ -230,6 +240,7 @@ export declare namespace Organizations {
230
240
  type OrganizationDomain as OrganizationDomain,
231
241
  type OrganizationList as OrganizationList,
232
242
  type OrganizationServices as OrganizationServices,
243
+ type OrganizationType as OrganizationType,
233
244
  type OrganizationsCursor as OrganizationsCursor,
234
245
  type OrganizationCreateParams as OrganizationCreateParams,
235
246
  type OrganizationUpdateParams as OrganizationUpdateParams,
@@ -0,0 +1,16 @@
1
+ # Quotas
2
+
3
+ Types:
4
+
5
+ - <code><a href="./src/resources/quotas.ts">Quota</a></code>
6
+ - <code><a href="./src/resources/quotas.ts">QuotaCompute</a></code>
7
+ - <code><a href="./src/resources/quotas.ts">QuotaList</a></code>
8
+ - <code><a href="./src/resources/quotas.ts">QuotaNetworking</a></code>
9
+ - <code><a href="./src/resources/quotas.ts">QuotaNKS</a></code>
10
+ - <code><a href="./src/resources/quotas.ts">QuotaResourceDetail</a></code>
11
+ - <code><a href="./src/resources/quotas.ts">QuotaStorage</a></code>
12
+
13
+ Methods:
14
+
15
+ - <code title="get /v1/quotas">client.quotas.<a href="./src/resources/quotas.ts">list</a>() -> QuotaList</code>
16
+ - <code title="get /v1/quotas/{region}">client.quotas.<a href="./src/resources/quotas.ts">get</a>(region) -> Quota</code>
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export { Quotas } from './quotas';
@@ -0,0 +1,170 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as Shared from '../shared';
5
+ import { APIPromise } from '../../core/api-promise';
6
+ import { RequestOptions } from '../../internal/request-options';
7
+ import { path } from '../../internal/utils/path';
8
+
9
+ export class Quotas extends APIResource {
10
+ /**
11
+ * List quota usage and limits for the current organization across all regions
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const quotaList = await client.quotas.list();
16
+ * ```
17
+ */
18
+ list(options?: RequestOptions): APIPromise<QuotaList> {
19
+ return this._client.get('/v1/quotas', options);
20
+ }
21
+
22
+ /**
23
+ * Get quota usage and limits for the current organization in a single region
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const quota = await client.quotas.get('us-sva-1');
28
+ * ```
29
+ */
30
+ get(region: 'us-sva-1' | 'us-sva-2' | 'us-chi-1', options?: RequestOptions): APIPromise<Quota> {
31
+ return this._client.get(path`/v1/quotas/${region}`, options);
32
+ }
33
+ }
34
+
35
+ /**
36
+ * Quota response.
37
+ */
38
+ export interface Quota {
39
+ /**
40
+ * Compute quota.
41
+ */
42
+ compute: QuotaCompute;
43
+
44
+ /**
45
+ * Networking quota.
46
+ */
47
+ networking: QuotaNetworking;
48
+
49
+ /**
50
+ * NKS quota.
51
+ */
52
+ nks: QuotaNKS;
53
+
54
+ /**
55
+ * Region the resource is in.
56
+ */
57
+ region: Shared.RegionName;
58
+
59
+ /**
60
+ * Storage quota.
61
+ */
62
+ storage: QuotaStorage;
63
+ }
64
+
65
+ /**
66
+ * Compute quota.
67
+ */
68
+ export interface QuotaCompute {
69
+ /**
70
+ * Quota resource detail.
71
+ */
72
+ memory_gb: QuotaResourceDetail;
73
+
74
+ /**
75
+ * Quota resource detail.
76
+ */
77
+ vcpu: QuotaResourceDetail;
78
+ }
79
+
80
+ export interface QuotaList {
81
+ items: Array<Quota>;
82
+
83
+ /**
84
+ * Pagination response details.
85
+ */
86
+ pagination: Shared.Pagination;
87
+ }
88
+
89
+ /**
90
+ * Networking quota.
91
+ */
92
+ export interface QuotaNetworking {
93
+ /**
94
+ * Quota resource detail.
95
+ */
96
+ connect_connections: QuotaResourceDetail;
97
+
98
+ /**
99
+ * Quota resource detail.
100
+ */
101
+ public_ips: QuotaResourceDetail;
102
+
103
+ /**
104
+ * Quota resource detail.
105
+ */
106
+ vpcs: QuotaResourceDetail;
107
+ }
108
+
109
+ /**
110
+ * NKS quota.
111
+ */
112
+ export interface QuotaNKS {
113
+ /**
114
+ * Quota resource detail.
115
+ */
116
+ clusters: QuotaResourceDetail;
117
+
118
+ /**
119
+ * Quota resource detail.
120
+ */
121
+ memory_gb: QuotaResourceDetail;
122
+
123
+ /**
124
+ * Quota resource detail.
125
+ */
126
+ public_ips: QuotaResourceDetail;
127
+
128
+ /**
129
+ * Quota resource detail.
130
+ */
131
+ vcpu: QuotaResourceDetail;
132
+ }
133
+
134
+ /**
135
+ * Quota resource detail.
136
+ */
137
+ export interface QuotaResourceDetail {
138
+ limit: number;
139
+
140
+ remaining: number;
141
+
142
+ used: number;
143
+ }
144
+
145
+ /**
146
+ * Storage quota.
147
+ */
148
+ export interface QuotaStorage {
149
+ /**
150
+ * Quota resource detail.
151
+ */
152
+ abs: QuotaResourceDetail;
153
+
154
+ /**
155
+ * Quota resource detail.
156
+ */
157
+ local_nvme: QuotaResourceDetail;
158
+ }
159
+
160
+ export declare namespace Quotas {
161
+ export {
162
+ type Quota as Quota,
163
+ type QuotaCompute as QuotaCompute,
164
+ type QuotaList as QuotaList,
165
+ type QuotaNetworking as QuotaNetworking,
166
+ type QuotaNKS as QuotaNKS,
167
+ type QuotaResourceDetail as QuotaResourceDetail,
168
+ type QuotaStorage as QuotaStorage,
169
+ };
170
+ }
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './quotas/index';
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '1.79.1'; // x-release-please-version
1
+ export const VERSION = '1.81.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.79.1";
1
+ export declare const VERSION = "1.81.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.79.1";
1
+ export declare const VERSION = "1.81.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '1.79.1'; // x-release-please-version
4
+ exports.VERSION = '1.81.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '1.79.1'; // x-release-please-version
1
+ export const VERSION = '1.81.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map