@flowcore/cli-plugin-iam 1.0.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.
@@ -0,0 +1,707 @@
1
+ import { HttpClient, type RequestParams } from "./http-client.js";
2
+ export declare class Api<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
3
+ /**
4
+ * @description Get all policies for the current user
5
+ *
6
+ * @tags policies
7
+ * @name GetApiV1Policies
8
+ * @request GET:/api/v1/policies/
9
+ * @secure
10
+ */
11
+ getApiV1Policies: (params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<({
12
+ /** The id of the organization */
13
+ organizationId: string;
14
+ /** The name of the policy */
15
+ name: string;
16
+ /** The version of the policy */
17
+ version: string;
18
+ policyDocuments: {
19
+ /** The id of the statement */
20
+ statementId?: string;
21
+ /** The resource of the statement */
22
+ resource: string;
23
+ /** The action of the statement */
24
+ action: string | string[];
25
+ }[];
26
+ /** The description of the policy */
27
+ description?: string;
28
+ /** The principal role that can access the resource */
29
+ principal?: string;
30
+ } & {
31
+ /** The id of the policy */
32
+ id: string;
33
+ })[], any>>;
34
+ /**
35
+ * @description Create a new policy
36
+ *
37
+ * @tags policies
38
+ * @name PostApiV1Policies
39
+ * @request POST:/api/v1/policies/
40
+ * @secure
41
+ */
42
+ postApiV1Policies: (data: {
43
+ /** The id of the organization */
44
+ organizationId: string;
45
+ /** The name of the policy */
46
+ name: string;
47
+ /** The version of the policy */
48
+ version: string;
49
+ policyDocuments: {
50
+ /** The id of the statement */
51
+ statementId?: string;
52
+ /** The resource of the statement */
53
+ resource: string;
54
+ /** The action of the statement */
55
+ action: string | string[];
56
+ }[];
57
+ /** The description of the policy */
58
+ description?: string;
59
+ /** The principal role that can access the resource */
60
+ principal?: string;
61
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<object, any>>;
62
+ /**
63
+ * @description Get a policy by id
64
+ *
65
+ * @tags policies
66
+ * @name GetApiV1PoliciesById
67
+ * @request GET:/api/v1/policies/{id}
68
+ * @secure
69
+ */
70
+ getApiV1PoliciesById: (id: string, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<object, any>>;
71
+ /**
72
+ * @description Update a policy by id
73
+ *
74
+ * @tags policies
75
+ * @name PatchApiV1PoliciesById
76
+ * @request PATCH:/api/v1/policies/{id}
77
+ * @secure
78
+ */
79
+ patchApiV1PoliciesById: (id: string, data: {
80
+ /** The id of the organization */
81
+ organizationId: string;
82
+ /** The name of the policy */
83
+ name: string;
84
+ /** The version of the policy */
85
+ version: string;
86
+ policyDocuments: {
87
+ /** The id of the statement */
88
+ statementId?: string;
89
+ /** The resource of the statement */
90
+ resource: string;
91
+ /** The action of the statement */
92
+ action: string | string[];
93
+ }[];
94
+ /** The description of the policy */
95
+ description?: string;
96
+ /** The principal role that can access the resource */
97
+ principal?: string;
98
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<object, any>>;
99
+ /**
100
+ * @description Archive a policy by id
101
+ *
102
+ * @tags policies
103
+ * @name DeleteApiV1PoliciesById
104
+ * @request DELETE:/api/v1/policies/{id}
105
+ * @secure
106
+ */
107
+ deleteApiV1PoliciesById: (id: string, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
108
+ /** The message of the archive policy */
109
+ message: string;
110
+ }, any>>;
111
+ /**
112
+ * @description Get all roles for the current user
113
+ *
114
+ * @tags roles
115
+ * @name GetApiV1Roles
116
+ * @request GET:/api/v1/roles/
117
+ * @secure
118
+ */
119
+ getApiV1Roles: (params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<({
120
+ /** Organization ID */
121
+ organizationId: string;
122
+ /** Role name */
123
+ name: string;
124
+ /** Role description */
125
+ description?: string;
126
+ } & {
127
+ /** The id of the role */
128
+ id: string;
129
+ })[], any>>;
130
+ /**
131
+ * @description Create a new role
132
+ *
133
+ * @tags roles
134
+ * @name PostApiV1Roles
135
+ * @request POST:/api/v1/roles/
136
+ * @secure
137
+ */
138
+ postApiV1Roles: (data: {
139
+ /** Organization ID */
140
+ organizationId: string;
141
+ /** Role name */
142
+ name: string;
143
+ /** Role description */
144
+ description?: string;
145
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<object, any>>;
146
+ /**
147
+ * @description Get a role by ID
148
+ *
149
+ * @tags roles
150
+ * @name GetApiV1RolesById
151
+ * @request GET:/api/v1/roles/{id}
152
+ * @secure
153
+ */
154
+ getApiV1RolesById: (id: string, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
155
+ /** Organization ID */
156
+ organizationId: string;
157
+ /** Role name */
158
+ name: string;
159
+ /** Role description */
160
+ description?: string;
161
+ } & {
162
+ /** Role ID */
163
+ id: string;
164
+ /** The archived status of the role */
165
+ archived: boolean;
166
+ } & {
167
+ /** Role ID */
168
+ id: string;
169
+ /** The archived status of the role */
170
+ archived: boolean;
171
+ }, any>>;
172
+ /**
173
+ * @description Update a role by ID
174
+ *
175
+ * @tags roles
176
+ * @name PatchApiV1RolesById
177
+ * @request PATCH:/api/v1/roles/{id}
178
+ * @secure
179
+ */
180
+ patchApiV1RolesById: (id: string, data: {
181
+ /** Organization ID */
182
+ organizationId: string;
183
+ /** Role name */
184
+ name: string;
185
+ /** Role description */
186
+ description?: string;
187
+ } & {
188
+ /** Role ID */
189
+ id: string;
190
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
191
+ /** Organization ID */
192
+ organizationId: string;
193
+ /** Role name */
194
+ name: string;
195
+ /** Role description */
196
+ description?: string;
197
+ } & {
198
+ /** Role ID */
199
+ id: string;
200
+ } & {
201
+ /** The archived status of the role */
202
+ archived: boolean;
203
+ }, any>>;
204
+ /**
205
+ * @description Archive a role by ID
206
+ *
207
+ * @tags roles
208
+ * @name DeleteApiV1RolesById
209
+ * @request DELETE:/api/v1/roles/{id}
210
+ * @secure
211
+ */
212
+ deleteApiV1RolesById: (id: string, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
213
+ /** The message of the archive role */
214
+ message: string;
215
+ }, any>>;
216
+ /**
217
+ * @description Fetch policies for an organization
218
+ *
219
+ * @tags policy-associations
220
+ * @name GetApiV1PolicyAssociationsOrganizationByOrganizationId
221
+ * @request GET:/api/v1/policy-associations/organization/{organizationId}
222
+ * @secure
223
+ */
224
+ getApiV1PolicyAssociationsOrganizationByOrganizationId: (organizationId: string, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<({
225
+ /** The id of the organization */
226
+ organizationId: string;
227
+ /** The name of the policy */
228
+ name: string;
229
+ /** The version of the policy */
230
+ version: string;
231
+ policyDocuments: {
232
+ /** The id of the statement */
233
+ statementId?: string;
234
+ /** The resource of the statement */
235
+ resource: string;
236
+ /** The action of the statement */
237
+ action: string | string[];
238
+ }[];
239
+ /** The description of the policy */
240
+ description?: string;
241
+ /** The principal role that can access the resource */
242
+ principal?: string;
243
+ } & {
244
+ /** The id of the policy */
245
+ id: string;
246
+ })[], any>>;
247
+ /**
248
+ * @description Fetch policies for a user
249
+ *
250
+ * @tags policy-associations
251
+ * @name GetApiV1PolicyAssociationsUserByUserId
252
+ * @request GET:/api/v1/policy-associations/user/{userId}/
253
+ * @secure
254
+ */
255
+ getApiV1PolicyAssociationsUserByUserId: (userId: string, query?: {
256
+ /** The ID of the organization */
257
+ organizationId?: string;
258
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<({
259
+ /** The id of the organization */
260
+ organizationId: string;
261
+ /** The name of the policy */
262
+ name: string;
263
+ /** The version of the policy */
264
+ version: string;
265
+ policyDocuments: {
266
+ /** The id of the statement */
267
+ statementId?: string;
268
+ /** The resource of the statement */
269
+ resource: string;
270
+ /** The action of the statement */
271
+ action: string | string[];
272
+ }[];
273
+ /** The description of the policy */
274
+ description?: string;
275
+ /** The principal role that can access the resource */
276
+ principal?: string;
277
+ } & {
278
+ /** The id of the policy */
279
+ id: string;
280
+ /** The archived status of the policy */
281
+ archived: boolean;
282
+ })[], any>>;
283
+ /**
284
+ * @description Link a policy to a user
285
+ *
286
+ * @tags policy-associations
287
+ * @name PostApiV1PolicyAssociationsUserByUserId
288
+ * @request POST:/api/v1/policy-associations/user/{userId}/
289
+ * @secure
290
+ */
291
+ postApiV1PolicyAssociationsUserByUserId: (userId: string, data: {
292
+ /** The ID of the policy */
293
+ policyId: string;
294
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
295
+ /** The ID of the policy */
296
+ policyId: string;
297
+ /** The ID of the organization */
298
+ organizationId: string;
299
+ /** The ID of the user */
300
+ userId: string;
301
+ }, any>>;
302
+ /**
303
+ * @description Unlink a policy from a user
304
+ *
305
+ * @tags policy-associations
306
+ * @name DeleteApiV1PolicyAssociationsUserByUserId
307
+ * @request DELETE:/api/v1/policy-associations/user/{userId}/
308
+ * @secure
309
+ */
310
+ deleteApiV1PolicyAssociationsUserByUserId: (userId: string, data: {
311
+ /** The ID of the policy */
312
+ policyId: string;
313
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
314
+ /** The ID of the policy */
315
+ policyId: string;
316
+ /** The ID of the organization */
317
+ organizationId: string;
318
+ /** The ID of the user */
319
+ userId: string;
320
+ }, any>>;
321
+ /**
322
+ * @description Fetch policies for a key
323
+ *
324
+ * @tags policy-associations
325
+ * @name GetApiV1PolicyAssociationsKeyByKeyId
326
+ * @request GET:/api/v1/policy-associations/key/{keyId}/
327
+ * @secure
328
+ */
329
+ getApiV1PolicyAssociationsKeyByKeyId: (keyId: string, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<({
330
+ /** The id of the organization */
331
+ organizationId: string;
332
+ /** The name of the policy */
333
+ name: string;
334
+ /** The version of the policy */
335
+ version: string;
336
+ policyDocuments: {
337
+ /** The id of the statement */
338
+ statementId?: string;
339
+ /** The resource of the statement */
340
+ resource: string;
341
+ /** The action of the statement */
342
+ action: string | string[];
343
+ }[];
344
+ /** The description of the policy */
345
+ description?: string;
346
+ /** The principal role that can access the resource */
347
+ principal?: string;
348
+ } & {
349
+ /** The id of the policy */
350
+ id: string;
351
+ /** The archived status of the policy */
352
+ archived: boolean;
353
+ })[], any>>;
354
+ /**
355
+ * @description Link a policy to a key
356
+ *
357
+ * @tags policy-associations
358
+ * @name PostApiV1PolicyAssociationsKeyByKeyId
359
+ * @request POST:/api/v1/policy-associations/key/{keyId}/
360
+ * @secure
361
+ */
362
+ postApiV1PolicyAssociationsKeyByKeyId: (keyId: string, data: {
363
+ /** The ID of the policy */
364
+ policyId: string;
365
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
366
+ /** The ID of the policy */
367
+ policyId: string;
368
+ /** The ID of the organization */
369
+ organizationId: string;
370
+ /** The ID of the key */
371
+ keyId: string;
372
+ }, any>>;
373
+ /**
374
+ * @description Unlink a policy from a key
375
+ *
376
+ * @tags policy-associations
377
+ * @name DeleteApiV1PolicyAssociationsKeyByKeyId
378
+ * @request DELETE:/api/v1/policy-associations/key/{keyId}/
379
+ * @secure
380
+ */
381
+ deleteApiV1PolicyAssociationsKeyByKeyId: (keyId: string, data: {
382
+ /** The ID of the policy */
383
+ policyId: string;
384
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
385
+ /** The ID of the policy */
386
+ policyId: string;
387
+ /** The ID of the organization */
388
+ organizationId: string;
389
+ /** The ID of the key */
390
+ keyId: string;
391
+ }, any>>;
392
+ /**
393
+ * @description Fetch policies for a role
394
+ *
395
+ * @tags policy-associations
396
+ * @name GetApiV1PolicyAssociationsRoleByRoleId
397
+ * @request GET:/api/v1/policy-associations/role/{roleId}/
398
+ * @secure
399
+ */
400
+ getApiV1PolicyAssociationsRoleByRoleId: (roleId: string, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<({
401
+ /** The id of the organization */
402
+ organizationId: string;
403
+ /** The name of the policy */
404
+ name: string;
405
+ /** The version of the policy */
406
+ version: string;
407
+ policyDocuments: {
408
+ /** The id of the statement */
409
+ statementId?: string;
410
+ /** The resource of the statement */
411
+ resource: string;
412
+ /** The action of the statement */
413
+ action: string | string[];
414
+ }[];
415
+ /** The description of the policy */
416
+ description?: string;
417
+ /** The principal role that can access the resource */
418
+ principal?: string;
419
+ } & {
420
+ /** The id of the policy */
421
+ id: string;
422
+ /** The archived status of the policy */
423
+ archived: boolean;
424
+ })[], any>>;
425
+ /**
426
+ * @description Link a policy to a role
427
+ *
428
+ * @tags policy-associations
429
+ * @name PostApiV1PolicyAssociationsRoleByRoleId
430
+ * @request POST:/api/v1/policy-associations/role/{roleId}/
431
+ * @secure
432
+ */
433
+ postApiV1PolicyAssociationsRoleByRoleId: (roleId: string, data: {
434
+ /** The ID of the policy */
435
+ policyId: string;
436
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
437
+ /** The ID of the policy */
438
+ policyId: string;
439
+ /** The ID of the organization */
440
+ organizationId: string;
441
+ /** The ID of the role */
442
+ roleId: string;
443
+ }, any>>;
444
+ /**
445
+ * @description Unlink a policy from a role
446
+ *
447
+ * @tags policy-associations
448
+ * @name DeleteApiV1PolicyAssociationsRoleByRoleId
449
+ * @request DELETE:/api/v1/policy-associations/role/{roleId}/
450
+ * @secure
451
+ */
452
+ deleteApiV1PolicyAssociationsRoleByRoleId: (roleId: string, data: {
453
+ /** The ID of the policy */
454
+ policyId: string;
455
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
456
+ /** The ID of the policy */
457
+ policyId: string;
458
+ /** The ID of the organization */
459
+ organizationId: string;
460
+ /** The ID of the role */
461
+ roleId: string;
462
+ }, any>>;
463
+ /**
464
+ * @description Fetch roles for an organization
465
+ *
466
+ * @tags role-associations
467
+ * @name GetApiV1RoleAssociationsOrganizationByOrganizationId
468
+ * @request GET:/api/v1/role-associations/organization/{organizationId}
469
+ * @secure
470
+ */
471
+ getApiV1RoleAssociationsOrganizationByOrganizationId: (organizationId: string, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<({
472
+ /** Organization ID */
473
+ organizationId: string;
474
+ /** Role name */
475
+ name: string;
476
+ /** Role description */
477
+ description?: string;
478
+ } & {
479
+ /** The id of the role */
480
+ id: string;
481
+ })[], any>>;
482
+ /**
483
+ * @description Fetch roles for a user
484
+ *
485
+ * @tags role-associations
486
+ * @name GetApiV1RoleAssociationsUserByUserId
487
+ * @request GET:/api/v1/role-associations/user/{userId}/
488
+ * @secure
489
+ */
490
+ getApiV1RoleAssociationsUserByUserId: (userId: string, query?: {
491
+ /** The ID of the organization */
492
+ organizationId?: string;
493
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<({
494
+ /** Organization ID */
495
+ organizationId: string;
496
+ /** Role name */
497
+ name: string;
498
+ /** Role description */
499
+ description?: string;
500
+ } & {
501
+ /** Role ID */
502
+ id: string;
503
+ /** The archived status of the role */
504
+ archived: boolean;
505
+ })[], any>>;
506
+ /**
507
+ * @description Link a role to a user
508
+ *
509
+ * @tags role-associations
510
+ * @name PostApiV1RoleAssociationsUserByUserId
511
+ * @request POST:/api/v1/role-associations/user/{userId}/
512
+ * @secure
513
+ */
514
+ postApiV1RoleAssociationsUserByUserId: (userId: string, data: {
515
+ /** The ID of the role */
516
+ roleId: string;
517
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
518
+ /** The ID of the role */
519
+ roleId: string;
520
+ /** The ID of the organization */
521
+ organizationId: string;
522
+ /** The ID of the user */
523
+ userId: string;
524
+ }, any>>;
525
+ /**
526
+ * @description Unlink a role from a user
527
+ *
528
+ * @tags role-associations
529
+ * @name DeleteApiV1RoleAssociationsUserByUserId
530
+ * @request DELETE:/api/v1/role-associations/user/{userId}/
531
+ * @secure
532
+ */
533
+ deleteApiV1RoleAssociationsUserByUserId: (userId: string, data: {
534
+ /** The ID of the role */
535
+ roleId: string;
536
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
537
+ /** The ID of the role */
538
+ roleId: string;
539
+ /** The ID of the organization */
540
+ organizationId: string;
541
+ /** The ID of the user */
542
+ userId: string;
543
+ }, any>>;
544
+ /**
545
+ * @description Fetch roles for a key
546
+ *
547
+ * @tags role-associations
548
+ * @name GetApiV1RoleAssociationsKeyByKeyId
549
+ * @request GET:/api/v1/role-associations/key/{keyId}/
550
+ * @secure
551
+ */
552
+ getApiV1RoleAssociationsKeyByKeyId: (keyId: string, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<({
553
+ /** Organization ID */
554
+ organizationId: string;
555
+ /** Role name */
556
+ name: string;
557
+ /** Role description */
558
+ description?: string;
559
+ } & {
560
+ /** Role ID */
561
+ id: string;
562
+ /** The archived status of the role */
563
+ archived: boolean;
564
+ })[], any>>;
565
+ /**
566
+ * @description Link a role to a key
567
+ *
568
+ * @tags role-associations
569
+ * @name PostApiV1RoleAssociationsKeyByKeyId
570
+ * @request POST:/api/v1/role-associations/key/{keyId}/
571
+ * @secure
572
+ */
573
+ postApiV1RoleAssociationsKeyByKeyId: (keyId: string, data: {
574
+ /** The ID of the role */
575
+ roleId: string;
576
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
577
+ /** The ID of the role */
578
+ roleId: string;
579
+ /** The ID of the organization */
580
+ organizationId: string;
581
+ /** The ID of the key */
582
+ keyId: string;
583
+ }, any>>;
584
+ /**
585
+ * @description Unlink a role from a key
586
+ *
587
+ * @tags role-associations
588
+ * @name DeleteApiV1RoleAssociationsKeyByKeyId
589
+ * @request DELETE:/api/v1/role-associations/key/{keyId}/
590
+ * @secure
591
+ */
592
+ deleteApiV1RoleAssociationsKeyByKeyId: (keyId: string, data: {
593
+ /** The ID of the role */
594
+ roleId: string;
595
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
596
+ /** The ID of the role */
597
+ roleId: string;
598
+ /** The ID of the organization */
599
+ organizationId: string;
600
+ /** The ID of the key */
601
+ keyId: string;
602
+ }, any>>;
603
+ /**
604
+ * @description Validate if a user can perform actions
605
+ *
606
+ * @tags validate
607
+ * @name PostApiV1ValidateUsersById
608
+ * @request POST:/api/v1/validate/users/{id}
609
+ * @secure
610
+ */
611
+ postApiV1ValidateUsersById: (id: string, data: {
612
+ /** The mode of validation of the flowcore resource notation, either by tenant or organization id */
613
+ mode: "tenant" | "organization";
614
+ requestedAccess: {
615
+ /** The action or actions to validate against */
616
+ action: string | string[];
617
+ /** The resource to validate, in order of granularity. First match wins. */
618
+ resource: string[];
619
+ }[];
620
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
621
+ /**
622
+ * The action is valid
623
+ * @default true
624
+ */
625
+ valid: true;
626
+ /** The hash of the policy/key/user/role association that was validated */
627
+ checksum: string;
628
+ validPolicies: {
629
+ /** The frn of the policy */
630
+ policyFrn: string;
631
+ /** The statement id of the policy */
632
+ statementId: string;
633
+ }[];
634
+ }, {
635
+ /** The error message */
636
+ message: string;
637
+ /**
638
+ * The action is invalid
639
+ * @default false
640
+ */
641
+ valid: false;
642
+ validPolicies: {
643
+ /** The frn of the policy */
644
+ policyFrn: string;
645
+ /** The statement id of the policy */
646
+ statementId: string;
647
+ }[];
648
+ invalidRequest: {
649
+ /** The resource to validate, in order of granularity. First match wins. */
650
+ resource: string[];
651
+ /** The action or actions to validate against */
652
+ action: string | string[];
653
+ }[];
654
+ }>>;
655
+ /**
656
+ * @description Validate if a key can perform actions
657
+ *
658
+ * @tags validate
659
+ * @name PostApiV1ValidateKeysById
660
+ * @request POST:/api/v1/validate/keys/{id}
661
+ * @secure
662
+ */
663
+ postApiV1ValidateKeysById: (id: string, data: {
664
+ /** The mode of validation of the flowcore resource notation, either by tenant or organization id */
665
+ mode: "tenant" | "organization";
666
+ requestedAccess: {
667
+ /** The action or actions to validate against */
668
+ action: string | string[];
669
+ /** The resource to validate, in order of granularity. First match wins. */
670
+ resource: string[];
671
+ }[];
672
+ }, params?: RequestParams) => Promise<import("./http-client.js").HttpResponse<{
673
+ /**
674
+ * The action is valid
675
+ * @default true
676
+ */
677
+ valid: true;
678
+ /** The hash of the policy/key/user/role association that was validated */
679
+ checksum: string;
680
+ validPolicies: {
681
+ /** The frn of the policy */
682
+ policyFrn: string;
683
+ /** The statement id of the policy */
684
+ statementId: string;
685
+ }[];
686
+ }, {
687
+ /** The error message */
688
+ message: string;
689
+ /**
690
+ * The action is invalid
691
+ * @default false
692
+ */
693
+ valid: false;
694
+ validPolicies: {
695
+ /** The frn of the policy */
696
+ policyFrn: string;
697
+ /** The statement id of the policy */
698
+ statementId: string;
699
+ }[];
700
+ invalidRequest: {
701
+ /** The resource to validate, in order of granularity. First match wins. */
702
+ resource: string[];
703
+ /** The action or actions to validate against */
704
+ action: string | string[];
705
+ }[];
706
+ }>>;
707
+ }