@nirvana-labs/nirvana 2.1.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/bin/migration-config.json +136 -0
  3. package/package.json +2 -2
  4. package/resources/compute/vms/volumes.d.mts +1 -1
  5. package/resources/compute/vms/volumes.d.mts.map +1 -1
  6. package/resources/compute/vms/volumes.d.ts +1 -1
  7. package/resources/compute/vms/volumes.d.ts.map +1 -1
  8. package/resources/compute/volumes/availability.d.mts +1 -1
  9. package/resources/compute/volumes/availability.d.ts +1 -1
  10. package/resources/compute/volumes/cost.d.mts +1 -1
  11. package/resources/compute/volumes/cost.d.ts +1 -1
  12. package/resources/compute/volumes/volumes.d.mts +3 -3
  13. package/resources/compute/volumes/volumes.d.mts.map +1 -1
  14. package/resources/compute/volumes/volumes.d.ts +3 -3
  15. package/resources/compute/volumes/volumes.d.ts.map +1 -1
  16. package/resources/organizations/billing/billing.d.mts +1 -1
  17. package/resources/organizations/billing/billing.d.ts +1 -1
  18. package/resources/organizations/index.d.mts +1 -1
  19. package/resources/organizations/index.d.mts.map +1 -1
  20. package/resources/organizations/index.d.ts +1 -1
  21. package/resources/organizations/index.d.ts.map +1 -1
  22. package/resources/organizations/index.js +2 -2
  23. package/resources/organizations/index.js.map +1 -1
  24. package/resources/organizations/index.mjs +1 -1
  25. package/resources/organizations/index.mjs.map +1 -1
  26. package/resources/organizations/memberships/index.d.mts +3 -0
  27. package/resources/organizations/memberships/index.d.mts.map +1 -0
  28. package/resources/organizations/memberships/index.d.ts +3 -0
  29. package/resources/organizations/memberships/index.d.ts.map +1 -0
  30. package/resources/organizations/memberships/index.js +9 -0
  31. package/resources/organizations/memberships/index.js.map +1 -0
  32. package/resources/organizations/memberships/index.mjs +4 -0
  33. package/resources/organizations/memberships/index.mjs.map +1 -0
  34. package/resources/organizations/memberships/invitations.d.mts +129 -0
  35. package/resources/organizations/memberships/invitations.d.mts.map +1 -0
  36. package/resources/organizations/memberships/invitations.d.ts +129 -0
  37. package/resources/organizations/memberships/invitations.d.ts.map +1 -0
  38. package/resources/organizations/memberships/invitations.js +80 -0
  39. package/resources/organizations/memberships/invitations.js.map +1 -0
  40. package/resources/organizations/memberships/invitations.mjs +76 -0
  41. package/resources/organizations/memberships/invitations.mjs.map +1 -0
  42. package/resources/organizations/memberships/memberships.d.mts +145 -0
  43. package/resources/organizations/memberships/memberships.d.mts.map +1 -0
  44. package/resources/organizations/memberships/memberships.d.ts +145 -0
  45. package/resources/organizations/memberships/memberships.d.ts.map +1 -0
  46. package/resources/organizations/memberships/memberships.js +93 -0
  47. package/resources/organizations/memberships/memberships.js.map +1 -0
  48. package/resources/organizations/memberships/memberships.mjs +88 -0
  49. package/resources/organizations/memberships/memberships.mjs.map +1 -0
  50. package/resources/organizations/memberships.d.mts +1 -95
  51. package/resources/organizations/memberships.d.mts.map +1 -1
  52. package/resources/organizations/memberships.d.ts +1 -95
  53. package/resources/organizations/memberships.d.ts.map +1 -1
  54. package/resources/organizations/memberships.js +2 -39
  55. package/resources/organizations/memberships.js.map +1 -1
  56. package/resources/organizations/memberships.mjs +1 -37
  57. package/resources/organizations/memberships.mjs.map +1 -1
  58. package/resources/organizations/organizations.d.mts +3 -3
  59. package/resources/organizations/organizations.d.mts.map +1 -1
  60. package/resources/organizations/organizations.d.ts +3 -3
  61. package/resources/organizations/organizations.d.ts.map +1 -1
  62. package/resources/organizations/organizations.js +2 -2
  63. package/resources/organizations/organizations.js.map +1 -1
  64. package/resources/organizations/organizations.mjs +2 -2
  65. package/resources/organizations/organizations.mjs.map +1 -1
  66. package/resources/quotas/quotas.d.mts +4 -0
  67. package/resources/quotas/quotas.d.mts.map +1 -1
  68. package/resources/quotas/quotas.d.ts +4 -0
  69. package/resources/quotas/quotas.d.ts.map +1 -1
  70. package/resources/regions/regions.d.mts +8 -0
  71. package/resources/regions/regions.d.mts.map +1 -1
  72. package/resources/regions/regions.d.ts +8 -0
  73. package/resources/regions/regions.d.ts.map +1 -1
  74. package/src/resources/compute/vms/volumes.ts +1 -1
  75. package/src/resources/compute/volumes/availability.ts +1 -1
  76. package/src/resources/compute/volumes/cost.ts +1 -1
  77. package/src/resources/compute/volumes/volumes.ts +3 -3
  78. package/src/resources/organizations/api.md +20 -4
  79. package/src/resources/organizations/billing/billing.ts +1 -1
  80. package/src/resources/organizations/index.ts +3 -1
  81. package/src/resources/organizations/memberships/index.ts +20 -0
  82. package/src/resources/organizations/memberships/invitations.ts +183 -0
  83. package/src/resources/organizations/memberships/memberships.ts +228 -0
  84. package/src/resources/organizations/memberships.ts +1 -135
  85. package/src/resources/organizations/organizations.ts +13 -9
  86. package/src/resources/quotas/quotas.ts +5 -0
  87. package/src/resources/regions/regions.ts +10 -0
  88. package/src/version.ts +1 -1
  89. package/version.d.mts +1 -1
  90. package/version.d.ts +1 -1
  91. package/version.js +1 -1
  92. package/version.mjs +1 -1
@@ -0,0 +1,228 @@
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 * as InvitationsAPI from './invitations';
6
+ import {
7
+ InvitationCreateParams,
8
+ InvitationDeleteParams,
9
+ InvitationResendParams,
10
+ Invitations,
11
+ OrganizationInvitation,
12
+ OrganizationInvitationList,
13
+ } from './invitations';
14
+ import { APIPromise } from '../../../core/api-promise';
15
+ import { Cursor, type CursorParams, PagePromise } from '../../../core/pagination';
16
+ import { buildHeaders } from '../../../internal/headers';
17
+ import { RequestOptions } from '../../../internal/request-options';
18
+ import { path } from '../../../internal/utils/path';
19
+
20
+ export class Memberships extends APIResource {
21
+ invitations: InvitationsAPI.Invitations = new InvitationsAPI.Invitations(this._client);
22
+
23
+ /**
24
+ * Get details about an organization membership
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const organizationMembership =
29
+ * await client.organizations.memberships.get(
30
+ * 'membership_id',
31
+ * { organization_id: 'organization_id' },
32
+ * );
33
+ * ```
34
+ */
35
+ get(
36
+ membershipID: string,
37
+ params: MembershipGetParams,
38
+ options?: RequestOptions,
39
+ ): APIPromise<OrganizationMembership> {
40
+ const { organization_id } = params;
41
+ return this._client.get(path`/v1/organizations/${organization_id}/memberships/${membershipID}`, options);
42
+ }
43
+
44
+ /**
45
+ * List all memberships for an organization
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * // Automatically fetches more pages as needed.
50
+ * for await (const organizationMembership of client.organizations.memberships.list(
51
+ * 'organization_id',
52
+ * )) {
53
+ * // ...
54
+ * }
55
+ * ```
56
+ */
57
+ list(
58
+ organizationID: string,
59
+ query: MembershipListParams | null | undefined = {},
60
+ options?: RequestOptions,
61
+ ): PagePromise<OrganizationMembershipsCursor, OrganizationMembership> {
62
+ return this._client.getAPIList(
63
+ path`/v1/organizations/${organizationID}/memberships`,
64
+ Cursor<OrganizationMembership>,
65
+ { query, ...options },
66
+ );
67
+ }
68
+
69
+ /**
70
+ * Change the role of a member of an organization. Owners may assign any role.
71
+ * Admins may assign admin, billing or member, and cannot change the role of an
72
+ * owner. The last owner cannot be demoted, and members cannot change their own
73
+ * role except for an owner stepping down while another owner remains.
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * const organizationMembership =
78
+ * await client.organizations.memberships.update(
79
+ * 'membership_id',
80
+ * { organization_id: 'organization_id', role: 'owner' },
81
+ * );
82
+ * ```
83
+ */
84
+ update(
85
+ membershipID: string,
86
+ params: MembershipUpdateParams,
87
+ options?: RequestOptions,
88
+ ): APIPromise<OrganizationMembership> {
89
+ const { organization_id, ...body } = params;
90
+ return this._client.patch(path`/v1/organizations/${organization_id}/memberships/${membershipID}`, {
91
+ body,
92
+ ...options,
93
+ });
94
+ }
95
+
96
+ /**
97
+ * Remove a member from an organization. Admins cannot remove an owner, and the
98
+ * last owner cannot be removed.
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * await client.organizations.memberships.delete(
103
+ * 'membership_id',
104
+ * { organization_id: 'organization_id' },
105
+ * );
106
+ * ```
107
+ */
108
+ delete(membershipID: string, params: MembershipDeleteParams, options?: RequestOptions): APIPromise<void> {
109
+ const { organization_id } = params;
110
+ return this._client.delete(path`/v1/organizations/${organization_id}/memberships/${membershipID}`, {
111
+ ...options,
112
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
113
+ });
114
+ }
115
+ }
116
+
117
+ export type OrganizationMembershipsCursor = Cursor<OrganizationMembership>;
118
+
119
+ /**
120
+ * Organization membership details.
121
+ */
122
+ export interface OrganizationMembership {
123
+ /**
124
+ * Membership ID.
125
+ */
126
+ id: string;
127
+
128
+ /**
129
+ * When the membership was created.
130
+ */
131
+ created_at: string;
132
+
133
+ /**
134
+ * Organization ID.
135
+ */
136
+ organization_id: string;
137
+
138
+ /**
139
+ * Role of the user in the organization.
140
+ */
141
+ role: 'owner' | 'admin' | 'billing' | 'member';
142
+
143
+ /**
144
+ * When the membership was updated.
145
+ */
146
+ updated_at: string;
147
+
148
+ /**
149
+ * User ID.
150
+ */
151
+ user_id: string;
152
+ }
153
+
154
+ export interface OrganizationMembershipList {
155
+ items: Array<OrganizationMembership>;
156
+
157
+ /**
158
+ * Pagination response details.
159
+ */
160
+ pagination: Shared.Pagination;
161
+ }
162
+
163
+ export interface MembershipGetParams {
164
+ /**
165
+ * Organization ID
166
+ */
167
+ organization_id: string;
168
+ }
169
+
170
+ export interface MembershipListParams extends CursorParams {
171
+ /**
172
+ * Filter by membership role
173
+ */
174
+ role?: 'owner' | 'admin' | 'billing' | 'member';
175
+
176
+ /**
177
+ * Comma-separated sort terms in precedence order, each field:asc or field:desc.
178
+ * Fields: created_at, updated_at, role
179
+ */
180
+ sort?: string;
181
+
182
+ /**
183
+ * Filter by the member's user ID
184
+ */
185
+ user_id?: string;
186
+ }
187
+
188
+ export interface MembershipUpdateParams {
189
+ /**
190
+ * Path param: Organization ID
191
+ */
192
+ organization_id: string;
193
+
194
+ /**
195
+ * Body param: Role of the user in the organization.
196
+ */
197
+ role: 'owner' | 'admin' | 'billing' | 'member';
198
+ }
199
+
200
+ export interface MembershipDeleteParams {
201
+ /**
202
+ * Organization ID
203
+ */
204
+ organization_id: string;
205
+ }
206
+
207
+ Memberships.Invitations = Invitations;
208
+
209
+ export declare namespace Memberships {
210
+ export {
211
+ type OrganizationMembership as OrganizationMembership,
212
+ type OrganizationMembershipList as OrganizationMembershipList,
213
+ type OrganizationMembershipsCursor as OrganizationMembershipsCursor,
214
+ type MembershipGetParams as MembershipGetParams,
215
+ type MembershipListParams as MembershipListParams,
216
+ type MembershipUpdateParams as MembershipUpdateParams,
217
+ type MembershipDeleteParams as MembershipDeleteParams,
218
+ };
219
+
220
+ export {
221
+ Invitations as Invitations,
222
+ type OrganizationInvitation as OrganizationInvitation,
223
+ type OrganizationInvitationList as OrganizationInvitationList,
224
+ type InvitationCreateParams as InvitationCreateParams,
225
+ type InvitationResendParams as InvitationResendParams,
226
+ type InvitationDeleteParams as InvitationDeleteParams,
227
+ };
228
+ }
@@ -1,137 +1,3 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import { APIResource } from '../../core/resource';
4
- import * as Shared from '../shared';
5
- import { APIPromise } from '../../core/api-promise';
6
- import { Cursor, type CursorParams, PagePromise } from '../../core/pagination';
7
- import { RequestOptions } from '../../internal/request-options';
8
- import { path } from '../../internal/utils/path';
9
-
10
- export class Memberships extends APIResource {
11
- /**
12
- * Get details about an organization membership
13
- *
14
- * @example
15
- * ```ts
16
- * const organizationMembership =
17
- * await client.organizations.memberships.get(
18
- * 'membership_id',
19
- * { organization_id: 'organization_id' },
20
- * );
21
- * ```
22
- */
23
- get(
24
- membershipID: string,
25
- params: MembershipGetParams,
26
- options?: RequestOptions,
27
- ): APIPromise<OrganizationMembership> {
28
- const { organization_id } = params;
29
- return this._client.get(path`/v1/organizations/${organization_id}/memberships/${membershipID}`, options);
30
- }
31
-
32
- /**
33
- * List all memberships for an organization
34
- *
35
- * @example
36
- * ```ts
37
- * // Automatically fetches more pages as needed.
38
- * for await (const organizationMembership of client.organizations.memberships.list(
39
- * 'organization_id',
40
- * )) {
41
- * // ...
42
- * }
43
- * ```
44
- */
45
- list(
46
- organizationID: string,
47
- query: MembershipListParams | null | undefined = {},
48
- options?: RequestOptions,
49
- ): PagePromise<OrganizationMembershipsCursor, OrganizationMembership> {
50
- return this._client.getAPIList(
51
- path`/v1/organizations/${organizationID}/memberships`,
52
- Cursor<OrganizationMembership>,
53
- { query, ...options },
54
- );
55
- }
56
- }
57
-
58
- export type OrganizationMembershipsCursor = Cursor<OrganizationMembership>;
59
-
60
- /**
61
- * Organization membership details.
62
- */
63
- export interface OrganizationMembership {
64
- /**
65
- * Membership ID.
66
- */
67
- id: string;
68
-
69
- /**
70
- * When the membership was created.
71
- */
72
- created_at: string;
73
-
74
- /**
75
- * Organization ID.
76
- */
77
- organization_id: string;
78
-
79
- /**
80
- * Role of the user in the organization.
81
- */
82
- role: 'owner' | 'admin' | 'billing' | 'member';
83
-
84
- /**
85
- * When the membership was updated.
86
- */
87
- updated_at: string;
88
-
89
- /**
90
- * User ID.
91
- */
92
- user_id: string;
93
- }
94
-
95
- export interface OrganizationMembershipList {
96
- items: Array<OrganizationMembership>;
97
-
98
- /**
99
- * Pagination response details.
100
- */
101
- pagination: Shared.Pagination;
102
- }
103
-
104
- export interface MembershipGetParams {
105
- /**
106
- * Organization ID
107
- */
108
- organization_id: string;
109
- }
110
-
111
- export interface MembershipListParams extends CursorParams {
112
- /**
113
- * Filter by membership role
114
- */
115
- role?: 'owner' | 'admin' | 'billing' | 'member';
116
-
117
- /**
118
- * Comma-separated sort terms in precedence order, each field:asc or field:desc.
119
- * Fields: created_at, updated_at, role
120
- */
121
- sort?: string;
122
-
123
- /**
124
- * Filter by the member's user ID
125
- */
126
- user_id?: string;
127
- }
128
-
129
- export declare namespace Memberships {
130
- export {
131
- type OrganizationMembership as OrganizationMembership,
132
- type OrganizationMembershipList as OrganizationMembershipList,
133
- type OrganizationMembershipsCursor as OrganizationMembershipsCursor,
134
- type MembershipGetParams as MembershipGetParams,
135
- type MembershipListParams as MembershipListParams,
136
- };
137
- }
3
+ export * from './memberships/index';
@@ -4,15 +4,6 @@ import { APIResource } from '../../core/resource';
4
4
  import * as Shared from '../shared';
5
5
  import * as AddressAPI from './address';
6
6
  import { Address, AddressCreateParams, AddressUpdateParams, OrganizationAddress } from './address';
7
- import * as MembershipsAPI from './memberships';
8
- import {
9
- MembershipGetParams,
10
- MembershipListParams,
11
- Memberships,
12
- OrganizationMembership,
13
- OrganizationMembershipList,
14
- OrganizationMembershipsCursor,
15
- } from './memberships';
16
7
  import * as BillingAPI from './billing/billing';
17
8
  import {
18
9
  Billing,
@@ -32,6 +23,17 @@ import {
32
23
  StatementProject,
33
24
  StatementResourceType,
34
25
  } from './billing/billing';
26
+ import * as MembershipsAPI from './memberships/memberships';
27
+ import {
28
+ MembershipDeleteParams,
29
+ MembershipGetParams,
30
+ MembershipListParams,
31
+ MembershipUpdateParams,
32
+ Memberships,
33
+ OrganizationMembership,
34
+ OrganizationMembershipList,
35
+ OrganizationMembershipsCursor,
36
+ } from './memberships/memberships';
35
37
  import { APIPromise } from '../../core/api-promise';
36
38
  import { Cursor, type CursorParams, PagePromise } from '../../core/pagination';
37
39
  import { buildHeaders } from '../../internal/headers';
@@ -332,6 +334,8 @@ export declare namespace Organizations {
332
334
  type OrganizationMembershipsCursor as OrganizationMembershipsCursor,
333
335
  type MembershipGetParams as MembershipGetParams,
334
336
  type MembershipListParams as MembershipListParams,
337
+ type MembershipUpdateParams as MembershipUpdateParams,
338
+ type MembershipDeleteParams as MembershipDeleteParams,
335
339
  };
336
340
 
337
341
  export {
@@ -159,6 +159,11 @@ export interface QuotaStorage {
159
159
  * Quota dimension detail.
160
160
  */
161
161
  local_nvme: QuotaDimensionDetail;
162
+
163
+ /**
164
+ * Quota dimension detail.
165
+ */
166
+ longhorn: QuotaDimensionDetail;
162
167
  }
163
168
 
164
169
  export interface QuotaListParams extends CursorParams {
@@ -125,6 +125,11 @@ export namespace Region {
125
125
  * LocalNVMe indicates if locally-attached NVMe storage is available.
126
126
  */
127
127
  local_nvme: boolean;
128
+
129
+ /**
130
+ * Longhorn indicates if Longhorn replicated block storage is available.
131
+ */
132
+ longhorn: boolean;
128
133
  }
129
134
  }
130
135
 
@@ -183,6 +188,11 @@ export interface RegionListParams extends CursorParams {
183
188
  * Only regions where locally-attached NVMe storage is available
184
189
  */
185
190
  storage_local_nvme?: boolean;
191
+
192
+ /**
193
+ * Only regions where Longhorn replicated block storage is available
194
+ */
195
+ storage_longhorn?: boolean;
186
196
  }
187
197
 
188
198
  export declare namespace Regions {
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '2.1.1'; // x-release-please-version
1
+ export const VERSION = '2.2.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.1.1";
1
+ export declare const VERSION = "2.2.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.1.1";
1
+ export declare const VERSION = "2.2.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 = '2.1.1'; // x-release-please-version
4
+ exports.VERSION = '2.2.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '2.1.1'; // x-release-please-version
1
+ export const VERSION = '2.2.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map