@leaflow/sdk 0.0.0-dev.478.g138087b → 0.0.0-dev.482.g339e5e7

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 (47) hide show
  1. package/dist/billing/v1/generated/functions.d.ts +1 -1
  2. package/dist/billing/v1/generated/functions.js +1 -1
  3. package/dist/billing/v1/generated/models.d.ts +15 -6
  4. package/dist/billing/v1/generated/models.js +5 -5
  5. package/dist/billing/v1/generated/schemas.zod.d.ts +7 -1
  6. package/dist/billing/v1/generated/schemas.zod.js +9 -1
  7. package/dist/billing/v1/generated/validators/billingAccount.zod.js +2 -1
  8. package/dist/billing/v1/generated/validators/billingAccountStatus.zod.d.ts +15 -0
  9. package/dist/billing/v1/generated/validators/billingAccountStatus.zod.js +11 -0
  10. package/dist/billing/v1/generated/validators/listBillingAccountsParams.zod.d.ts +6 -0
  11. package/dist/billing/v1/generated/validators/listBillingAccountsParams.zod.js +3 -0
  12. package/dist/iam/v1/generated/functions.d.ts +46 -103
  13. package/dist/iam/v1/generated/functions.js +29 -114
  14. package/dist/iam/v1/generated/models.d.ts +53 -118
  15. package/dist/iam/v1/generated/models.js +2 -6
  16. package/dist/iam/v1/generated/schemas.zod.d.ts +31 -62
  17. package/dist/iam/v1/generated/schemas.zod.js +35 -53
  18. package/dist/iam/v1/generated/validators/{updatePolicyRequestBody.zod.d.ts → createMemberPermissionRequestBody.zod.d.ts} +9 -11
  19. package/dist/iam/v1/generated/validators/createMemberPermissionRequestBody.zod.js +36 -0
  20. package/dist/iam/v1/generated/validators/grantResource.zod.js +1 -1
  21. package/dist/iam/v1/generated/validators/lengthAwarePageMemberResource.zod.d.ts +12 -0
  22. package/dist/iam/v1/generated/validators/{listProjectInvitationsParams.zod.d.ts → listInvitationsParams.zod.d.ts} +8 -8
  23. package/dist/iam/v1/generated/validators/{listProjectInvitationsParams.zod.js → listInvitationsParams.zod.js} +11 -11
  24. package/dist/iam/v1/generated/validators/{policyListResponseBody.zod.d.ts → memberPermissionListResponseBody.zod.d.ts} +8 -14
  25. package/dist/iam/v1/generated/validators/{catalogListResponseBody.zod.js → memberPermissionListResponseBody.zod.js} +3 -3
  26. package/dist/iam/v1/generated/validators/{policyResource.zod.d.ts → memberPermissionResource.zod.d.ts} +11 -14
  27. package/dist/iam/v1/generated/validators/memberPermissionResource.zod.js +38 -0
  28. package/dist/iam/v1/generated/validators/memberResource.zod.d.ts +12 -0
  29. package/dist/iam/v1/generated/validators/memberResource.zod.js +5 -0
  30. package/dist/iam/v1/generated/validators/ownershipTransferResponseBody.zod.d.ts +24 -0
  31. package/dist/iam/v1/generated/validators/{catalogResource.zod.d.ts → permissionListResponseBody.zod.d.ts} +4 -8
  32. package/dist/iam/v1/generated/validators/{policyListResponseBody.zod.js → permissionListResponseBody.zod.js} +3 -3
  33. package/dist/routes.d.ts +7 -31
  34. package/dist/routes.js +7 -34
  35. package/package.json +1 -1
  36. package/dist/iam/v1/generated/validators/attachPolicyRequestBody.zod.d.ts +0 -33
  37. package/dist/iam/v1/generated/validators/attachPolicyRequestBody.zod.js +0 -43
  38. package/dist/iam/v1/generated/validators/catalogListResponseBody.zod.d.ts +0 -30
  39. package/dist/iam/v1/generated/validators/catalogResource.zod.js +0 -25
  40. package/dist/iam/v1/generated/validators/listPoliciesParams.zod.d.ts +0 -21
  41. package/dist/iam/v1/generated/validators/listPoliciesParams.zod.js +0 -23
  42. package/dist/iam/v1/generated/validators/policyResource.zod.js +0 -33
  43. package/dist/iam/v1/generated/validators/resourceTypeResource.zod.d.ts +0 -20
  44. package/dist/iam/v1/generated/validators/resourceTypeResource.zod.js +0 -20
  45. package/dist/iam/v1/generated/validators/setMemberPermissionsRequestBody.zod.d.ts +0 -20
  46. package/dist/iam/v1/generated/validators/setMemberPermissionsRequestBody.zod.js +0 -21
  47. package/dist/iam/v1/generated/validators/updatePolicyRequestBody.zod.js +0 -39
@@ -260,7 +260,7 @@ export type listBillingAccountsResponseError = listBillingAccountsResponseDefaul
260
260
  export type listBillingAccountsResponse = listBillingAccountsResponseSuccess | listBillingAccountsResponseError;
261
261
  export declare const getListBillingAccountsUrl: (params?: ListBillingAccountsParams) => string;
262
262
  /**
263
- * Billing accounts owned by the authenticated user.
263
+ * Billing accounts owned by the authenticated user. Filter by status with `status`; omit it to list every status.
264
264
  * @summary List billing accounts
265
265
  */
266
266
  export declare const listBillingAccounts: (params?: ListBillingAccountsParams, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<listBillingAccountsResponse>;
@@ -291,7 +291,7 @@ export const getListBillingAccountsUrl = (params) => {
291
291
  : `https://billing.leaflow.cloud/api/v1/billing-accounts`;
292
292
  };
293
293
  /**
294
- * Billing accounts owned by the authenticated user.
294
+ * Billing accounts owned by the authenticated user. Filter by status with `status`; omit it to list every status.
295
295
  * @summary List billing accounts
296
296
  */
297
297
  export const listBillingAccounts = async (params, options, fetchFn) => {
@@ -624,12 +624,6 @@ export interface Product {
624
624
  name: string;
625
625
  description?: string;
626
626
  }
627
- export type BillingAccountStatus = (typeof BillingAccountStatus)[keyof typeof BillingAccountStatus];
628
- export declare const BillingAccountStatus: {
629
- readonly active: "active";
630
- readonly suspended: "suspended";
631
- readonly closed: "closed";
632
- };
633
627
  /**
634
628
  * Who suspended the account: `owner` (you), `operator` (Leaflow), or `none` while it is not suspended. Only a suspension by `owner` can be resumed by you.
635
629
  */
@@ -639,6 +633,15 @@ export declare const BillingAccountSuspendedBy: {
639
633
  readonly owner: "owner";
640
634
  readonly operator: "operator";
641
635
  };
636
+ /**
637
+ * Whether the account is usable, suspended, or closed.
638
+ */
639
+ export type BillingAccountStatus = (typeof BillingAccountStatus)[keyof typeof BillingAccountStatus];
640
+ export declare const BillingAccountStatus: {
641
+ readonly active: "active";
642
+ readonly suspended: "suspended";
643
+ readonly closed: "closed";
644
+ };
642
645
  export interface BillingAccount {
643
646
  /**
644
647
  * The active contact used for invoices, of this account; null clears it.
@@ -3459,6 +3462,12 @@ export type ListBillingAccountsParams = {
3459
3462
  * @maximum 200
3460
3463
  */
3461
3464
  page_size?: number;
3465
+ /**
3466
+ * Only accounts in these statuses. Omit for all statuses. Comma-separated, for example `status=suspended,closed`.
3467
+ * @minItems 1
3468
+ * @maxItems 3
3469
+ */
3470
+ status?: BillingAccountStatus[];
3462
3471
  };
3463
3472
  export type ListPaymentOptionsParams = {
3464
3473
  /**
@@ -81,16 +81,16 @@ export const SubscriptionCancellationStatus = {
81
81
  completed: "completed",
82
82
  canceled: "canceled",
83
83
  };
84
- export const BillingAccountStatus = {
85
- active: "active",
86
- suspended: "suspended",
87
- closed: "closed",
88
- };
89
84
  export const BillingAccountSuspendedBy = {
90
85
  none: "none",
91
86
  owner: "owner",
92
87
  operator: "operator",
93
88
  };
89
+ export const BillingAccountStatus = {
90
+ active: "active",
91
+ suspended: "suspended",
92
+ closed: "closed",
93
+ };
94
94
  export const BillingScheme = {
95
95
  per_unit: "per_unit",
96
96
  tiered: "tiered",
@@ -141,16 +141,22 @@ export declare const ListCurrenciesQueryParams: zod.ZodObject<{
141
141
  page_size: zod.ZodDefault<zod.ZodInt>;
142
142
  }, zod.z.core.$strict>;
143
143
  /**
144
- * Billing accounts owned by the authenticated user.
144
+ * Billing accounts owned by the authenticated user. Filter by status with `status`; omit it to list every status.
145
145
  * @summary List billing accounts
146
146
  */
147
147
  export declare const listBillingAccountsQueryPageDefault = 1;
148
148
  export declare const listBillingAccountsQueryPageMax = 2147483647;
149
149
  export declare const listBillingAccountsQueryPageSizeDefault = 50;
150
150
  export declare const listBillingAccountsQueryPageSizeMax = 200;
151
+ export declare const listBillingAccountsQueryStatusMax = 3;
151
152
  export declare const ListBillingAccountsQueryParams: zod.ZodObject<{
152
153
  page: zod.ZodDefault<zod.ZodInt>;
153
154
  page_size: zod.ZodDefault<zod.ZodInt>;
155
+ status: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
156
+ active: "active";
157
+ suspended: "suspended";
158
+ closed: "closed";
159
+ }>>>;
154
160
  }, zod.z.core.$strict>;
155
161
  /**
156
162
  * Creates a billing account. Its currency is fixed: prices, orders, invoices and balance are all in it.
@@ -8,6 +8,7 @@
8
8
  import * as zod from "zod";
9
9
  import { AutoRenewSet } from "./validators/autoRenewSet.zod.js";
10
10
  import { BillingAccountCreate } from "./validators/billingAccountCreate.zod.js";
11
+ import { BillingAccountStatus } from "./validators/billingAccountStatus.zod.js";
11
12
  import { BillingAccountUpdate } from "./validators/billingAccountUpdate.zod.js";
12
13
  import { CancelSubscriptionRequest } from "./validators/cancelSubscriptionRequest.zod.js";
13
14
  import { CancellationCreate } from "./validators/cancellationCreate.zod.js";
@@ -164,13 +165,14 @@ export const ListCurrenciesQueryParams = zod.strictObject({
164
165
  .describe("Items per page. Defaults to 50; at most 200."),
165
166
  });
166
167
  /**
167
- * Billing accounts owned by the authenticated user.
168
+ * Billing accounts owned by the authenticated user. Filter by status with `status`; omit it to list every status.
168
169
  * @summary List billing accounts
169
170
  */
170
171
  export const listBillingAccountsQueryPageDefault = 1;
171
172
  export const listBillingAccountsQueryPageMax = 2147483647;
172
173
  export const listBillingAccountsQueryPageSizeDefault = 50;
173
174
  export const listBillingAccountsQueryPageSizeMax = 200;
175
+ export const listBillingAccountsQueryStatusMax = 3;
174
176
  export const ListBillingAccountsQueryParams = zod.strictObject({
175
177
  page: zod
176
178
  .int()
@@ -184,6 +186,12 @@ export const ListBillingAccountsQueryParams = zod.strictObject({
184
186
  .max(listBillingAccountsQueryPageSizeMax)
185
187
  .default(listBillingAccountsQueryPageSizeDefault)
186
188
  .describe("Items per page. Defaults to 50; at most 200."),
189
+ status: zod
190
+ .array(BillingAccountStatus)
191
+ .min(1)
192
+ .max(listBillingAccountsQueryStatusMax)
193
+ .optional()
194
+ .describe("Only accounts in these statuses. Omit for all statuses. Comma-separated, for example `status=suspended,closed`."),
187
195
  });
188
196
  /**
189
197
  * Creates a billing account. Its currency is fixed: prices, orders, invoices and balance are all in it.
@@ -6,6 +6,7 @@
6
6
  * OpenAPI spec version: v1
7
7
  */
8
8
  import * as zod from "zod";
9
+ import { BillingAccountStatus } from "./billingAccountStatus.zod.js";
9
10
  export const BillingAccount = zod.strictObject({
10
11
  invoice_contact_id: zod
11
12
  .uuid()
@@ -14,7 +15,7 @@ export const BillingAccount = zod.strictObject({
14
15
  id: zod.int(),
15
16
  name: zod.string().optional().describe("Your name for the account."),
16
17
  currency: zod.string().describe("Fixed when the account was opened."),
17
- status: zod.enum(["active", "suspended", "closed"]),
18
+ status: BillingAccountStatus,
18
19
  suspended_by: zod
19
20
  .enum(["none", "owner", "operator"])
20
21
  .describe("Who suspended the account: `owner` (you), `operator` (Leaflow), or `none` while it is not suspended. Only a suspension by `owner` can be resumed by you."),
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Billing API
5
+ * Products, prices, orders, subscriptions and account billing. Operations on a billing account require an account access token. The account, its balance, payment options and quotes are also readable by members of the projects it currently pays for; changing the account and moving its funds need the owner. Members of a project, as each operation states, can also read the project's billing account, subscriptions and orders, complete and pay for its purchases, quote purchases, changes and renewals, preview cancellations, and, with the project permission `billing:finance.manage` granted in IAM, renew, cancel and turn automatic renewal of its subscriptions on or off, change its billing account and read its costs. A member without the permission an operation needs is refused with 403 `PERMISSION_DENIED` and `meta.permission`; a caller who is not a member, with 403 `IAM_NOT_PROJECT_MEMBER`. Public catalogue operations declare no security requirement.
6
+ * OpenAPI spec version: v1
7
+ */
8
+ import * as zod from "zod";
9
+ export declare const BillingAccountStatus: zod.ZodEnum<{
10
+ active: "active";
11
+ suspended: "suspended";
12
+ closed: "closed";
13
+ }>;
14
+ export type BillingAccountStatus = zod.input<typeof BillingAccountStatus>;
15
+ export type BillingAccountStatusOutput = zod.output<typeof BillingAccountStatus>;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Billing API
5
+ * Products, prices, orders, subscriptions and account billing. Operations on a billing account require an account access token. The account, its balance, payment options and quotes are also readable by members of the projects it currently pays for; changing the account and moving its funds need the owner. Members of a project, as each operation states, can also read the project's billing account, subscriptions and orders, complete and pay for its purchases, quote purchases, changes and renewals, preview cancellations, and, with the project permission `billing:finance.manage` granted in IAM, renew, cancel and turn automatic renewal of its subscriptions on or off, change its billing account and read its costs. A member without the permission an operation needs is refused with 403 `PERMISSION_DENIED` and `meta.permission`; a caller who is not a member, with 403 `IAM_NOT_PROJECT_MEMBER`. Public catalogue operations declare no security requirement.
6
+ * OpenAPI spec version: v1
7
+ */
8
+ import * as zod from "zod";
9
+ export const BillingAccountStatus = zod
10
+ .enum(["active", "suspended", "closed"])
11
+ .describe("Whether the account is usable, suspended, or closed.");
@@ -10,9 +10,15 @@ export declare const listBillingAccountsParamsPageDefault = 1;
10
10
  export declare const listBillingAccountsParamsPageMax = 2147483647;
11
11
  export declare const listBillingAccountsParamsPageSizeDefault = 50;
12
12
  export declare const listBillingAccountsParamsPageSizeMax = 200;
13
+ export declare const listBillingAccountsParamsStatusMax = 3;
13
14
  export declare const ListBillingAccountsParams: zod.ZodObject<{
14
15
  page: zod.ZodDefault<zod.ZodInt>;
15
16
  page_size: zod.ZodDefault<zod.ZodInt>;
17
+ status: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
18
+ active: "active";
19
+ suspended: "suspended";
20
+ closed: "closed";
21
+ }>>>;
16
22
  }, zod.z.core.$strict>;
17
23
  export type ListBillingAccountsParams = zod.input<typeof ListBillingAccountsParams>;
18
24
  export type ListBillingAccountsParamsOutput = zod.output<typeof ListBillingAccountsParams>;
@@ -6,10 +6,12 @@
6
6
  * OpenAPI spec version: v1
7
7
  */
8
8
  import * as zod from "zod";
9
+ import { BillingAccountStatus } from "./billingAccountStatus.zod.js";
9
10
  export const listBillingAccountsParamsPageDefault = 1;
10
11
  export const listBillingAccountsParamsPageMax = 2147483647;
11
12
  export const listBillingAccountsParamsPageSizeDefault = 50;
12
13
  export const listBillingAccountsParamsPageSizeMax = 200;
14
+ export const listBillingAccountsParamsStatusMax = 3;
13
15
  export const ListBillingAccountsParams = zod.strictObject({
14
16
  page: zod
15
17
  .int()
@@ -21,4 +23,5 @@ export const ListBillingAccountsParams = zod.strictObject({
21
23
  .min(1)
22
24
  .max(listBillingAccountsParamsPageSizeMax)
23
25
  .default(listBillingAccountsParamsPageSizeDefault),
26
+ status: zod.array(BillingAccountStatus).min(1).max(listBillingAccountsParamsStatusMax).optional(),
24
27
  });
@@ -12,7 +12,7 @@
12
12
  * project. It does not state whether a given operation is allowed; each service declares which permission its own operations require.
13
13
  * OpenAPI spec version: 1.0.0
14
14
  */
15
- import type { ApplicationResource, AttachPolicyRequestBody, BatchGetMembersRequestBody, BatchGetMembersResponseBody, CatalogListResponseBody, CreateApplicationRequestBody, CreateApplicationResponseBody, CreateRoleRequestBody, CreateSSHKeyRequestBody, Error, IssueInvitationRequestBody, IssuedInvitationResponseBody, LengthAwarePageApplicationResource, LengthAwarePageInvitationResource, LengthAwarePageMemberResource, LengthAwarePageSSHKeyResource, ListApplicationsParams, ListMembersParams, ListPoliciesParams, ListProjectInvitationsParams, ListSshKeysParams, MemberResource, MembershipResource, OwnershipTransferResponseBody, PolicyListResponseBody, PolicyResource, ProjectAccessResource, QuotaListResponseBody, RenameSSHKeyRequestBody, RoleListResponseBody, RoleResource, RotateApplicationSecretResponseBody, SSHKeyResource, SetMemberPermissionsRequestBody, SetMemberRolesRequestBody, SetProjectSlugRequestBody, TransferOwnershipRequestBody, UpdateApplicationRequestBody, UpdatePolicyRequestBody, UpdateProjectRequestBody, UpdateRoleRequestBody } from "./models.js";
15
+ import type { ApplicationResource, BatchGetMembersRequestBody, BatchGetMembersResponseBody, CreateApplicationRequestBody, CreateApplicationResponseBody, CreateMemberPermissionRequestBody, CreateRoleRequestBody, CreateSSHKeyRequestBody, Error, IssueInvitationRequestBody, IssuedInvitationResponseBody, LengthAwarePageApplicationResource, LengthAwarePageInvitationResource, LengthAwarePageMemberResource, LengthAwarePageSSHKeyResource, ListApplicationsParams, ListInvitationsParams, ListMembersParams, ListSshKeysParams, MemberPermissionListResponseBody, MemberPermissionResource, MemberResource, MembershipResource, OwnershipTransferResponseBody, PermissionListResponseBody, ProjectAccessResource, QuotaListResponseBody, RenameSSHKeyRequestBody, RoleListResponseBody, RoleResource, RotateApplicationSecretResponseBody, SSHKeyResource, SetMemberRolesRequestBody, SetProjectSlugRequestBody, TransferOwnershipRequestBody, UpdateApplicationRequestBody, UpdateProjectRequestBody, UpdateRoleRequestBody } from "./models.js";
16
16
  export type HTTPStatusCode1xx = 100 | 101 | 102 | 103;
17
17
  export type HTTPStatusCode2xx = 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207;
18
18
  export type HTTPStatusCode3xx = 300 | 301 | 302 | 303 | 304 | 305 | 307 | 308;
@@ -20,7 +20,7 @@ export type HTTPStatusCode4xx = 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 |
20
20
  export type HTTPStatusCode5xx = 500 | 501 | 502 | 503 | 504 | 505 | 507 | 511;
21
21
  export type HTTPStatusCodes = HTTPStatusCode1xx | HTTPStatusCode2xx | HTTPStatusCode3xx | HTTPStatusCode4xx | HTTPStatusCode5xx;
22
22
  export type listPermissionsResponse200 = {
23
- data: CatalogListResponseBody;
23
+ data: PermissionListResponseBody;
24
24
  status: 200;
25
25
  };
26
26
  export type listPermissionsResponseDefault = {
@@ -36,7 +36,7 @@ export type listPermissionsResponseError = listPermissionsResponseDefault & {
36
36
  export type listPermissionsResponse = listPermissionsResponseSuccess | listPermissionsResponseError;
37
37
  export declare const getListPermissionsUrl: () => string;
38
38
  /**
39
- * Each service registers its own catalogue with IAM at start-up, so this is the platform-wide list rather than the permissions of IAM alone. **IAM does not decide anything with it** — each service decides using the caller's grant together with its own catalogue, and this list only serves to render the choices. A service that has never started does not appear here.
39
+ * Each service registers the permissions it enforces with IAM at start-up, so this is the platform-wide list rather than the permissions of IAM alone. **IAM does not decide anything with it** — each service decides using the caller's grant together with the permissions compiled into its own binary, and this list only serves to render the choices. A service that has never started does not appear here.
40
40
  * @summary List every permission the platform can grant
41
41
  */
42
42
  export declare const listPermissions: (options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<listPermissionsResponse>;
@@ -150,7 +150,7 @@ export type getProjectMembershipResponseError = getProjectMembershipResponseDefa
150
150
  export type getProjectMembershipResponse = getProjectMembershipResponseSuccess | getProjectMembershipResponseError;
151
151
  export declare const getGetProjectMembershipUrl: () => string;
152
152
  /**
153
- * Facts rather than a conclusion. There is no `allowed` field here, because each service holds the catalogue mapping its operations to permissions and decides on its own.
153
+ * Facts rather than a conclusion. There is no `allowed` field here, because each service holds the permissions its operations need and decides on its own.
154
154
  * @summary Get the caller's standing in this project
155
155
  */
156
156
  export declare const getProjectMembership: (options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<getProjectMembershipResponse>;
@@ -175,27 +175,27 @@ export declare const getListQuotasUrl: () => string;
175
175
  * @summary List this project's quotas
176
176
  */
177
177
  export declare const listQuotas: (options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<listQuotasResponse>;
178
- export type listProjectInvitationsResponse200 = {
178
+ export type listInvitationsResponse200 = {
179
179
  data: LengthAwarePageInvitationResource;
180
180
  status: 200;
181
181
  };
182
- export type listProjectInvitationsResponseDefault = {
182
+ export type listInvitationsResponseDefault = {
183
183
  data: Error;
184
184
  status: Exclude<HTTPStatusCodes, 200>;
185
185
  };
186
- export type listProjectInvitationsResponseSuccess = listProjectInvitationsResponse200 & {
186
+ export type listInvitationsResponseSuccess = listInvitationsResponse200 & {
187
187
  headers: Headers;
188
188
  };
189
- export type listProjectInvitationsResponseError = listProjectInvitationsResponseDefault & {
189
+ export type listInvitationsResponseError = listInvitationsResponseDefault & {
190
190
  headers: Headers;
191
191
  };
192
- export type listProjectInvitationsResponse = listProjectInvitationsResponseSuccess | listProjectInvitationsResponseError;
193
- export declare const getListProjectInvitationsUrl: (params?: ListProjectInvitationsParams) => string;
192
+ export type listInvitationsResponse = listInvitationsResponseSuccess | listInvitationsResponseError;
193
+ export declare const getListInvitationsUrl: (params?: ListInvitationsParams) => string;
194
194
  /**
195
195
  * Visible to any member, on the same rule as the member list. Who has been invited is part of who is in the project.
196
196
  * @summary List the invitations this project is still waiting on
197
197
  */
198
- export declare const listProjectInvitations: (params?: ListProjectInvitationsParams, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<listProjectInvitationsResponse>;
198
+ export declare const listInvitations: (params?: ListInvitationsParams, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<listInvitationsResponse>;
199
199
  export type issueInvitationResponse201 = {
200
200
  data: IssuedInvitationResponseBody;
201
201
  status: 201;
@@ -324,132 +324,75 @@ export declare const getSetMemberRolesUrl: (userId: string) => string;
324
324
  * @summary Set the roles a member holds
325
325
  */
326
326
  export declare const setMemberRoles: (userId: string, setMemberRolesRequestBody: SetMemberRolesRequestBody, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<setMemberRolesResponse>;
327
- export type setMemberPermissionsResponse200 = {
328
- data: PolicyResource;
327
+ export type listMemberPermissionsResponse200 = {
328
+ data: MemberPermissionListResponseBody;
329
329
  status: 200;
330
330
  };
331
- export type setMemberPermissionsResponseDefault = {
331
+ export type listMemberPermissionsResponseDefault = {
332
332
  data: Error;
333
333
  status: Exclude<HTTPStatusCodes, 200>;
334
334
  };
335
- export type setMemberPermissionsResponseSuccess = setMemberPermissionsResponse200 & {
335
+ export type listMemberPermissionsResponseSuccess = listMemberPermissionsResponse200 & {
336
336
  headers: Headers;
337
337
  };
338
- export type setMemberPermissionsResponseError = setMemberPermissionsResponseDefault & {
338
+ export type listMemberPermissionsResponseError = listMemberPermissionsResponseDefault & {
339
339
  headers: Headers;
340
340
  };
341
- export type setMemberPermissionsResponse = setMemberPermissionsResponseSuccess | setMemberPermissionsResponseError;
342
- export declare const getSetMemberPermissionsUrl: (userId: string) => string;
341
+ export type listMemberPermissionsResponse = listMemberPermissionsResponseSuccess | listMemberPermissionsResponseError;
342
+ export declare const getListMemberPermissionsUrl: (userId: string) => string;
343
343
  /**
344
- * Replaces, in full, the permissions attached directly to the base policy. A direct permission grants one person something without creating a role only they hold, and it does not follow later changes to any role. Requires `iam:members.manage`.
345
- * @summary Set the permissions attached directly to a member
346
- */
347
- export declare const setMemberPermissions: (userId: string, setMemberPermissionsRequestBody: SetMemberPermissionsRequestBody, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<setMemberPermissionsResponse>;
348
- export type listPoliciesResponse200 = {
349
- data: PolicyListResponseBody;
350
- status: 200;
351
- };
352
- export type listPoliciesResponseDefault = {
353
- data: Error;
354
- status: Exclude<HTTPStatusCodes, 200>;
355
- };
356
- export type listPoliciesResponseSuccess = listPoliciesResponse200 & {
357
- headers: Headers;
358
- };
359
- export type listPoliciesResponseError = listPoliciesResponseDefault & {
360
- headers: Headers;
361
- };
362
- export type listPoliciesResponse = listPoliciesResponseSuccess | listPoliciesResponseError;
363
- export declare const getListPoliciesUrl: (params?: ListPoliciesParams) => string;
364
- /**
365
- * Visible to any member, on the same rule as the member list. What has been granted to whom is part of who is in the project.
366
- * @summary List the policies in this project
344
+ * Every row states one permission this person holds apart from their roles: project-wide when `resource_type` and `resource_id` are null, otherwise only on that resource. What a role grants is not listed here; the member's grant carries the roles and their compiled rules.
345
+ *
346
+ * Visible to any member, on the same rule as the member list.
347
+ * @summary List the permissions granted directly to a member
367
348
  */
368
- export declare const listPolicies: (params?: ListPoliciesParams, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<listPoliciesResponse>;
369
- export type attachPolicyResponse201 = {
370
- data: PolicyResource;
349
+ export declare const listMemberPermissions: (userId: string, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<listMemberPermissionsResponse>;
350
+ export type createMemberPermissionResponse201 = {
351
+ data: MemberPermissionResource;
371
352
  status: 201;
372
353
  };
373
- export type attachPolicyResponseDefault = {
354
+ export type createMemberPermissionResponseDefault = {
374
355
  data: Error;
375
356
  status: Exclude<HTTPStatusCodes, 201>;
376
357
  };
377
- export type attachPolicyResponseSuccess = attachPolicyResponse201 & {
378
- headers: Headers;
379
- };
380
- export type attachPolicyResponseError = attachPolicyResponseDefault & {
381
- headers: Headers;
382
- };
383
- export type attachPolicyResponse = attachPolicyResponseSuccess | attachPolicyResponseError;
384
- export declare const getAttachPolicyUrl: () => string;
385
- /**
386
- * This creates an **additional** policy, which either carries a resource scope or has `deny` as its effect. An `allow` covering every resource is a base policy, of which each member holds exactly one, and it is changed with set-member-roles and set-member-permissions. `roles` cannot contain `OWNER` or `ADMIN`. Requires `iam:members.manage`.
387
- * @summary Attach a policy
388
- */
389
- export declare const attachPolicy: (attachPolicyRequestBody: AttachPolicyRequestBody, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<attachPolicyResponse>;
390
- export type getPolicyResponse200 = {
391
- data: PolicyResource;
392
- status: 200;
393
- };
394
- export type getPolicyResponseDefault = {
395
- data: Error;
396
- status: Exclude<HTTPStatusCodes, 200>;
397
- };
398
- export type getPolicyResponseSuccess = getPolicyResponse200 & {
399
- headers: Headers;
400
- };
401
- export type getPolicyResponseError = getPolicyResponseDefault & {
402
- headers: Headers;
403
- };
404
- export type getPolicyResponse = getPolicyResponseSuccess | getPolicyResponseError;
405
- export declare const getGetPolicyUrl: (policyId: string) => string;
406
- /**
407
- * Visible to any member, on the same rule as list-policies; no further permission is required.
408
- * @summary Get a policy
409
- */
410
- export declare const getPolicy: (policyId: string, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<getPolicyResponse>;
411
- export type updatePolicyResponse200 = {
412
- data: PolicyResource;
413
- status: 200;
414
- };
415
- export type updatePolicyResponseDefault = {
416
- data: Error;
417
- status: Exclude<HTTPStatusCodes, 200>;
418
- };
419
- export type updatePolicyResponseSuccess = updatePolicyResponse200 & {
358
+ export type createMemberPermissionResponseSuccess = createMemberPermissionResponse201 & {
420
359
  headers: Headers;
421
360
  };
422
- export type updatePolicyResponseError = updatePolicyResponseDefault & {
361
+ export type createMemberPermissionResponseError = createMemberPermissionResponseDefault & {
423
362
  headers: Headers;
424
363
  };
425
- export type updatePolicyResponse = updatePolicyResponseSuccess | updatePolicyResponseError;
426
- export declare const getUpdatePolicyUrl: (policyId: string) => string;
364
+ export type createMemberPermissionResponse = createMemberPermissionResponseSuccess | createMemberPermissionResponseError;
365
+ export declare const getCreateMemberPermissionUrl: (userId: string) => string;
427
366
  /**
428
- * Replaced in full rather than field by field — `resources`, `roles` and `permissions` are each overwritten, and an omitted one becomes empty. The **kind** of a policy cannot change — a base policy (an `allow` covering every resource) cannot take a resource scope, and a scoped policy cannot have its scope cleared. Delete and recreate to change the kind. Requires `iam:members.manage`.
429
- * @summary Update a policy
367
+ * Creates one permission row. The same row twice answers 409; changing a grant means revoking the row and creating another, so that each row records when it was granted.
368
+ *
369
+ * `OWNER` and `ADMIN` cannot be granted here, being facts on the membership. A permission that carries no resource dimension cannot be scoped: IAM refuses the row at grant time rather than storing a scope that would never hold.
370
+ *
371
+ * Requires `iam:members.manage`.
372
+ * @summary Grant a permission to a member
430
373
  */
431
- export declare const updatePolicy: (policyId: string, updatePolicyRequestBody: UpdatePolicyRequestBody, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<updatePolicyResponse>;
432
- export type detachPolicyResponse204 = {
374
+ export declare const createMemberPermission: (userId: string, createMemberPermissionRequestBody: CreateMemberPermissionRequestBody, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<createMemberPermissionResponse>;
375
+ export type deleteMemberPermissionResponse204 = {
433
376
  data: void;
434
377
  status: 204;
435
378
  };
436
- export type detachPolicyResponseDefault = {
379
+ export type deleteMemberPermissionResponseDefault = {
437
380
  data: Error;
438
381
  status: Exclude<HTTPStatusCodes, 204>;
439
382
  };
440
- export type detachPolicyResponseSuccess = detachPolicyResponse204 & {
383
+ export type deleteMemberPermissionResponseSuccess = deleteMemberPermissionResponse204 & {
441
384
  headers: Headers;
442
385
  };
443
- export type detachPolicyResponseError = detachPolicyResponseDefault & {
386
+ export type deleteMemberPermissionResponseError = deleteMemberPermissionResponseDefault & {
444
387
  headers: Headers;
445
388
  };
446
- export type detachPolicyResponse = detachPolicyResponseSuccess | detachPolicyResponseError;
447
- export declare const getDetachPolicyUrl: (policyId: string) => string;
389
+ export type deleteMemberPermissionResponse = deleteMemberPermissionResponseSuccess | deleteMemberPermissionResponseError;
390
+ export declare const getDeleteMemberPermissionUrl: (userId: string, permissionId: string) => string;
448
391
  /**
449
- * A base policy cannot be detached; it is where a member's roles sit. Use remove-member to take someone out of the project. Requires `iam:members.manage`.
450
- * @summary Detach a policy
392
+ * Removes that one row. Requires `iam:members.manage`.
393
+ * @summary Revoke a permission granted directly to a member
451
394
  */
452
- export declare const detachPolicy: (policyId: string, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<detachPolicyResponse>;
395
+ export declare const deleteMemberPermission: (userId: string, permissionId: string, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<deleteMemberPermissionResponse>;
453
396
  export type transferProjectOwnershipResponse200 = {
454
397
  data: OwnershipTransferResponseBody;
455
398
  status: 200;