@aws-sdk/client-accessanalyzer 3.686.0 → 3.691.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.
@@ -11,13 +11,15 @@ export interface Access {
11
11
  * in an IAM policy can be used in the list of actions to check.</p>
12
12
  * @public
13
13
  */
14
- actions?: string[];
14
+ actions?: string[] | undefined;
15
15
  /**
16
- * <p>A list of resources for the access permissions. Any strings that can be used as a
17
- * resource in an IAM policy can be used in the list of resources to check.</p>
16
+ * <p>A list of resources for the access permissions. Any strings that can be used as an
17
+ * Amazon Resource Name (ARN) in an IAM policy can be used in the list of resources to
18
+ * check. You can only use a wildcard in the portion of the ARN that specifies the resource
19
+ * ID.</p>
18
20
  * @public
19
21
  */
20
- resources?: string[];
22
+ resources?: string[] | undefined;
21
23
  }
22
24
  /**
23
25
  * <p>You do not have sufficient access to perform this action.</p>
@@ -64,22 +66,22 @@ export interface Criterion {
64
66
  * <p>An "equals" operator to match for the filter used to create the rule.</p>
65
67
  * @public
66
68
  */
67
- eq?: string[];
69
+ eq?: string[] | undefined;
68
70
  /**
69
71
  * <p>A "not equals" operator to match for the filter used to create the rule.</p>
70
72
  * @public
71
73
  */
72
- neq?: string[];
74
+ neq?: string[] | undefined;
73
75
  /**
74
76
  * <p>A "contains" operator to match for the filter used to create the rule.</p>
75
77
  * @public
76
78
  */
77
- contains?: string[];
79
+ contains?: string[] | undefined;
78
80
  /**
79
81
  * <p>An "exists" operator to match for the filter used to create the rule. </p>
80
82
  * @public
81
83
  */
82
- exists?: boolean;
84
+ exists?: boolean | undefined;
83
85
  }
84
86
  /**
85
87
  * <p>Creates an archive rule.</p>
@@ -105,7 +107,7 @@ export interface CreateArchiveRuleRequest {
105
107
  * <p>A client token.</p>
106
108
  * @public
107
109
  */
108
- clientToken?: string;
110
+ clientToken?: string | undefined;
109
111
  }
110
112
  /**
111
113
  * <p>Internal server error.</p>
@@ -119,7 +121,7 @@ export declare class InternalServerException extends __BaseException {
119
121
  * <p>The seconds to wait to retry.</p>
120
122
  * @public
121
123
  */
122
- retryAfterSeconds?: number;
124
+ retryAfterSeconds?: number | undefined;
123
125
  /**
124
126
  * @internal
125
127
  */
@@ -183,7 +185,7 @@ export declare class ThrottlingException extends __BaseException {
183
185
  * <p>The seconds to wait to retry.</p>
184
186
  * @public
185
187
  */
186
- retryAfterSeconds?: number;
188
+ retryAfterSeconds?: number | undefined;
187
189
  /**
188
190
  * @internal
189
191
  */
@@ -236,7 +238,7 @@ export declare class ValidationException extends __BaseException {
236
238
  * <p>A list of fields that didn't validate.</p>
237
239
  * @public
238
240
  */
239
- fieldList?: ValidationExceptionField[];
241
+ fieldList?: ValidationExceptionField[] | undefined;
240
242
  /**
241
243
  * @internal
242
244
  */
@@ -261,7 +263,7 @@ export interface DeleteArchiveRuleRequest {
261
263
  * <p>A client token.</p>
262
264
  * @public
263
265
  */
264
- clientToken?: string;
266
+ clientToken?: string | undefined;
265
267
  }
266
268
  /**
267
269
  * <p>Retrieves an archive rule.</p>
@@ -330,12 +332,12 @@ export interface ListArchiveRulesRequest {
330
332
  * <p>A token used for pagination of results returned.</p>
331
333
  * @public
332
334
  */
333
- nextToken?: string;
335
+ nextToken?: string | undefined;
334
336
  /**
335
337
  * <p>The maximum number of results to return in the request.</p>
336
338
  * @public
337
339
  */
338
- maxResults?: number;
340
+ maxResults?: number | undefined;
339
341
  }
340
342
  /**
341
343
  * <p>The response to the request.</p>
@@ -351,7 +353,7 @@ export interface ListArchiveRulesResponse {
351
353
  * <p>A token used for pagination of results returned.</p>
352
354
  * @public
353
355
  */
354
- nextToken?: string;
356
+ nextToken?: string | undefined;
355
357
  }
356
358
  /**
357
359
  * <p>Updates the specified archive rule.</p>
@@ -378,7 +380,7 @@ export interface UpdateArchiveRuleRequest {
378
380
  * <p>A client token.</p>
379
381
  * @public
380
382
  */
381
- clientToken?: string;
383
+ clientToken?: string | undefined;
382
384
  }
383
385
  /**
384
386
  * <p>An criterion statement in an archive rule. Each archive rule may have multiple
@@ -410,7 +412,7 @@ export interface UnusedAccessConfiguration {
410
412
  * days.</p>
411
413
  * @public
412
414
  */
413
- unusedAccessAge?: number;
415
+ unusedAccessAge?: number | undefined;
414
416
  }
415
417
  /**
416
418
  * <p>Contains information about the configuration of an unused access analyzer for an Amazon Web Services
@@ -471,24 +473,24 @@ export interface CreateAnalyzerRequest {
471
473
  * findings that meet the criteria you define for the rule.</p>
472
474
  * @public
473
475
  */
474
- archiveRules?: InlineArchiveRule[];
476
+ archiveRules?: InlineArchiveRule[] | undefined;
475
477
  /**
476
478
  * <p>An array of key-value pairs to apply to the analyzer.</p>
477
479
  * @public
478
480
  */
479
- tags?: Record<string, string>;
481
+ tags?: Record<string, string> | undefined;
480
482
  /**
481
483
  * <p>A client token.</p>
482
484
  * @public
483
485
  */
484
- clientToken?: string;
486
+ clientToken?: string | undefined;
485
487
  /**
486
488
  * <p>Specifies the configuration of the analyzer. If the analyzer is an unused access
487
489
  * analyzer, the specified scope of unused access is used for the configuration. If the
488
490
  * analyzer is an external access analyzer, this field is not used.</p>
489
491
  * @public
490
492
  */
491
- configuration?: AnalyzerConfiguration;
493
+ configuration?: AnalyzerConfiguration | undefined;
492
494
  }
493
495
  /**
494
496
  * <p>The response to the request to create an analyzer.</p>
@@ -499,7 +501,7 @@ export interface CreateAnalyzerResponse {
499
501
  * <p>The ARN of the analyzer that was created by the request.</p>
500
502
  * @public
501
503
  */
502
- arn?: string;
504
+ arn?: string | undefined;
503
505
  }
504
506
  /**
505
507
  * <p>Deletes an analyzer.</p>
@@ -515,7 +517,7 @@ export interface DeleteAnalyzerRequest {
515
517
  * <p>A client token.</p>
516
518
  * @public
517
519
  */
518
- clientToken?: string;
520
+ clientToken?: string | undefined;
519
521
  }
520
522
  /**
521
523
  * <p>Retrieves an analyzer.</p>
@@ -580,17 +582,17 @@ export interface AnalyzerSummary {
580
582
  * <p>The resource that was most recently analyzed by the analyzer.</p>
581
583
  * @public
582
584
  */
583
- lastResourceAnalyzed?: string;
585
+ lastResourceAnalyzed?: string | undefined;
584
586
  /**
585
587
  * <p>The time at which the most recently analyzed resource was analyzed.</p>
586
588
  * @public
587
589
  */
588
- lastResourceAnalyzedAt?: Date;
590
+ lastResourceAnalyzedAt?: Date | undefined;
589
591
  /**
590
592
  * <p>The tags added to the analyzer.</p>
591
593
  * @public
592
594
  */
593
- tags?: Record<string, string>;
595
+ tags?: Record<string, string> | undefined;
594
596
  /**
595
597
  * <p>The status of the analyzer. An <code>Active</code> analyzer successfully monitors
596
598
  * supported resources and generates new findings. The analyzer is <code>Disabled</code> when
@@ -609,12 +611,12 @@ export interface AnalyzerSummary {
609
611
  * organization.</p>
610
612
  * @public
611
613
  */
612
- statusReason?: StatusReason;
614
+ statusReason?: StatusReason | undefined;
613
615
  /**
614
616
  * <p>Specifies whether the analyzer is an external access or unused access analyzer.</p>
615
617
  * @public
616
618
  */
617
- configuration?: AnalyzerConfiguration;
619
+ configuration?: AnalyzerConfiguration | undefined;
618
620
  }
619
621
  /**
620
622
  * <p>The response to the request.</p>
@@ -637,17 +639,17 @@ export interface ListAnalyzersRequest {
637
639
  * <p>A token used for pagination of results returned.</p>
638
640
  * @public
639
641
  */
640
- nextToken?: string;
642
+ nextToken?: string | undefined;
641
643
  /**
642
644
  * <p>The maximum number of results to return in the response.</p>
643
645
  * @public
644
646
  */
645
- maxResults?: number;
647
+ maxResults?: number | undefined;
646
648
  /**
647
649
  * <p>The type of analyzer.</p>
648
650
  * @public
649
651
  */
650
- type?: Type;
652
+ type?: Type | undefined;
651
653
  }
652
654
  /**
653
655
  * <p>The response to the request.</p>
@@ -663,7 +665,7 @@ export interface ListAnalyzersResponse {
663
665
  * <p>A token used for pagination of results returned.</p>
664
666
  * @public
665
667
  */
666
- nextToken?: string;
668
+ nextToken?: string | undefined;
667
669
  }
668
670
  /**
669
671
  * <p>Retroactively applies an archive rule.</p>
@@ -684,7 +686,7 @@ export interface ApplyArchiveRuleRequest {
684
686
  * <p>A client token.</p>
685
687
  * @public
686
688
  */
687
- clientToken?: string;
689
+ clientToken?: string | undefined;
688
690
  }
689
691
  /**
690
692
  * @public
@@ -727,11 +729,11 @@ export interface CheckAccessNotGrantedRequest {
727
729
  policyDocument: string | undefined;
728
730
  /**
729
731
  * <p>An access object containing the permissions that shouldn't be granted by the specified
730
- * policy. If only actions are specified, IAM Access Analyzer checks for access of the actions on
731
- * all resources in the policy. If only resources are specified, then IAM Access Analyzer checks
732
- * which actions have access to the specified resources. If both actions and resources are
733
- * specified, then IAM Access Analyzer checks which of the specified actions have access to the
734
- * specified resources.</p>
732
+ * policy. If only actions are specified, IAM Access Analyzer checks for access to peform at least
733
+ * one of the actions on any resource in the policy. If only resources are specified, then
734
+ * IAM Access Analyzer checks for access to perform any action on at least one of the resources. If
735
+ * both actions and resources are specified, IAM Access Analyzer checks for access to perform at
736
+ * least one of the specified actions on at least one of the specified resources.</p>
735
737
  * @public
736
738
  */
737
739
  access: Access[] | undefined;
@@ -739,9 +741,7 @@ export interface CheckAccessNotGrantedRequest {
739
741
  * <p>The type of policy. Identity policies grant permissions to IAM principals. Identity
740
742
  * policies include managed and inline policies for IAM roles, users, and groups.</p>
741
743
  * <p>Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust
742
- * policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic
743
- * input such as identity policy or resource policy or a specific input such as managed policy
744
- * or Amazon S3 bucket policy.</p>
744
+ * policies for IAM roles and bucket policies for Amazon S3 buckets.</p>
745
745
  * @public
746
746
  */
747
747
  policyType: AccessCheckPolicyType | undefined;
@@ -755,17 +755,17 @@ export interface ReasonSummary {
755
755
  * <p>A description of the reasoning of a result of checking for access.</p>
756
756
  * @public
757
757
  */
758
- description?: string;
758
+ description?: string | undefined;
759
759
  /**
760
760
  * <p>The index number of the reason statement.</p>
761
761
  * @public
762
762
  */
763
- statementIndex?: number;
763
+ statementIndex?: number | undefined;
764
764
  /**
765
765
  * <p>The identifier for the reason statement.</p>
766
766
  * @public
767
767
  */
768
- statementId?: string;
768
+ statementId?: string | undefined;
769
769
  }
770
770
  /**
771
771
  * @public
@@ -790,17 +790,17 @@ export interface CheckAccessNotGrantedResponse {
790
790
  * some or all of the permissions in the access object.</p>
791
791
  * @public
792
792
  */
793
- result?: CheckAccessNotGrantedResult;
793
+ result?: CheckAccessNotGrantedResult | undefined;
794
794
  /**
795
795
  * <p>The message indicating whether the specified access is allowed.</p>
796
796
  * @public
797
797
  */
798
- message?: string;
798
+ message?: string | undefined;
799
799
  /**
800
800
  * <p>A description of the reasoning of the result.</p>
801
801
  * @public
802
802
  */
803
- reasons?: ReasonSummary[];
803
+ reasons?: ReasonSummary[] | undefined;
804
804
  }
805
805
  /**
806
806
  * <p>The specified parameter is invalid.</p>
@@ -875,17 +875,17 @@ export interface CheckNoNewAccessResponse {
875
875
  * policy might allow new access.</p>
876
876
  * @public
877
877
  */
878
- result?: CheckNoNewAccessResult;
878
+ result?: CheckNoNewAccessResult | undefined;
879
879
  /**
880
880
  * <p>The message indicating whether the updated policy allows new access.</p>
881
881
  * @public
882
882
  */
883
- message?: string;
883
+ message?: string | undefined;
884
884
  /**
885
885
  * <p>A description of the reasoning of the result.</p>
886
886
  * @public
887
887
  */
888
- reasons?: ReasonSummary[];
888
+ reasons?: ReasonSummary[] | undefined;
889
889
  }
890
890
  /**
891
891
  * @public
@@ -957,19 +957,19 @@ export interface CheckNoPublicAccessResponse {
957
957
  * specified resource type.</p>
958
958
  * @public
959
959
  */
960
- result?: CheckNoPublicAccessResult;
960
+ result?: CheckNoPublicAccessResult | undefined;
961
961
  /**
962
962
  * <p>The message indicating whether the specified policy allows public access to
963
963
  * resources.</p>
964
964
  * @public
965
965
  */
966
- message?: string;
966
+ message?: string | undefined;
967
967
  /**
968
968
  * <p>A list of reasons why the specified resource policy grants public access for the
969
969
  * resource type.</p>
970
970
  * @public
971
971
  */
972
- reasons?: ReasonSummary[];
972
+ reasons?: ReasonSummary[] | undefined;
973
973
  }
974
974
  /**
975
975
  * <p>The proposed access control configuration for a DynamoDB stream. You can propose a
@@ -997,7 +997,7 @@ export interface DynamodbStreamConfiguration {
997
997
  * <p>The proposed resource policy defining who can access or manage the DynamoDB stream.</p>
998
998
  * @public
999
999
  */
1000
- streamPolicy?: string;
1000
+ streamPolicy?: string | undefined;
1001
1001
  }
1002
1002
  /**
1003
1003
  * <p>The proposed access control configuration for a DynamoDB table or index. You can propose a
@@ -1025,7 +1025,7 @@ export interface DynamodbTableConfiguration {
1025
1025
  * <p>The proposed resource policy defining who can access or manage the DynamoDB table.</p>
1026
1026
  * @public
1027
1027
  */
1028
- tablePolicy?: string;
1028
+ tablePolicy?: string | undefined;
1029
1029
  }
1030
1030
  /**
1031
1031
  * <p>The proposed access control configuration for an Amazon EBS volume snapshot. You can propose
@@ -1055,7 +1055,7 @@ export interface EbsSnapshotConfiguration {
1055
1055
  * </ul>
1056
1056
  * @public
1057
1057
  */
1058
- userIds?: string[];
1058
+ userIds?: string[] | undefined;
1059
1059
  /**
1060
1060
  * <p>The groups that have access to the Amazon EBS volume snapshot. If the value <code>all</code>
1061
1061
  * is specified, then the Amazon EBS volume snapshot is public.</p>
@@ -1077,7 +1077,7 @@ export interface EbsSnapshotConfiguration {
1077
1077
  * </ul>
1078
1078
  * @public
1079
1079
  */
1080
- groups?: string[];
1080
+ groups?: string[] | undefined;
1081
1081
  /**
1082
1082
  * <p>The KMS key identifier for an encrypted Amazon EBS volume snapshot. The KMS key
1083
1083
  * identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.</p>
@@ -1095,7 +1095,7 @@ export interface EbsSnapshotConfiguration {
1095
1095
  * </ul>
1096
1096
  * @public
1097
1097
  */
1098
- kmsKeyId?: string;
1098
+ kmsKeyId?: string | undefined;
1099
1099
  }
1100
1100
  /**
1101
1101
  * <p>The proposed access control configuration for an Amazon ECR repository. You can propose a
@@ -1125,7 +1125,7 @@ export interface EcrRepositoryConfiguration {
1125
1125
  * policy examples</a> in the <i>Amazon ECR User Guide</i>.</p>
1126
1126
  * @public
1127
1127
  */
1128
- repositoryPolicy?: string;
1128
+ repositoryPolicy?: string | undefined;
1129
1129
  }
1130
1130
  /**
1131
1131
  * <p>The proposed access control configuration for an Amazon EFS file system. You can propose a
@@ -1154,7 +1154,7 @@ export interface EfsFileSystemConfiguration {
1154
1154
  * the elements that make up a file system policy, see <a href="https://docs.aws.amazon.com/efs/latest/ug/access-control-overview.html#access-control-manage-access-intro-resource-policies">Amazon EFS Resource-based policies</a>.</p>
1155
1155
  * @public
1156
1156
  */
1157
- fileSystemPolicy?: string;
1157
+ fileSystemPolicy?: string | undefined;
1158
1158
  }
1159
1159
  /**
1160
1160
  * <p>The proposed access control configuration for an IAM role. You can propose a
@@ -1172,7 +1172,7 @@ export interface IamRoleConfiguration {
1172
1172
  * <p>The proposed trust policy for the IAM role.</p>
1173
1173
  * @public
1174
1174
  */
1175
- trustPolicy?: string;
1175
+ trustPolicy?: string | undefined;
1176
1176
  }
1177
1177
  /**
1178
1178
  * <p>Use this structure to propose allowing <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic
@@ -1190,7 +1190,7 @@ export interface KmsGrantConstraints {
1190
1190
  * constraint.</p>
1191
1191
  * @public
1192
1192
  */
1193
- encryptionContextEquals?: Record<string, string>;
1193
+ encryptionContextEquals?: Record<string, string> | undefined;
1194
1194
  /**
1195
1195
  * <p>A list of key-value pairs that must be included in the encryption context of the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic
1196
1196
  * operation</a> request. The grant allows the cryptographic operation only when the
@@ -1198,7 +1198,7 @@ export interface KmsGrantConstraints {
1198
1198
  * constraint, although it can include additional key-value pairs.</p>
1199
1199
  * @public
1200
1200
  */
1201
- encryptionContextSubset?: Record<string, string>;
1201
+ encryptionContextSubset?: Record<string, string> | undefined;
1202
1202
  }
1203
1203
  /**
1204
1204
  * @public
@@ -1244,7 +1244,7 @@ export interface KmsGrantConfiguration {
1244
1244
  * <p>The principal that is given permission to retire the grant by using <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html">RetireGrant</a> operation.</p>
1245
1245
  * @public
1246
1246
  */
1247
- retiringPrincipal?: string;
1247
+ retiringPrincipal?: string | undefined;
1248
1248
  /**
1249
1249
  * <p>Use this structure to propose allowing <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic
1250
1250
  * operations</a> in the grant only when the operation request includes the specified
@@ -1252,7 +1252,7 @@ export interface KmsGrantConfiguration {
1252
1252
  * context</a>.</p>
1253
1253
  * @public
1254
1254
  */
1255
- constraints?: KmsGrantConstraints;
1255
+ constraints?: KmsGrantConstraints | undefined;
1256
1256
  /**
1257
1257
  * <p> The Amazon Web Services account under which the grant was issued. The account is used to propose
1258
1258
  * KMS grants issued by accounts other than the owner of the key.</p>
@@ -1280,7 +1280,7 @@ export interface KmsKeyConfiguration {
1280
1280
  * policy</a>.</p>
1281
1281
  * @public
1282
1282
  */
1283
- keyPolicies?: Record<string, string>;
1283
+ keyPolicies?: Record<string, string> | undefined;
1284
1284
  /**
1285
1285
  * <p>A list of proposed grant configurations for the KMS key. If the proposed grant
1286
1286
  * configuration is for an existing key, the access preview uses the proposed list of grant
@@ -1288,7 +1288,7 @@ export interface KmsKeyConfiguration {
1288
1288
  * existing grants for the key.</p>
1289
1289
  * @public
1290
1290
  */
1291
- grants?: KmsGrantConfiguration[];
1291
+ grants?: KmsGrantConfiguration[] | undefined;
1292
1292
  }
1293
1293
  /**
1294
1294
  * <p>The values for a manual Amazon RDS DB cluster snapshot attribute.</p>
@@ -1356,7 +1356,7 @@ export interface RdsDbClusterSnapshotConfiguration {
1356
1356
  * </p>
1357
1357
  * @public
1358
1358
  */
1359
- attributes?: Record<string, RdsDbClusterSnapshotAttributeValue>;
1359
+ attributes?: Record<string, RdsDbClusterSnapshotAttributeValue> | undefined;
1360
1360
  /**
1361
1361
  * <p>The KMS key identifier for an encrypted Amazon RDS DB cluster snapshot. The KMS key
1362
1362
  * identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.</p>
@@ -1374,7 +1374,7 @@ export interface RdsDbClusterSnapshotConfiguration {
1374
1374
  * </ul>
1375
1375
  * @public
1376
1376
  */
1377
- kmsKeyId?: string;
1377
+ kmsKeyId?: string | undefined;
1378
1378
  }
1379
1379
  /**
1380
1380
  * <p>The name and values of a manual Amazon RDS DB snapshot attribute. Manual DB snapshot
@@ -1442,7 +1442,7 @@ export interface RdsDbSnapshotConfiguration {
1442
1442
  * value for <code>attributeName</code> for the attribute map is restore.</p>
1443
1443
  * @public
1444
1444
  */
1445
- attributes?: Record<string, RdsDbSnapshotAttributeValue>;
1445
+ attributes?: Record<string, RdsDbSnapshotAttributeValue> | undefined;
1446
1446
  /**
1447
1447
  * <p>The KMS key identifier for an encrypted Amazon RDS DB snapshot. The KMS key identifier is
1448
1448
  * the key ARN, key ID, alias ARN, or alias name for the KMS key.</p>
@@ -1460,7 +1460,7 @@ export interface RdsDbSnapshotConfiguration {
1460
1460
  * </ul>
1461
1461
  * @public
1462
1462
  */
1463
- kmsKeyId?: string;
1463
+ kmsKeyId?: string | undefined;
1464
1464
  }
1465
1465
  /**
1466
1466
  * <p>This configuration sets the network origin for the Amazon S3 access point or multi-region
@@ -1573,13 +1573,13 @@ export interface S3AccessPointConfiguration {
1573
1573
  * <p>The access point or multi-region access point policy.</p>
1574
1574
  * @public
1575
1575
  */
1576
- accessPointPolicy?: string;
1576
+ accessPointPolicy?: string | undefined;
1577
1577
  /**
1578
1578
  * <p>The proposed <code>S3PublicAccessBlock</code> configuration to apply to this Amazon S3 access
1579
1579
  * point or multi-region access point.</p>
1580
1580
  * @public
1581
1581
  */
1582
- publicAccessBlock?: S3PublicAccessBlockConfiguration;
1582
+ publicAccessBlock?: S3PublicAccessBlockConfiguration | undefined;
1583
1583
  /**
1584
1584
  * <p>The proposed <code>Internet</code> and <code>VpcConfiguration</code> to apply to this
1585
1585
  * Amazon S3 access point. <code>VpcConfiguration</code> does not apply to multi-region access
@@ -1589,7 +1589,7 @@ export interface S3AccessPointConfiguration {
1589
1589
  * origin.</p>
1590
1590
  * @public
1591
1591
  */
1592
- networkOrigin?: NetworkOriginConfiguration;
1592
+ networkOrigin?: NetworkOriginConfiguration | undefined;
1593
1593
  }
1594
1594
  /**
1595
1595
  * <p>You specify each grantee as a type-value pair using one of these types. You can specify
@@ -1685,7 +1685,7 @@ export interface S3BucketConfiguration {
1685
1685
  * <p>The proposed bucket policy for the Amazon S3 bucket.</p>
1686
1686
  * @public
1687
1687
  */
1688
- bucketPolicy?: string;
1688
+ bucketPolicy?: string | undefined;
1689
1689
  /**
1690
1690
  * <p>The proposed list of ACL grants for the Amazon S3 bucket. You can propose up to 100 ACL
1691
1691
  * grants per bucket. If the proposed grant configuration is for an existing bucket, the
@@ -1693,18 +1693,18 @@ export interface S3BucketConfiguration {
1693
1693
  * grants. Otherwise, the access preview uses the existing grants for the bucket.</p>
1694
1694
  * @public
1695
1695
  */
1696
- bucketAclGrants?: S3BucketAclGrantConfiguration[];
1696
+ bucketAclGrants?: S3BucketAclGrantConfiguration[] | undefined;
1697
1697
  /**
1698
1698
  * <p>The proposed block public access configuration for the Amazon S3 bucket.</p>
1699
1699
  * @public
1700
1700
  */
1701
- bucketPublicAccessBlock?: S3PublicAccessBlockConfiguration;
1701
+ bucketPublicAccessBlock?: S3PublicAccessBlockConfiguration | undefined;
1702
1702
  /**
1703
1703
  * <p>The configuration of Amazon S3 access points or multi-region access points for the bucket.
1704
1704
  * You can propose up to 10 new access points per bucket.</p>
1705
1705
  * @public
1706
1706
  */
1707
- accessPoints?: Record<string, S3AccessPointConfiguration>;
1707
+ accessPoints?: Record<string, S3AccessPointConfiguration> | undefined;
1708
1708
  }
1709
1709
  /**
1710
1710
  * <p>Proposed access control configuration for an Amazon S3 directory bucket. You can propose a
@@ -1723,7 +1723,7 @@ export interface S3ExpressDirectoryBucketConfiguration {
1723
1723
  * <p>The proposed bucket policy for the Amazon S3 directory bucket.</p>
1724
1724
  * @public
1725
1725
  */
1726
- bucketPolicy?: string;
1726
+ bucketPolicy?: string | undefined;
1727
1727
  }
1728
1728
  /**
1729
1729
  * <p>The configuration for a Secrets Manager secret. For more information, see <a href="https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html">CreateSecret</a>.</p>
@@ -1745,12 +1745,12 @@ export interface SecretsManagerSecretConfiguration {
1745
1745
  * <p>The proposed ARN, key ID, or alias of the KMS key.</p>
1746
1746
  * @public
1747
1747
  */
1748
- kmsKeyId?: string;
1748
+ kmsKeyId?: string | undefined;
1749
1749
  /**
1750
1750
  * <p>The proposed resource policy defining who can access or manage the secret.</p>
1751
1751
  * @public
1752
1752
  */
1753
- secretPolicy?: string;
1753
+ secretPolicy?: string | undefined;
1754
1754
  }
1755
1755
  /**
1756
1756
  * <p>The proposed access control configuration for an Amazon SNS topic. You can propose a
@@ -1770,7 +1770,7 @@ export interface SnsTopicConfiguration {
1770
1770
  * Guide</i>.</p>
1771
1771
  * @public
1772
1772
  */
1773
- topicPolicy?: string;
1773
+ topicPolicy?: string | undefined;
1774
1774
  }
1775
1775
  /**
1776
1776
  * <p>The proposed access control configuration for an Amazon SQS queue. You can propose a
@@ -1789,7 +1789,7 @@ export interface SqsQueueConfiguration {
1789
1789
  * <p> The proposed resource policy for the Amazon SQS queue. </p>
1790
1790
  * @public
1791
1791
  */
1792
- queuePolicy?: string;
1792
+ queuePolicy?: string | undefined;
1793
1793
  }
1794
1794
  /**
1795
1795
  * <p>Access control configuration structures for your resource. You specify the configuration
@@ -2158,7 +2158,7 @@ export interface CreateAccessPreviewRequest {
2158
2158
  * <p>A client token.</p>
2159
2159
  * @public
2160
2160
  */
2161
- clientToken?: string;
2161
+ clientToken?: string | undefined;
2162
2162
  }
2163
2163
  /**
2164
2164
  * @public
@@ -2293,7 +2293,7 @@ export interface AccessPreview {
2293
2293
  * invalid resource configuration.</p>
2294
2294
  * @public
2295
2295
  */
2296
- statusReason?: AccessPreviewStatusReason;
2296
+ statusReason?: AccessPreviewStatusReason | undefined;
2297
2297
  }
2298
2298
  /**
2299
2299
  * @public
@@ -2371,18 +2371,18 @@ export interface AnalyzedResource {
2371
2371
  * generated the finding.</p>
2372
2372
  * @public
2373
2373
  */
2374
- actions?: string[];
2374
+ actions?: string[] | undefined;
2375
2375
  /**
2376
2376
  * <p>Indicates how the access that generated the finding is granted. This is populated for
2377
2377
  * Amazon S3 bucket findings.</p>
2378
2378
  * @public
2379
2379
  */
2380
- sharedVia?: string[];
2380
+ sharedVia?: string[] | undefined;
2381
2381
  /**
2382
2382
  * <p>The current status of the finding generated from the analyzed resource.</p>
2383
2383
  * @public
2384
2384
  */
2385
- status?: FindingStatus;
2385
+ status?: FindingStatus | undefined;
2386
2386
  /**
2387
2387
  * <p>The Amazon Web Services account ID that owns the resource.</p>
2388
2388
  * @public
@@ -2392,7 +2392,7 @@ export interface AnalyzedResource {
2392
2392
  * <p>An error message.</p>
2393
2393
  * @public
2394
2394
  */
2395
- error?: string;
2395
+ error?: string | undefined;
2396
2396
  }
2397
2397
  /**
2398
2398
  * <p>The response to the request.</p>
@@ -2404,7 +2404,7 @@ export interface GetAnalyzedResourceResponse {
2404
2404
  * found when it analyzed the resource.</p>
2405
2405
  * @public
2406
2406
  */
2407
- resource?: AnalyzedResource;
2407
+ resource?: AnalyzedResource | undefined;
2408
2408
  }
2409
2409
  /**
2410
2410
  * <p>Retrieves a finding.</p>
@@ -2423,6 +2423,19 @@ export interface GetFindingRequest {
2423
2423
  */
2424
2424
  id: string | undefined;
2425
2425
  }
2426
+ /**
2427
+ * @public
2428
+ * @enum
2429
+ */
2430
+ export declare const ResourceControlPolicyRestriction: {
2431
+ readonly APPLICABLE: "APPLICABLE";
2432
+ readonly FAILED_TO_EVALUATE_RCP: "FAILED_TO_EVALUATE_RCP";
2433
+ readonly NOT_APPLICABLE: "NOT_APPLICABLE";
2434
+ };
2435
+ /**
2436
+ * @public
2437
+ */
2438
+ export type ResourceControlPolicyRestriction = (typeof ResourceControlPolicyRestriction)[keyof typeof ResourceControlPolicyRestriction];
2426
2439
  /**
2427
2440
  * <p>Includes details about how the access that generated the finding is granted. This is
2428
2441
  * populated for Amazon S3 bucket findings.</p>
@@ -2434,12 +2447,12 @@ export interface FindingSourceDetail {
2434
2447
  * whether the ARN represents an access point or a multi-region access point.</p>
2435
2448
  * @public
2436
2449
  */
2437
- accessPointArn?: string;
2450
+ accessPointArn?: string | undefined;
2438
2451
  /**
2439
2452
  * <p>The account of the cross-account access point that generated the finding.</p>
2440
2453
  * @public
2441
2454
  */
2442
- accessPointAccount?: string;
2455
+ accessPointAccount?: string | undefined;
2443
2456
  }
2444
2457
  /**
2445
2458
  * @public
@@ -2461,7 +2474,7 @@ export interface FindingSource {
2461
2474
  * populated for Amazon S3 bucket findings.</p>
2462
2475
  * @public
2463
2476
  */
2464
- detail?: FindingSourceDetail;
2477
+ detail?: FindingSourceDetail | undefined;
2465
2478
  }
2466
2479
  /**
2467
2480
  * <p>Contains information about a finding.</p>
@@ -2477,24 +2490,24 @@ export interface Finding {
2477
2490
  * <p>The external principal that has access to a resource within the zone of trust.</p>
2478
2491
  * @public
2479
2492
  */
2480
- principal?: Record<string, string>;
2493
+ principal?: Record<string, string> | undefined;
2481
2494
  /**
2482
2495
  * <p>The action in the analyzed policy statement that an external principal has permission to
2483
2496
  * use.</p>
2484
2497
  * @public
2485
2498
  */
2486
- action?: string[];
2499
+ action?: string[] | undefined;
2487
2500
  /**
2488
2501
  * <p>The resource that an external principal has access to.</p>
2489
2502
  * @public
2490
2503
  */
2491
- resource?: string;
2504
+ resource?: string | undefined;
2492
2505
  /**
2493
2506
  * <p>Indicates whether the policy that generated the finding allows public access to the
2494
2507
  * resource.</p>
2495
2508
  * @public
2496
2509
  */
2497
- isPublic?: boolean;
2510
+ isPublic?: boolean | undefined;
2498
2511
  /**
2499
2512
  * <p>The type of the resource identified in the finding.</p>
2500
2513
  * @public
@@ -2534,13 +2547,19 @@ export interface Finding {
2534
2547
  * <p>An error.</p>
2535
2548
  * @public
2536
2549
  */
2537
- error?: string;
2550
+ error?: string | undefined;
2538
2551
  /**
2539
2552
  * <p>The sources of the finding. This indicates how the access that generated the finding is
2540
2553
  * granted. It is populated for Amazon S3 bucket findings.</p>
2541
2554
  * @public
2542
2555
  */
2543
- sources?: FindingSource[];
2556
+ sources?: FindingSource[] | undefined;
2557
+ /**
2558
+ * <p>The type of restriction applied to the finding by the resource owner with an Organizations
2559
+ * resource control policy (RCP).</p>
2560
+ * @public
2561
+ */
2562
+ resourceControlPolicyRestriction?: ResourceControlPolicyRestriction | undefined;
2544
2563
  }
2545
2564
  /**
2546
2565
  * <p>The response to the request.</p>
@@ -2551,7 +2570,7 @@ export interface GetFindingResponse {
2551
2570
  * <p>A <code>finding</code> object that contains finding details.</p>
2552
2571
  * @public
2553
2572
  */
2554
- finding?: Finding;
2573
+ finding?: Finding | undefined;
2555
2574
  }
2556
2575
  /**
2557
2576
  * @public
@@ -2572,12 +2591,12 @@ export interface GetFindingRecommendationRequest {
2572
2591
  * <p>The maximum number of results to return in the response.</p>
2573
2592
  * @public
2574
2593
  */
2575
- maxResults?: number;
2594
+ maxResults?: number | undefined;
2576
2595
  /**
2577
2596
  * <p>A token used for pagination of results returned.</p>
2578
2597
  * @public
2579
2598
  */
2580
- nextToken?: string;
2599
+ nextToken?: string | undefined;
2581
2600
  }
2582
2601
  /**
2583
2602
  * <p>Contains information about the reason that the retrieval of a recommendation for a
@@ -2630,7 +2649,7 @@ export interface UnusedPermissionsRecommendedStep {
2630
2649
  * updated.</p>
2631
2650
  * @public
2632
2651
  */
2633
- policyUpdatedAt?: Date;
2652
+ policyUpdatedAt?: Date | undefined;
2634
2653
  /**
2635
2654
  * <p>A recommendation of whether to create or detach a policy for an unused permissions
2636
2655
  * finding.</p>
@@ -2643,13 +2662,13 @@ export interface UnusedPermissionsRecommendedStep {
2643
2662
  * <code>existingPolicyId</code> field.</p>
2644
2663
  * @public
2645
2664
  */
2646
- recommendedPolicy?: string;
2665
+ recommendedPolicy?: string | undefined;
2647
2666
  /**
2648
2667
  * <p>If the recommended action for the unused permissions finding is to detach a policy, the
2649
2668
  * ID of an existing policy to be detached.</p>
2650
2669
  * @public
2651
2670
  */
2652
- existingPolicyId?: string;
2671
+ existingPolicyId?: string | undefined;
2653
2672
  }
2654
2673
  /**
2655
2674
  * <p>Contains information about a recommended step for an unused access analyzer
@@ -2708,18 +2727,18 @@ export interface GetFindingRecommendationResponse {
2708
2727
  * <p>The time at which the retrieval of the finding recommendation was completed.</p>
2709
2728
  * @public
2710
2729
  */
2711
- completedAt?: Date;
2730
+ completedAt?: Date | undefined;
2712
2731
  /**
2713
2732
  * <p>A token used for pagination of results returned.</p>
2714
2733
  * @public
2715
2734
  */
2716
- nextToken?: string;
2735
+ nextToken?: string | undefined;
2717
2736
  /**
2718
2737
  * <p>Detailed information about the reason that the retrieval of a recommendation for the
2719
2738
  * finding failed.</p>
2720
2739
  * @public
2721
2740
  */
2722
- error?: RecommendationError;
2741
+ error?: RecommendationError | undefined;
2723
2742
  /**
2724
2743
  * <p>The ARN of the resource of the finding.</p>
2725
2744
  * @public
@@ -2729,7 +2748,7 @@ export interface GetFindingRecommendationResponse {
2729
2748
  * <p>A group of recommended steps for the finding.</p>
2730
2749
  * @public
2731
2750
  */
2732
- recommendedSteps?: RecommendedStep[];
2751
+ recommendedSteps?: RecommendedStep[] | undefined;
2733
2752
  /**
2734
2753
  * <p>The type of recommendation for the finding.</p>
2735
2754
  * @public
@@ -2760,12 +2779,12 @@ export interface GetFindingV2Request {
2760
2779
  * <p>The maximum number of results to return in the response.</p>
2761
2780
  * @public
2762
2781
  */
2763
- maxResults?: number;
2782
+ maxResults?: number | undefined;
2764
2783
  /**
2765
2784
  * <p>A token used for pagination of results returned.</p>
2766
2785
  * @public
2767
2786
  */
2768
- nextToken?: string;
2787
+ nextToken?: string | undefined;
2769
2788
  }
2770
2789
  /**
2771
2790
  * <p>Contains information about an external access finding.</p>
@@ -2777,7 +2796,7 @@ export interface ExternalAccessDetails {
2777
2796
  * use.</p>
2778
2797
  * @public
2779
2798
  */
2780
- action?: string[];
2799
+ action?: string[] | undefined;
2781
2800
  /**
2782
2801
  * <p>The condition in the analyzed policy statement that resulted in an external access
2783
2802
  * finding.</p>
@@ -2788,18 +2807,24 @@ export interface ExternalAccessDetails {
2788
2807
  * <p>Specifies whether the external access finding is public.</p>
2789
2808
  * @public
2790
2809
  */
2791
- isPublic?: boolean;
2810
+ isPublic?: boolean | undefined;
2792
2811
  /**
2793
2812
  * <p>The external principal that has access to a resource within the zone of trust.</p>
2794
2813
  * @public
2795
2814
  */
2796
- principal?: Record<string, string>;
2815
+ principal?: Record<string, string> | undefined;
2797
2816
  /**
2798
2817
  * <p>The sources of the external access finding. This indicates how the access that generated
2799
2818
  * the finding is granted. It is populated for Amazon S3 bucket findings.</p>
2800
2819
  * @public
2801
2820
  */
2802
- sources?: FindingSource[];
2821
+ sources?: FindingSource[] | undefined;
2822
+ /**
2823
+ * <p>The type of restriction applied to the finding by the resource owner with an Organizations
2824
+ * resource control policy (RCP).</p>
2825
+ * @public
2826
+ */
2827
+ resourceControlPolicyRestriction?: ResourceControlPolicyRestriction | undefined;
2803
2828
  }
2804
2829
  /**
2805
2830
  * <p>Contains information about an unused access finding for an IAM role. IAM Access Analyzer
@@ -2813,7 +2838,7 @@ export interface UnusedIamRoleDetails {
2813
2838
  * <p>The time at which the role was last accessed.</p>
2814
2839
  * @public
2815
2840
  */
2816
- lastAccessed?: Date;
2841
+ lastAccessed?: Date | undefined;
2817
2842
  }
2818
2843
  /**
2819
2844
  * <p>Contains information about an unused access finding for an IAM user access key.
@@ -2832,7 +2857,7 @@ export interface UnusedIamUserAccessKeyDetails {
2832
2857
  * <p>The time at which the access key was last accessed.</p>
2833
2858
  * @public
2834
2859
  */
2835
- lastAccessed?: Date;
2860
+ lastAccessed?: Date | undefined;
2836
2861
  }
2837
2862
  /**
2838
2863
  * <p>Contains information about an unused access finding for an IAM user password.
@@ -2846,7 +2871,7 @@ export interface UnusedIamUserPasswordDetails {
2846
2871
  * <p>The time at which the password was last accessed.</p>
2847
2872
  * @public
2848
2873
  */
2849
- lastAccessed?: Date;
2874
+ lastAccessed?: Date | undefined;
2850
2875
  }
2851
2876
  /**
2852
2877
  * <p>Contains information about an unused access finding for an action. IAM Access Analyzer charges
@@ -2865,7 +2890,7 @@ export interface UnusedAction {
2865
2890
  * <p>The time at which the action was last accessed.</p>
2866
2891
  * @public
2867
2892
  */
2868
- lastAccessed?: Date;
2893
+ lastAccessed?: Date | undefined;
2869
2894
  }
2870
2895
  /**
2871
2896
  * <p>Contains information about an unused access finding for a permission. IAM Access Analyzer
@@ -2879,7 +2904,7 @@ export interface UnusedPermissionDetails {
2879
2904
  * <p>A list of unused actions for which the unused access finding was generated.</p>
2880
2905
  * @public
2881
2906
  */
2882
- actions?: UnusedAction[];
2907
+ actions?: UnusedAction[] | undefined;
2883
2908
  /**
2884
2909
  * <p>The namespace of the Amazon Web Services service that contains the unused actions.</p>
2885
2910
  * @public
@@ -2889,7 +2914,7 @@ export interface UnusedPermissionDetails {
2889
2914
  * <p>The time at which the permission was last accessed.</p>
2890
2915
  * @public
2891
2916
  */
2892
- lastAccessed?: Date;
2917
+ lastAccessed?: Date | undefined;
2893
2918
  }
2894
2919
  /**
2895
2920
  * <p>Contains information about an external access or unused access finding. Only one
@@ -3020,7 +3045,7 @@ export interface GetFindingV2Response {
3020
3045
  * <p>An error.</p>
3021
3046
  * @public
3022
3047
  */
3023
- error?: string;
3048
+ error?: string | undefined;
3024
3049
  /**
3025
3050
  * <p>The ID of the finding to retrieve.</p>
3026
3051
  * @public
@@ -3030,12 +3055,12 @@ export interface GetFindingV2Response {
3030
3055
  * <p>A token used for pagination of results returned.</p>
3031
3056
  * @public
3032
3057
  */
3033
- nextToken?: string;
3058
+ nextToken?: string | undefined;
3034
3059
  /**
3035
3060
  * <p>The resource that generated the finding.</p>
3036
3061
  * @public
3037
3062
  */
3038
- resource?: string;
3063
+ resource?: string | undefined;
3039
3064
  /**
3040
3065
  * <p>The type of the resource identified in the finding.</p>
3041
3066
  * @public
@@ -3069,7 +3094,7 @@ export interface GetFindingV2Response {
3069
3094
  * <code>UnusedIAMUserPassword</code>, or <code>UnusedPermission</code>.</p>
3070
3095
  * @public
3071
3096
  */
3072
- findingType?: FindingType;
3097
+ findingType?: FindingType | undefined;
3073
3098
  }
3074
3099
  /**
3075
3100
  * @public
@@ -3091,7 +3116,7 @@ export interface GetGeneratedPolicyRequest {
3091
3116
  * <code>"Resource":"arn:aws:s3:::$\{BucketName\}"</code> instead of <code>"*"</code>.</p>
3092
3117
  * @public
3093
3118
  */
3094
- includeResourcePlaceholders?: boolean;
3119
+ includeResourcePlaceholders?: boolean | undefined;
3095
3120
  /**
3096
3121
  * <p>The level of detail that you want to generate. You can specify whether to generate
3097
3122
  * service-level policies. </p>
@@ -3099,7 +3124,7 @@ export interface GetGeneratedPolicyRequest {
3099
3124
  * been used recently to create this service-level template.</p>
3100
3125
  * @public
3101
3126
  */
3102
- includeServiceLevelTemplate?: boolean;
3127
+ includeServiceLevelTemplate?: boolean | undefined;
3103
3128
  }
3104
3129
  /**
3105
3130
  * <p>Contains the text for the generated policy.</p>
@@ -3128,14 +3153,14 @@ export interface TrailProperties {
3128
3153
  * <p>A list of regions to get CloudTrail data from and analyze to generate a policy.</p>
3129
3154
  * @public
3130
3155
  */
3131
- regions?: string[];
3156
+ regions?: string[] | undefined;
3132
3157
  /**
3133
3158
  * <p>Possible values are <code>true</code> or <code>false</code>. If set to
3134
3159
  * <code>true</code>, IAM Access Analyzer retrieves CloudTrail data from all regions to analyze and
3135
3160
  * generate a policy.</p>
3136
3161
  * @public
3137
3162
  */
3138
- allRegions?: boolean;
3163
+ allRegions?: boolean | undefined;
3139
3164
  }
3140
3165
  /**
3141
3166
  * <p>Contains information about CloudTrail access.</p>
@@ -3173,7 +3198,7 @@ export interface GeneratedPolicyProperties {
3173
3198
  * and <code>false</code> otherwise.</p>
3174
3199
  * @public
3175
3200
  */
3176
- isComplete?: boolean;
3201
+ isComplete?: boolean | undefined;
3177
3202
  /**
3178
3203
  * <p>The ARN of the IAM entity (user or role) for which you are generating a policy.</p>
3179
3204
  * @public
@@ -3183,7 +3208,7 @@ export interface GeneratedPolicyProperties {
3183
3208
  * <p>Lists details about the <code>Trail</code> used to generated policy.</p>
3184
3209
  * @public
3185
3210
  */
3186
- cloudTrailProperties?: CloudTrailProperties;
3211
+ cloudTrailProperties?: CloudTrailProperties | undefined;
3187
3212
  }
3188
3213
  /**
3189
3214
  * <p>Contains the text for the generated policy and its details.</p>
@@ -3201,7 +3226,7 @@ export interface GeneratedPolicyResult {
3201
3226
  * <a href="https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicy.html">CreatePolicy</a> action.</p>
3202
3227
  * @public
3203
3228
  */
3204
- generatedPolicies?: GeneratedPolicy[];
3229
+ generatedPolicies?: GeneratedPolicy[] | undefined;
3205
3230
  }
3206
3231
  /**
3207
3232
  * @public
@@ -3275,12 +3300,12 @@ export interface JobDetails {
3275
3300
  * <p>A timestamp of when the job was completed.</p>
3276
3301
  * @public
3277
3302
  */
3278
- completedOn?: Date;
3303
+ completedOn?: Date | undefined;
3279
3304
  /**
3280
3305
  * <p>The job error for the policy generation request.</p>
3281
3306
  * @public
3282
3307
  */
3283
- jobError?: JobError;
3308
+ jobError?: JobError | undefined;
3284
3309
  }
3285
3310
  /**
3286
3311
  * @public
@@ -3318,17 +3343,17 @@ export interface ListAccessPreviewFindingsRequest {
3318
3343
  * <p>Criteria to filter the returned findings.</p>
3319
3344
  * @public
3320
3345
  */
3321
- filter?: Record<string, Criterion>;
3346
+ filter?: Record<string, Criterion> | undefined;
3322
3347
  /**
3323
3348
  * <p>A token used for pagination of results returned.</p>
3324
3349
  * @public
3325
3350
  */
3326
- nextToken?: string;
3351
+ nextToken?: string | undefined;
3327
3352
  /**
3328
3353
  * <p>The maximum number of results to return in the response.</p>
3329
3354
  * @public
3330
3355
  */
3331
- maxResults?: number;
3356
+ maxResults?: number | undefined;
3332
3357
  }
3333
3358
  /**
3334
3359
  * @public
@@ -3360,40 +3385,40 @@ export interface AccessPreviewFinding {
3360
3385
  * findings.</p>
3361
3386
  * @public
3362
3387
  */
3363
- existingFindingId?: string;
3388
+ existingFindingId?: string | undefined;
3364
3389
  /**
3365
3390
  * <p>The existing status of the finding, provided only for existing findings.</p>
3366
3391
  * @public
3367
3392
  */
3368
- existingFindingStatus?: FindingStatus;
3393
+ existingFindingStatus?: FindingStatus | undefined;
3369
3394
  /**
3370
3395
  * <p>The external principal that has access to a resource within the zone of trust.</p>
3371
3396
  * @public
3372
3397
  */
3373
- principal?: Record<string, string>;
3398
+ principal?: Record<string, string> | undefined;
3374
3399
  /**
3375
3400
  * <p>The action in the analyzed policy statement that an external principal has permission to
3376
3401
  * perform.</p>
3377
3402
  * @public
3378
3403
  */
3379
- action?: string[];
3404
+ action?: string[] | undefined;
3380
3405
  /**
3381
3406
  * <p>The condition in the analyzed policy statement that resulted in a finding.</p>
3382
3407
  * @public
3383
3408
  */
3384
- condition?: Record<string, string>;
3409
+ condition?: Record<string, string> | undefined;
3385
3410
  /**
3386
3411
  * <p>The resource that an external principal has access to. This is the resource associated
3387
3412
  * with the access preview.</p>
3388
3413
  * @public
3389
3414
  */
3390
- resource?: string;
3415
+ resource?: string | undefined;
3391
3416
  /**
3392
3417
  * <p>Indicates whether the policy that generated the finding allows public access to the
3393
3418
  * resource.</p>
3394
3419
  * @public
3395
3420
  */
3396
- isPublic?: boolean;
3421
+ isPublic?: boolean | undefined;
3397
3422
  /**
3398
3423
  * <p>The type of the resource that can be accessed in the finding.</p>
3399
3424
  * @public
@@ -3448,13 +3473,19 @@ export interface AccessPreviewFinding {
3448
3473
  * <p>An error.</p>
3449
3474
  * @public
3450
3475
  */
3451
- error?: string;
3476
+ error?: string | undefined;
3452
3477
  /**
3453
3478
  * <p>The sources of the finding. This indicates how the access that generated the finding is
3454
3479
  * granted. It is populated for Amazon S3 bucket findings.</p>
3455
3480
  * @public
3456
3481
  */
3457
- sources?: FindingSource[];
3482
+ sources?: FindingSource[] | undefined;
3483
+ /**
3484
+ * <p>The type of restriction applied to the finding by the resource owner with an Organizations
3485
+ * resource control policy (RCP).</p>
3486
+ * @public
3487
+ */
3488
+ resourceControlPolicyRestriction?: ResourceControlPolicyRestriction | undefined;
3458
3489
  }
3459
3490
  /**
3460
3491
  * @public
@@ -3469,7 +3500,7 @@ export interface ListAccessPreviewFindingsResponse {
3469
3500
  * <p>A token used for pagination of results returned.</p>
3470
3501
  * @public
3471
3502
  */
3472
- nextToken?: string;
3503
+ nextToken?: string | undefined;
3473
3504
  }
3474
3505
  /**
3475
3506
  * @public
@@ -3485,12 +3516,12 @@ export interface ListAccessPreviewsRequest {
3485
3516
  * <p>A token used for pagination of results returned.</p>
3486
3517
  * @public
3487
3518
  */
3488
- nextToken?: string;
3519
+ nextToken?: string | undefined;
3489
3520
  /**
3490
3521
  * <p>The maximum number of results to return in the response.</p>
3491
3522
  * @public
3492
3523
  */
3493
- maxResults?: number;
3524
+ maxResults?: number | undefined;
3494
3525
  }
3495
3526
  /**
3496
3527
  * <p>Contains a summary of information about an access preview.</p>
@@ -3539,7 +3570,7 @@ export interface AccessPreviewSummary {
3539
3570
  * resource configuration.</p>
3540
3571
  * @public
3541
3572
  */
3542
- statusReason?: AccessPreviewStatusReason;
3573
+ statusReason?: AccessPreviewStatusReason | undefined;
3543
3574
  }
3544
3575
  /**
3545
3576
  * @public
@@ -3554,7 +3585,7 @@ export interface ListAccessPreviewsResponse {
3554
3585
  * <p>A token used for pagination of results returned.</p>
3555
3586
  * @public
3556
3587
  */
3557
- nextToken?: string;
3588
+ nextToken?: string | undefined;
3558
3589
  }
3559
3590
  /**
3560
3591
  * <p>Retrieves a list of resources that have been analyzed.</p>
@@ -3571,17 +3602,17 @@ export interface ListAnalyzedResourcesRequest {
3571
3602
  * <p>The type of resource.</p>
3572
3603
  * @public
3573
3604
  */
3574
- resourceType?: ResourceType;
3605
+ resourceType?: ResourceType | undefined;
3575
3606
  /**
3576
3607
  * <p>A token used for pagination of results returned.</p>
3577
3608
  * @public
3578
3609
  */
3579
- nextToken?: string;
3610
+ nextToken?: string | undefined;
3580
3611
  /**
3581
3612
  * <p>The maximum number of results to return in the response.</p>
3582
3613
  * @public
3583
3614
  */
3584
- maxResults?: number;
3615
+ maxResults?: number | undefined;
3585
3616
  }
3586
3617
  /**
3587
3618
  * <p>Contains the ARN of the analyzed resource.</p>
@@ -3618,7 +3649,7 @@ export interface ListAnalyzedResourcesResponse {
3618
3649
  * <p>A token used for pagination of results returned.</p>
3619
3650
  * @public
3620
3651
  */
3621
- nextToken?: string;
3652
+ nextToken?: string | undefined;
3622
3653
  }
3623
3654
  /**
3624
3655
  * @public
@@ -3633,12 +3664,12 @@ export interface SortCriteria {
3633
3664
  * <p>The name of the attribute to sort on.</p>
3634
3665
  * @public
3635
3666
  */
3636
- attributeName?: string;
3667
+ attributeName?: string | undefined;
3637
3668
  /**
3638
3669
  * <p>The sort order, ascending or descending.</p>
3639
3670
  * @public
3640
3671
  */
3641
- orderBy?: OrderBy;
3672
+ orderBy?: OrderBy | undefined;
3642
3673
  }
3643
3674
  /**
3644
3675
  * <p>Retrieves a list of findings generated by the specified analyzer.</p>
@@ -3655,22 +3686,22 @@ export interface ListFindingsRequest {
3655
3686
  * <p>A filter to match for the findings to return.</p>
3656
3687
  * @public
3657
3688
  */
3658
- filter?: Record<string, Criterion>;
3689
+ filter?: Record<string, Criterion> | undefined;
3659
3690
  /**
3660
3691
  * <p>The sort order for the findings returned.</p>
3661
3692
  * @public
3662
3693
  */
3663
- sort?: SortCriteria;
3694
+ sort?: SortCriteria | undefined;
3664
3695
  /**
3665
3696
  * <p>A token used for pagination of results returned.</p>
3666
3697
  * @public
3667
3698
  */
3668
- nextToken?: string;
3699
+ nextToken?: string | undefined;
3669
3700
  /**
3670
3701
  * <p>The maximum number of results to return in the response.</p>
3671
3702
  * @public
3672
3703
  */
3673
- maxResults?: number;
3704
+ maxResults?: number | undefined;
3674
3705
  }
3675
3706
  /**
3676
3707
  * <p>Contains information about a finding.</p>
@@ -3686,24 +3717,24 @@ export interface FindingSummary {
3686
3717
  * <p>The external principal that has access to a resource within the zone of trust.</p>
3687
3718
  * @public
3688
3719
  */
3689
- principal?: Record<string, string>;
3720
+ principal?: Record<string, string> | undefined;
3690
3721
  /**
3691
3722
  * <p>The action in the analyzed policy statement that an external principal has permission to
3692
3723
  * use.</p>
3693
3724
  * @public
3694
3725
  */
3695
- action?: string[];
3726
+ action?: string[] | undefined;
3696
3727
  /**
3697
3728
  * <p>The resource that the external principal has access to.</p>
3698
3729
  * @public
3699
3730
  */
3700
- resource?: string;
3731
+ resource?: string | undefined;
3701
3732
  /**
3702
3733
  * <p>Indicates whether the finding reports a resource that has a policy that allows public
3703
3734
  * access.</p>
3704
3735
  * @public
3705
3736
  */
3706
- isPublic?: boolean;
3737
+ isPublic?: boolean | undefined;
3707
3738
  /**
3708
3739
  * <p>The type of the resource that the external principal has access to.</p>
3709
3740
  * @public
@@ -3744,13 +3775,19 @@ export interface FindingSummary {
3744
3775
  * <p>The error that resulted in an Error finding.</p>
3745
3776
  * @public
3746
3777
  */
3747
- error?: string;
3778
+ error?: string | undefined;
3748
3779
  /**
3749
3780
  * <p>The sources of the finding. This indicates how the access that generated the finding is
3750
3781
  * granted. It is populated for Amazon S3 bucket findings.</p>
3751
3782
  * @public
3752
3783
  */
3753
- sources?: FindingSource[];
3784
+ sources?: FindingSource[] | undefined;
3785
+ /**
3786
+ * <p>The type of restriction applied to the finding by the resource owner with an Organizations
3787
+ * resource control policy (RCP).</p>
3788
+ * @public
3789
+ */
3790
+ resourceControlPolicyRestriction?: ResourceControlPolicyRestriction | undefined;
3754
3791
  }
3755
3792
  /**
3756
3793
  * <p>The response to the request.</p>
@@ -3767,7 +3804,7 @@ export interface ListFindingsResponse {
3767
3804
  * <p>A token used for pagination of results returned.</p>
3768
3805
  * @public
3769
3806
  */
3770
- nextToken?: string;
3807
+ nextToken?: string | undefined;
3771
3808
  }
3772
3809
  /**
3773
3810
  * @public
@@ -3783,22 +3820,22 @@ export interface ListFindingsV2Request {
3783
3820
  * <p>A filter to match for the findings to return.</p>
3784
3821
  * @public
3785
3822
  */
3786
- filter?: Record<string, Criterion>;
3823
+ filter?: Record<string, Criterion> | undefined;
3787
3824
  /**
3788
3825
  * <p>The maximum number of results to return in the response.</p>
3789
3826
  * @public
3790
3827
  */
3791
- maxResults?: number;
3828
+ maxResults?: number | undefined;
3792
3829
  /**
3793
3830
  * <p>A token used for pagination of results returned.</p>
3794
3831
  * @public
3795
3832
  */
3796
- nextToken?: string;
3833
+ nextToken?: string | undefined;
3797
3834
  /**
3798
3835
  * <p>The criteria used to sort.</p>
3799
3836
  * @public
3800
3837
  */
3801
- sort?: SortCriteria;
3838
+ sort?: SortCriteria | undefined;
3802
3839
  }
3803
3840
  /**
3804
3841
  * <p>Contains information about a finding.</p>
@@ -3820,7 +3857,7 @@ export interface FindingSummaryV2 {
3820
3857
  * <p>The error that resulted in an Error finding.</p>
3821
3858
  * @public
3822
3859
  */
3823
- error?: string;
3860
+ error?: string | undefined;
3824
3861
  /**
3825
3862
  * <p>The ID of the finding.</p>
3826
3863
  * @public
@@ -3830,7 +3867,7 @@ export interface FindingSummaryV2 {
3830
3867
  * <p>The resource that the external principal has access to.</p>
3831
3868
  * @public
3832
3869
  */
3833
- resource?: string;
3870
+ resource?: string | undefined;
3834
3871
  /**
3835
3872
  * <p>The type of the resource that the external principal has access to.</p>
3836
3873
  * @public
@@ -3855,7 +3892,7 @@ export interface FindingSummaryV2 {
3855
3892
  * <p>The type of the external access or unused access finding.</p>
3856
3893
  * @public
3857
3894
  */
3858
- findingType?: FindingType;
3895
+ findingType?: FindingType | undefined;
3859
3896
  }
3860
3897
  /**
3861
3898
  * @public
@@ -3871,7 +3908,7 @@ export interface ListFindingsV2Response {
3871
3908
  * <p>A token used for pagination of results returned.</p>
3872
3909
  * @public
3873
3910
  */
3874
- nextToken?: string;
3911
+ nextToken?: string | undefined;
3875
3912
  }
3876
3913
  /**
3877
3914
  * @public
@@ -3883,17 +3920,17 @@ export interface ListPolicyGenerationsRequest {
3883
3920
  * for a specific principal.</p>
3884
3921
  * @public
3885
3922
  */
3886
- principalArn?: string;
3923
+ principalArn?: string | undefined;
3887
3924
  /**
3888
3925
  * <p>The maximum number of results to return in the response.</p>
3889
3926
  * @public
3890
3927
  */
3891
- maxResults?: number;
3928
+ maxResults?: number | undefined;
3892
3929
  /**
3893
3930
  * <p>A token used for pagination of results returned.</p>
3894
3931
  * @public
3895
3932
  */
3896
- nextToken?: string;
3933
+ nextToken?: string | undefined;
3897
3934
  }
3898
3935
  /**
3899
3936
  * <p>Contains details about the policy generation status and properties.</p>
@@ -3927,7 +3964,7 @@ export interface PolicyGeneration {
3927
3964
  * <p>A timestamp of when the policy generation was completed.</p>
3928
3965
  * @public
3929
3966
  */
3930
- completedOn?: Date;
3967
+ completedOn?: Date | undefined;
3931
3968
  }
3932
3969
  /**
3933
3970
  * @public
@@ -3943,7 +3980,7 @@ export interface ListPolicyGenerationsResponse {
3943
3980
  * <p>A token used for pagination of results returned.</p>
3944
3981
  * @public
3945
3982
  */
3946
- nextToken?: string;
3983
+ nextToken?: string | undefined;
3947
3984
  }
3948
3985
  /**
3949
3986
  * <p>Retrieves a list of tags applied to the specified resource.</p>
@@ -3965,7 +4002,7 @@ export interface ListTagsForResourceResponse {
3965
4002
  * <p>The tags that are applied to the specified resource.</p>
3966
4003
  * @public
3967
4004
  */
3968
- tags?: Record<string, string>;
4005
+ tags?: Record<string, string> | undefined;
3969
4006
  }
3970
4007
  /**
3971
4008
  * <p>Contains details about the CloudTrail trail being analyzed to generate a policy.</p>
@@ -3982,14 +4019,14 @@ export interface Trail {
3982
4019
  * <p>A list of regions to get CloudTrail data from and analyze to generate a policy.</p>
3983
4020
  * @public
3984
4021
  */
3985
- regions?: string[];
4022
+ regions?: string[] | undefined;
3986
4023
  /**
3987
4024
  * <p>Possible values are <code>true</code> or <code>false</code>. If set to
3988
4025
  * <code>true</code>, IAM Access Analyzer retrieves CloudTrail data from all regions to analyze and
3989
4026
  * generate a policy.</p>
3990
4027
  * @public
3991
4028
  */
3992
- allRegions?: boolean;
4029
+ allRegions?: boolean | undefined;
3993
4030
  }
3994
4031
  /**
3995
4032
  * <p>Contains information about CloudTrail access.</p>
@@ -4019,7 +4056,7 @@ export interface CloudTrailDetails {
4019
4056
  * included in the request, the default value is the current time.</p>
4020
4057
  * @public
4021
4058
  */
4022
- endTime?: Date;
4059
+ endTime?: Date | undefined;
4023
4060
  }
4024
4061
  /**
4025
4062
  * <p>Contains the ARN details about the IAM entity for which the policy is
@@ -4048,7 +4085,7 @@ export interface StartPolicyGenerationRequest {
4048
4085
  * that you want to analyze to generate policies.</p>
4049
4086
  * @public
4050
4087
  */
4051
- cloudTrailDetails?: CloudTrailDetails;
4088
+ cloudTrailDetails?: CloudTrailDetails | undefined;
4052
4089
  /**
4053
4090
  * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the
4054
4091
  * request. Idempotency ensures that an API request completes only once. With an idempotent
@@ -4059,7 +4096,7 @@ export interface StartPolicyGenerationRequest {
4059
4096
  * SDK.</p>
4060
4097
  * @public
4061
4098
  */
4062
- clientToken?: string;
4099
+ clientToken?: string | undefined;
4063
4100
  }
4064
4101
  /**
4065
4102
  * @public
@@ -4096,7 +4133,7 @@ export interface StartResourceScanRequest {
4096
4133
  * account is the account in which the resource was created.</p>
4097
4134
  * @public
4098
4135
  */
4099
- resourceOwnerAccount?: string;
4136
+ resourceOwnerAccount?: string | undefined;
4100
4137
  }
4101
4138
  /**
4102
4139
  * <p>Adds a tag to the specified resource.</p>
@@ -4168,17 +4205,17 @@ export interface UpdateFindingsRequest {
4168
4205
  * <p>The IDs of the findings to update.</p>
4169
4206
  * @public
4170
4207
  */
4171
- ids?: string[];
4208
+ ids?: string[] | undefined;
4172
4209
  /**
4173
4210
  * <p>The ARN of the resource identified in the finding.</p>
4174
4211
  * @public
4175
4212
  */
4176
- resourceArn?: string;
4213
+ resourceArn?: string | undefined;
4177
4214
  /**
4178
4215
  * <p>A client token.</p>
4179
4216
  * @public
4180
4217
  */
4181
- clientToken?: string;
4218
+ clientToken?: string | undefined;
4182
4219
  }
4183
4220
  /**
4184
4221
  * @public
@@ -4206,6 +4243,7 @@ export type Locale = (typeof Locale)[keyof typeof Locale];
4206
4243
  */
4207
4244
  export declare const PolicyType: {
4208
4245
  readonly IDENTITY_POLICY: "IDENTITY_POLICY";
4246
+ readonly RESOURCE_CONTROL_POLICY: "RESOURCE_CONTROL_POLICY";
4209
4247
  readonly RESOURCE_POLICY: "RESOURCE_POLICY";
4210
4248
  readonly SERVICE_CONTROL_POLICY: "SERVICE_CONTROL_POLICY";
4211
4249
  };
@@ -4237,17 +4275,17 @@ export interface ValidatePolicyRequest {
4237
4275
  * <p>The locale to use for localizing the findings.</p>
4238
4276
  * @public
4239
4277
  */
4240
- locale?: Locale;
4278
+ locale?: Locale | undefined;
4241
4279
  /**
4242
4280
  * <p>The maximum number of results to return in the response.</p>
4243
4281
  * @public
4244
4282
  */
4245
- maxResults?: number;
4283
+ maxResults?: number | undefined;
4246
4284
  /**
4247
4285
  * <p>A token used for pagination of results returned.</p>
4248
4286
  * @public
4249
4287
  */
4250
- nextToken?: string;
4288
+ nextToken?: string | undefined;
4251
4289
  /**
4252
4290
  * <p>The JSON policy document to use as the content for the policy.</p>
4253
4291
  * @public
@@ -4277,7 +4315,7 @@ export interface ValidatePolicyRequest {
4277
4315
  * will run policy checks that apply to all resource policies.</p>
4278
4316
  * @public
4279
4317
  */
4280
- validatePolicyResourceType?: ValidatePolicyResourceType;
4318
+ validatePolicyResourceType?: ValidatePolicyResourceType | undefined;
4281
4319
  }
4282
4320
  /**
4283
4321
  * @public
@@ -4491,7 +4529,7 @@ export interface ValidatePolicyResponse {
4491
4529
  * <p>A token used for pagination of results returned.</p>
4492
4530
  * @public
4493
4531
  */
4494
- nextToken?: string;
4532
+ nextToken?: string | undefined;
4495
4533
  }
4496
4534
  /**
4497
4535
  * @internal