aws-resource-validator-accessanalyzer 2.0.0__py3-none-any.whl

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,1327 @@
1
+ # This file is auto-generated by aws_resource_validator.generator.pipeline_b.
2
+ # Do not edit manually; run `arv-generate pipeline-b` to refresh it.
3
+ from datetime import datetime
4
+ from decimal import Decimal
5
+ from typing import (
6
+ Any,
7
+ Callable,
8
+ Dict,
9
+ FrozenSet,
10
+ IO,
11
+ List,
12
+ Literal,
13
+ Mapping,
14
+ Optional,
15
+ Sequence,
16
+ Set,
17
+ Tuple,
18
+ Type,
19
+ Union,
20
+ )
21
+
22
+ from botocore.client import BaseClient
23
+ from botocore.response import StreamingBody
24
+ from pydantic import Field
25
+
26
+ from aws_resource_validator.core.base_validator_model import BaseValidatorModel, EventStream
27
+ from aws_resource_validator.pydantic_models.accessanalyzer.accessanalyzer_constants import * # noqa: F401,F403
28
+
29
+ # Optional boto3 symbols — imported lazily so services that don't need them
30
+ # aren't forced to pull in boto3 at import time.
31
+ try:
32
+ from boto3.dynamodb.conditions import ConditionBase # noqa: F401
33
+ except ImportError: # pragma: no cover
34
+ ConditionBase = Any # type: ignore[assignment,misc]
35
+ try:
36
+ from boto3.s3.transfer import TransferConfig # noqa: F401
37
+ except ImportError: # pragma: no cover
38
+ TransferConfig = Any # type: ignore[assignment,misc]
39
+
40
+
41
+ class AccessPreviewStatusReasonTypeDef(BaseValidatorModel):
42
+ code: AccessPreviewStatusReasonCodeType
43
+
44
+
45
+ class AccessTypeDef(BaseValidatorModel):
46
+ actions: Optional[List[str]] = None
47
+ resources: Optional[List[str]] = None
48
+
49
+
50
+ class AclGranteeTypeDef(BaseValidatorModel):
51
+ id: Optional[str] = None
52
+ uri: Optional[str] = None
53
+
54
+
55
+ class AnalysisRuleCriteriaOutputTypeDef(BaseValidatorModel):
56
+ accountIds: Optional[List[str]] = None
57
+ resourceTags: Optional[List[Dict[str, str]]] = None
58
+
59
+
60
+ class AnalysisRuleCriteriaTypeDef(BaseValidatorModel):
61
+ accountIds: Optional[List[str]] = None
62
+ resourceTags: Optional[List[Dict[str, str]]] = None
63
+
64
+
65
+ class AnalyzedResourceSummaryTypeDef(BaseValidatorModel):
66
+ resourceArn: str
67
+ resourceOwnerAccount: str
68
+ resourceType: ResourceTypeType
69
+
70
+
71
+ class AnalyzedResourceTypeDef(BaseValidatorModel):
72
+ resourceArn: str
73
+ resourceType: ResourceTypeType
74
+ createdAt: datetime
75
+ analyzedAt: datetime
76
+ updatedAt: datetime
77
+ isPublic: bool
78
+ resourceOwnerAccount: str
79
+ actions: Optional[List[str]] = None
80
+ sharedVia: Optional[List[str]] = None
81
+ status: Optional[FindingStatusType] = None
82
+ error: Optional[str] = None
83
+
84
+
85
+ class StatusReasonTypeDef(BaseValidatorModel):
86
+ code: ReasonCodeType
87
+
88
+
89
+ # This class is the input for the 'apply_archive_rule' function.
90
+ class ApplyArchiveRuleRequestTypeDef(BaseValidatorModel):
91
+ analyzerArn: str
92
+ ruleName: str
93
+ clientToken: Optional[str] = None
94
+
95
+
96
+ class CriterionOutputTypeDef(BaseValidatorModel):
97
+ eq: Optional[List[str]] = None
98
+ neq: Optional[List[str]] = None
99
+ contains: Optional[List[str]] = None
100
+ exists: Optional[bool] = None
101
+
102
+
103
+ class CancelPolicyGenerationRequestTypeDef(BaseValidatorModel):
104
+ jobId: str
105
+
106
+
107
+ class ReasonSummaryTypeDef(BaseValidatorModel):
108
+ description: Optional[str] = None
109
+ statementIndex: Optional[int] = None
110
+ statementId: Optional[str] = None
111
+
112
+
113
+ class ResponseMetadataTypeDef(BaseValidatorModel):
114
+ RequestId: str
115
+ HTTPStatusCode: int
116
+ HTTPHeaders: Dict[str, str]
117
+ RetryAttempts: int
118
+ HostId: Optional[str] = None
119
+
120
+
121
+ # This class is the input for the 'check_no_new_access' function.
122
+ class CheckNoNewAccessRequestTypeDef(BaseValidatorModel):
123
+ newPolicyDocument: str
124
+ existingPolicyDocument: str
125
+ policyType: AccessCheckPolicyTypeType
126
+
127
+
128
+ # This class is the input for the 'check_no_public_access' function.
129
+ class CheckNoPublicAccessRequestTypeDef(BaseValidatorModel):
130
+ policyDocument: str
131
+ resourceType: AccessCheckResourceTypeType
132
+
133
+
134
+ TimestampTypeDef = Union[datetime, str]
135
+
136
+
137
+ class TrailTypeDef(BaseValidatorModel):
138
+ cloudTrailArn: str
139
+ regions: Optional[List[str]] = None
140
+ allRegions: Optional[bool] = None
141
+
142
+
143
+ class TrailPropertiesTypeDef(BaseValidatorModel):
144
+ cloudTrailArn: str
145
+ regions: Optional[List[str]] = None
146
+ allRegions: Optional[bool] = None
147
+
148
+
149
+ class DynamodbStreamConfigurationTypeDef(BaseValidatorModel):
150
+ streamPolicy: Optional[str] = None
151
+
152
+
153
+ class DynamodbTableConfigurationTypeDef(BaseValidatorModel):
154
+ tablePolicy: Optional[str] = None
155
+
156
+
157
+ class EbsSnapshotConfigurationOutputTypeDef(BaseValidatorModel):
158
+ userIds: Optional[List[str]] = None
159
+ groups: Optional[List[str]] = None
160
+ kmsKeyId: Optional[str] = None
161
+
162
+
163
+ class EcrRepositoryConfigurationTypeDef(BaseValidatorModel):
164
+ repositoryPolicy: Optional[str] = None
165
+
166
+
167
+ class EfsFileSystemConfigurationTypeDef(BaseValidatorModel):
168
+ fileSystemPolicy: Optional[str] = None
169
+
170
+
171
+ class IamRoleConfigurationTypeDef(BaseValidatorModel):
172
+ trustPolicy: Optional[str] = None
173
+
174
+
175
+ class SecretsManagerSecretConfigurationTypeDef(BaseValidatorModel):
176
+ kmsKeyId: Optional[str] = None
177
+ secretPolicy: Optional[str] = None
178
+
179
+
180
+ class SnsTopicConfigurationTypeDef(BaseValidatorModel):
181
+ topicPolicy: Optional[str] = None
182
+
183
+
184
+ class SqsQueueConfigurationTypeDef(BaseValidatorModel):
185
+ queuePolicy: Optional[str] = None
186
+
187
+
188
+ class CriterionTypeDef(BaseValidatorModel):
189
+ eq: Optional[List[str]] = None
190
+ neq: Optional[List[str]] = None
191
+ contains: Optional[List[str]] = None
192
+ exists: Optional[bool] = None
193
+
194
+
195
+ # This class is the input for the 'delete_analyzer' function.
196
+ class DeleteAnalyzerRequestTypeDef(BaseValidatorModel):
197
+ analyzerName: str
198
+ clientToken: Optional[str] = None
199
+
200
+
201
+ # This class is the input for the 'delete_archive_rule' function.
202
+ class DeleteArchiveRuleRequestTypeDef(BaseValidatorModel):
203
+ analyzerName: str
204
+ ruleName: str
205
+ clientToken: Optional[str] = None
206
+
207
+
208
+ class EbsSnapshotConfigurationTypeDef(BaseValidatorModel):
209
+ userIds: Optional[List[str]] = None
210
+ groups: Optional[List[str]] = None
211
+ kmsKeyId: Optional[str] = None
212
+
213
+
214
+ class ResourceTypeDetailsTypeDef(BaseValidatorModel):
215
+ totalActivePublic: Optional[int] = None
216
+ totalActiveCrossAccount: Optional[int] = None
217
+ totalActiveErrors: Optional[int] = None
218
+
219
+
220
+ class FindingAggregationAccountDetailsTypeDef(BaseValidatorModel):
221
+ account: Optional[str] = None
222
+ numberOfActiveFindings: Optional[int] = None
223
+ details: Optional[Dict[str, int]] = None
224
+
225
+
226
+ class UnusedIamRoleDetailsTypeDef(BaseValidatorModel):
227
+ lastAccessed: Optional[datetime] = None
228
+
229
+
230
+ class UnusedIamUserAccessKeyDetailsTypeDef(BaseValidatorModel):
231
+ accessKeyId: str
232
+ lastAccessed: Optional[datetime] = None
233
+
234
+
235
+ class UnusedIamUserPasswordDetailsTypeDef(BaseValidatorModel):
236
+ lastAccessed: Optional[datetime] = None
237
+
238
+
239
+ class FindingSourceDetailTypeDef(BaseValidatorModel):
240
+ accessPointArn: Optional[str] = None
241
+ accessPointAccount: Optional[str] = None
242
+
243
+
244
+ class FindingSummaryV2TypeDef(BaseValidatorModel):
245
+ analyzedAt: datetime
246
+ createdAt: datetime
247
+ id: str
248
+ resourceType: ResourceTypeType
249
+ resourceOwnerAccount: str
250
+ status: FindingStatusType
251
+ updatedAt: datetime
252
+ error: Optional[str] = None
253
+ resource: Optional[str] = None
254
+ findingType: Optional[FindingTypeType] = None
255
+
256
+
257
+ # This class is the input for the 'generate_finding_recommendation' function.
258
+ class GenerateFindingRecommendationRequestTypeDef(BaseValidatorModel):
259
+ analyzerArn: str
260
+ id: str
261
+
262
+
263
+ class GeneratedPolicyTypeDef(BaseValidatorModel):
264
+ policy: str
265
+
266
+
267
+ # This class is the input for the 'get_access_preview' function.
268
+ class GetAccessPreviewRequestTypeDef(BaseValidatorModel):
269
+ accessPreviewId: str
270
+ analyzerArn: str
271
+
272
+
273
+ # This class is the input for the 'get_analyzed_resource' function.
274
+ class GetAnalyzedResourceRequestTypeDef(BaseValidatorModel):
275
+ analyzerArn: str
276
+ resourceArn: str
277
+
278
+
279
+ # This class is the input for the 'get_analyzer' function.
280
+ class GetAnalyzerRequestTypeDef(BaseValidatorModel):
281
+ analyzerName: str
282
+
283
+
284
+ # This class is the input for the 'get_archive_rule' function.
285
+ class GetArchiveRuleRequestTypeDef(BaseValidatorModel):
286
+ analyzerName: str
287
+ ruleName: str
288
+
289
+
290
+ class PaginatorConfigTypeDef(BaseValidatorModel):
291
+ MaxItems: Optional[int] = None
292
+ PageSize: Optional[int] = None
293
+ StartingToken: Optional[str] = None
294
+
295
+
296
+ # This class is the input for the 'get_finding_recommendation' function.
297
+ class GetFindingRecommendationRequestTypeDef(BaseValidatorModel):
298
+ analyzerArn: str
299
+ id: str
300
+ maxResults: Optional[int] = None
301
+ nextToken: Optional[str] = None
302
+
303
+
304
+ class RecommendationErrorTypeDef(BaseValidatorModel):
305
+ code: str
306
+ message: str
307
+
308
+
309
+ # This class is the input for the 'get_finding' function.
310
+ class GetFindingRequestTypeDef(BaseValidatorModel):
311
+ analyzerArn: str
312
+ id: str
313
+
314
+
315
+ # This class is the input for the 'get_finding_v2' function.
316
+ class GetFindingV2RequestTypeDef(BaseValidatorModel):
317
+ analyzerArn: str
318
+ id: str
319
+ maxResults: Optional[int] = None
320
+ nextToken: Optional[str] = None
321
+
322
+
323
+ # This class is the input for the 'get_findings_statistics' function.
324
+ class GetFindingsStatisticsRequestTypeDef(BaseValidatorModel):
325
+ analyzerArn: str
326
+
327
+
328
+ # This class is the input for the 'get_generated_policy' function.
329
+ class GetGeneratedPolicyRequestTypeDef(BaseValidatorModel):
330
+ jobId: str
331
+ includeResourcePlaceholders: Optional[bool] = None
332
+ includeServiceLevelTemplate: Optional[bool] = None
333
+
334
+
335
+ class InternalAccessAnalysisRuleCriteriaOutputTypeDef(BaseValidatorModel):
336
+ accountIds: Optional[List[str]] = None
337
+ resourceTypes: Optional[List[ResourceTypeType]] = None
338
+ resourceArns: Optional[List[str]] = None
339
+
340
+
341
+ class InternalAccessAnalysisRuleCriteriaTypeDef(BaseValidatorModel):
342
+ accountIds: Optional[List[str]] = None
343
+ resourceTypes: Optional[List[ResourceTypeType]] = None
344
+ resourceArns: Optional[List[str]] = None
345
+
346
+
347
+ class InternalAccessResourceTypeDetailsTypeDef(BaseValidatorModel):
348
+ totalActiveFindings: Optional[int] = None
349
+ totalResolvedFindings: Optional[int] = None
350
+ totalArchivedFindings: Optional[int] = None
351
+
352
+
353
+ class JobErrorTypeDef(BaseValidatorModel):
354
+ code: JobErrorCodeType
355
+ message: str
356
+
357
+
358
+ class KmsGrantConstraintsOutputTypeDef(BaseValidatorModel):
359
+ encryptionContextEquals: Optional[Dict[str, str]] = None
360
+ encryptionContextSubset: Optional[Dict[str, str]] = None
361
+
362
+
363
+ class KmsGrantConstraintsTypeDef(BaseValidatorModel):
364
+ encryptionContextEquals: Optional[Dict[str, str]] = None
365
+ encryptionContextSubset: Optional[Dict[str, str]] = None
366
+
367
+
368
+ # This class is the input for the 'list_access_previews' function.
369
+ class ListAccessPreviewsRequestTypeDef(BaseValidatorModel):
370
+ analyzerArn: str
371
+ nextToken: Optional[str] = None
372
+ maxResults: Optional[int] = None
373
+
374
+
375
+ # This class is the input for the 'list_analyzed_resources' function.
376
+ class ListAnalyzedResourcesRequestTypeDef(BaseValidatorModel):
377
+ analyzerArn: str
378
+ resourceType: Optional[ResourceTypeType] = None
379
+ nextToken: Optional[str] = None
380
+ maxResults: Optional[int] = None
381
+
382
+
383
+ # This class is the input for the 'list_analyzers' function.
384
+ class ListAnalyzersRequestTypeDef(BaseValidatorModel):
385
+ nextToken: Optional[str] = None
386
+ maxResults: Optional[int] = None
387
+ type: Optional[TypeType] = None
388
+
389
+
390
+ # This class is the input for the 'list_archive_rules' function.
391
+ class ListArchiveRulesRequestTypeDef(BaseValidatorModel):
392
+ analyzerName: str
393
+ nextToken: Optional[str] = None
394
+ maxResults: Optional[int] = None
395
+
396
+
397
+ class SortCriteriaTypeDef(BaseValidatorModel):
398
+ attributeName: Optional[str] = None
399
+ orderBy: Optional[OrderByType] = None
400
+
401
+
402
+ # This class is the input for the 'list_policy_generations' function.
403
+ class ListPolicyGenerationsRequestTypeDef(BaseValidatorModel):
404
+ principalArn: Optional[str] = None
405
+ maxResults: Optional[int] = None
406
+ nextToken: Optional[str] = None
407
+
408
+
409
+ class PolicyGenerationTypeDef(BaseValidatorModel):
410
+ jobId: str
411
+ principalArn: str
412
+ status: JobStatusType
413
+ startedOn: datetime
414
+ completedOn: Optional[datetime] = None
415
+
416
+
417
+ # This class is the input for the 'list_tags_for_resource' function.
418
+ class ListTagsForResourceRequestTypeDef(BaseValidatorModel):
419
+ resourceArn: str
420
+
421
+
422
+ class VpcConfigurationTypeDef(BaseValidatorModel):
423
+ vpcId: str
424
+
425
+
426
+ class SubstringTypeDef(BaseValidatorModel):
427
+ start: int
428
+ length: int
429
+
430
+
431
+ class PolicyGenerationDetailsTypeDef(BaseValidatorModel):
432
+ principalArn: str
433
+
434
+
435
+ class PositionTypeDef(BaseValidatorModel):
436
+ line: int
437
+ column: int
438
+ offset: int
439
+
440
+
441
+ class RdsDbClusterSnapshotAttributeValueOutputTypeDef(BaseValidatorModel):
442
+ accountIds: Optional[List[str]] = None
443
+
444
+
445
+ class RdsDbClusterSnapshotAttributeValueTypeDef(BaseValidatorModel):
446
+ accountIds: Optional[List[str]] = None
447
+
448
+
449
+ class RdsDbSnapshotAttributeValueOutputTypeDef(BaseValidatorModel):
450
+ accountIds: Optional[List[str]] = None
451
+
452
+
453
+ class RdsDbSnapshotAttributeValueTypeDef(BaseValidatorModel):
454
+ accountIds: Optional[List[str]] = None
455
+
456
+
457
+ class UnusedPermissionsRecommendedStepTypeDef(BaseValidatorModel):
458
+ recommendedAction: RecommendedRemediationActionType
459
+ policyUpdatedAt: Optional[datetime] = None
460
+ recommendedPolicy: Optional[str] = None
461
+ existingPolicyId: Optional[str] = None
462
+
463
+
464
+ class S3PublicAccessBlockConfigurationTypeDef(BaseValidatorModel):
465
+ ignorePublicAcls: bool
466
+ restrictPublicBuckets: bool
467
+
468
+
469
+ # This class is the input for the 'start_resource_scan' function.
470
+ class StartResourceScanRequestTypeDef(BaseValidatorModel):
471
+ analyzerArn: str
472
+ resourceArn: str
473
+ resourceOwnerAccount: Optional[str] = None
474
+
475
+
476
+ class TagResourceRequestTypeDef(BaseValidatorModel):
477
+ resourceArn: str
478
+ tags: Dict[str, str]
479
+
480
+
481
+ class UntagResourceRequestTypeDef(BaseValidatorModel):
482
+ resourceArn: str
483
+ tagKeys: List[str]
484
+
485
+
486
+ class UnusedAccessTypeStatisticsTypeDef(BaseValidatorModel):
487
+ unusedAccessType: Optional[str] = None
488
+ total: Optional[int] = None
489
+
490
+
491
+ class UnusedActionTypeDef(BaseValidatorModel):
492
+ action: str
493
+ lastAccessed: Optional[datetime] = None
494
+
495
+
496
+ # This class is the input for the 'update_findings' function.
497
+ class UpdateFindingsRequestTypeDef(BaseValidatorModel):
498
+ analyzerArn: str
499
+ status: FindingStatusUpdateType
500
+ ids: Optional[List[str]] = None
501
+ resourceArn: Optional[str] = None
502
+ clientToken: Optional[str] = None
503
+
504
+
505
+ # This class is the input for the 'validate_policy' function.
506
+ class ValidatePolicyRequestTypeDef(BaseValidatorModel):
507
+ policyDocument: str
508
+ policyType: PolicyTypeType
509
+ locale: Optional[LocaleType] = None
510
+ maxResults: Optional[int] = None
511
+ nextToken: Optional[str] = None
512
+ validatePolicyResourceType: Optional[ValidatePolicyResourceTypeType] = None
513
+
514
+
515
+ class AccessPreviewSummaryTypeDef(BaseValidatorModel):
516
+ id: str
517
+ analyzerArn: str
518
+ createdAt: datetime
519
+ status: AccessPreviewStatusType
520
+ statusReason: Optional[AccessPreviewStatusReasonTypeDef] = None
521
+
522
+
523
+ # This class is the input for the 'check_access_not_granted' function.
524
+ class CheckAccessNotGrantedRequestTypeDef(BaseValidatorModel):
525
+ policyDocument: str
526
+ access: List[AccessTypeDef]
527
+ policyType: AccessCheckPolicyTypeType
528
+
529
+
530
+ class S3BucketAclGrantConfigurationTypeDef(BaseValidatorModel):
531
+ permission: AclPermissionType
532
+ grantee: AclGranteeTypeDef
533
+
534
+
535
+ class AnalysisRuleOutputTypeDef(BaseValidatorModel):
536
+ exclusions: Optional[List[AnalysisRuleCriteriaOutputTypeDef]] = None
537
+
538
+
539
+ class AnalysisRuleTypeDef(BaseValidatorModel):
540
+ exclusions: Optional[List[AnalysisRuleCriteriaTypeDef]] = None
541
+
542
+
543
+ class ArchiveRuleSummaryTypeDef(BaseValidatorModel):
544
+ ruleName: str
545
+ filter: Dict[str, CriterionOutputTypeDef]
546
+ createdAt: datetime
547
+ updatedAt: datetime
548
+
549
+
550
+ # This class is the output for the 'check_access_not_granted' function.
551
+ class CheckAccessNotGrantedResponseTypeDef(BaseValidatorModel):
552
+ result: CheckAccessNotGrantedResultType
553
+ message: str
554
+ reasons: List[ReasonSummaryTypeDef]
555
+ ResponseMetadata: ResponseMetadataTypeDef
556
+
557
+
558
+ # This class is the output for the 'check_no_new_access' function.
559
+ class CheckNoNewAccessResponseTypeDef(BaseValidatorModel):
560
+ result: CheckNoNewAccessResultType
561
+ message: str
562
+ reasons: List[ReasonSummaryTypeDef]
563
+ ResponseMetadata: ResponseMetadataTypeDef
564
+
565
+
566
+ # This class is the output for the 'check_no_public_access' function.
567
+ class CheckNoPublicAccessResponseTypeDef(BaseValidatorModel):
568
+ result: CheckNoPublicAccessResultType
569
+ message: str
570
+ reasons: List[ReasonSummaryTypeDef]
571
+ ResponseMetadata: ResponseMetadataTypeDef
572
+
573
+
574
+ # This class is the output for the 'create_access_preview' function.
575
+ class CreateAccessPreviewResponseTypeDef(BaseValidatorModel):
576
+ id: str
577
+ ResponseMetadata: ResponseMetadataTypeDef
578
+
579
+
580
+ # This class is the output for the 'create_analyzer' function.
581
+ class CreateAnalyzerResponseTypeDef(BaseValidatorModel):
582
+ arn: str
583
+ ResponseMetadata: ResponseMetadataTypeDef
584
+
585
+
586
+ # This class is the output for the 'apply_archive_rule' function.
587
+ class EmptyResponseMetadataTypeDef(BaseValidatorModel):
588
+ ResponseMetadata: ResponseMetadataTypeDef
589
+
590
+
591
+ # This class is the output for the 'get_analyzed_resource' function.
592
+ class GetAnalyzedResourceResponseTypeDef(BaseValidatorModel):
593
+ resource: AnalyzedResourceTypeDef
594
+ ResponseMetadata: ResponseMetadataTypeDef
595
+
596
+
597
+ # This class is the output for the 'list_analyzed_resources' function.
598
+ class ListAnalyzedResourcesResponseTypeDef(BaseValidatorModel):
599
+ analyzedResources: List[AnalyzedResourceSummaryTypeDef]
600
+ ResponseMetadata: ResponseMetadataTypeDef
601
+ nextToken: Optional[str] = None
602
+
603
+
604
+ # This class is the output for the 'list_tags_for_resource' function.
605
+ class ListTagsForResourceResponseTypeDef(BaseValidatorModel):
606
+ tags: Dict[str, str]
607
+ ResponseMetadata: ResponseMetadataTypeDef
608
+
609
+
610
+ # This class is the output for the 'start_policy_generation' function.
611
+ class StartPolicyGenerationResponseTypeDef(BaseValidatorModel):
612
+ jobId: str
613
+ ResponseMetadata: ResponseMetadataTypeDef
614
+
615
+
616
+ class CloudTrailDetailsTypeDef(BaseValidatorModel):
617
+ trails: List[TrailTypeDef]
618
+ accessRole: str
619
+ startTime: TimestampTypeDef
620
+ endTime: Optional[TimestampTypeDef] = None
621
+
622
+
623
+ class CloudTrailPropertiesTypeDef(BaseValidatorModel):
624
+ trailProperties: List[TrailPropertiesTypeDef]
625
+ startTime: datetime
626
+ endTime: datetime
627
+
628
+
629
+ CriterionUnionTypeDef = Union[CriterionOutputTypeDef, CriterionTypeDef]
630
+
631
+ EbsSnapshotConfigurationUnionTypeDef = Union[EbsSnapshotConfigurationOutputTypeDef, EbsSnapshotConfigurationTypeDef]
632
+
633
+
634
+ class ExternalAccessFindingsStatisticsTypeDef(BaseValidatorModel):
635
+ resourceTypeStatistics: Optional[Dict[ResourceTypeType, ResourceTypeDetailsTypeDef]] = None
636
+ totalActiveFindings: Optional[int] = None
637
+ totalArchivedFindings: Optional[int] = None
638
+ totalResolvedFindings: Optional[int] = None
639
+
640
+
641
+ class FindingSourceTypeDef(BaseValidatorModel):
642
+ type: FindingSourceTypeType
643
+ detail: Optional[FindingSourceDetailTypeDef] = None
644
+
645
+
646
+ # This class is the output for the 'list_findings_v2' function.
647
+ class ListFindingsV2ResponseTypeDef(BaseValidatorModel):
648
+ findings: List[FindingSummaryV2TypeDef]
649
+ ResponseMetadata: ResponseMetadataTypeDef
650
+ nextToken: Optional[str] = None
651
+
652
+
653
+ class GetFindingRecommendationRequestPaginateTypeDef(BaseValidatorModel):
654
+ analyzerArn: str
655
+ id: str
656
+ PaginationConfig: Optional[PaginatorConfigTypeDef] = None
657
+
658
+
659
+ class GetFindingV2RequestPaginateTypeDef(BaseValidatorModel):
660
+ analyzerArn: str
661
+ id: str
662
+ PaginationConfig: Optional[PaginatorConfigTypeDef] = None
663
+
664
+
665
+ class ListAccessPreviewsRequestPaginateTypeDef(BaseValidatorModel):
666
+ analyzerArn: str
667
+ PaginationConfig: Optional[PaginatorConfigTypeDef] = None
668
+
669
+
670
+ class ListAnalyzedResourcesRequestPaginateTypeDef(BaseValidatorModel):
671
+ analyzerArn: str
672
+ resourceType: Optional[ResourceTypeType] = None
673
+ PaginationConfig: Optional[PaginatorConfigTypeDef] = None
674
+
675
+
676
+ class ListAnalyzersRequestPaginateTypeDef(BaseValidatorModel):
677
+ type: Optional[TypeType] = None
678
+ PaginationConfig: Optional[PaginatorConfigTypeDef] = None
679
+
680
+
681
+ class ListArchiveRulesRequestPaginateTypeDef(BaseValidatorModel):
682
+ analyzerName: str
683
+ PaginationConfig: Optional[PaginatorConfigTypeDef] = None
684
+
685
+
686
+ class ListPolicyGenerationsRequestPaginateTypeDef(BaseValidatorModel):
687
+ principalArn: Optional[str] = None
688
+ PaginationConfig: Optional[PaginatorConfigTypeDef] = None
689
+
690
+
691
+ class ValidatePolicyRequestPaginateTypeDef(BaseValidatorModel):
692
+ policyDocument: str
693
+ policyType: PolicyTypeType
694
+ locale: Optional[LocaleType] = None
695
+ validatePolicyResourceType: Optional[ValidatePolicyResourceTypeType] = None
696
+ PaginationConfig: Optional[PaginatorConfigTypeDef] = None
697
+
698
+
699
+ class InternalAccessAnalysisRuleOutputTypeDef(BaseValidatorModel):
700
+ inclusions: Optional[List[InternalAccessAnalysisRuleCriteriaOutputTypeDef]] = None
701
+
702
+
703
+ class InternalAccessAnalysisRuleTypeDef(BaseValidatorModel):
704
+ inclusions: Optional[List[InternalAccessAnalysisRuleCriteriaTypeDef]] = None
705
+
706
+
707
+ class InternalAccessFindingsStatisticsTypeDef(BaseValidatorModel):
708
+ resourceTypeStatistics: Optional[Dict[ResourceTypeType, InternalAccessResourceTypeDetailsTypeDef]] = None
709
+ totalActiveFindings: Optional[int] = None
710
+ totalArchivedFindings: Optional[int] = None
711
+ totalResolvedFindings: Optional[int] = None
712
+
713
+
714
+ class JobDetailsTypeDef(BaseValidatorModel):
715
+ jobId: str
716
+ status: JobStatusType
717
+ startedOn: datetime
718
+ completedOn: Optional[datetime] = None
719
+ jobError: Optional[JobErrorTypeDef] = None
720
+
721
+
722
+ class KmsGrantConfigurationOutputTypeDef(BaseValidatorModel):
723
+ operations: List[KmsGrantOperationType]
724
+ granteePrincipal: str
725
+ issuingAccount: str
726
+ retiringPrincipal: Optional[str] = None
727
+ constraints: Optional[KmsGrantConstraintsOutputTypeDef] = None
728
+
729
+
730
+ KmsGrantConstraintsUnionTypeDef = Union[KmsGrantConstraintsOutputTypeDef, KmsGrantConstraintsTypeDef]
731
+
732
+
733
+ # This class is the output for the 'list_policy_generations' function.
734
+ class ListPolicyGenerationsResponseTypeDef(BaseValidatorModel):
735
+ policyGenerations: List[PolicyGenerationTypeDef]
736
+ ResponseMetadata: ResponseMetadataTypeDef
737
+ nextToken: Optional[str] = None
738
+
739
+
740
+ class NetworkOriginConfigurationOutputTypeDef(BaseValidatorModel):
741
+ vpcConfiguration: Optional[VpcConfigurationTypeDef] = None
742
+ internetConfiguration: Optional[Dict[str, Any]] = None
743
+
744
+
745
+ class NetworkOriginConfigurationTypeDef(BaseValidatorModel):
746
+ vpcConfiguration: Optional[VpcConfigurationTypeDef] = None
747
+ internetConfiguration: Optional[Dict[str, Any]] = None
748
+
749
+
750
+ class PathElementTypeDef(BaseValidatorModel):
751
+ index: Optional[int] = None
752
+ key: Optional[str] = None
753
+ substring: Optional[SubstringTypeDef] = None
754
+ value: Optional[str] = None
755
+
756
+
757
+ class SpanTypeDef(BaseValidatorModel):
758
+ start: PositionTypeDef
759
+ end: PositionTypeDef
760
+
761
+
762
+ class RdsDbClusterSnapshotConfigurationOutputTypeDef(BaseValidatorModel):
763
+ attributes: Optional[Dict[str, RdsDbClusterSnapshotAttributeValueOutputTypeDef]] = None
764
+ kmsKeyId: Optional[str] = None
765
+
766
+
767
+ RdsDbClusterSnapshotAttributeValueUnionTypeDef = Union[
768
+ RdsDbClusterSnapshotAttributeValueOutputTypeDef, RdsDbClusterSnapshotAttributeValueTypeDef
769
+ ]
770
+
771
+
772
+ class RdsDbSnapshotConfigurationOutputTypeDef(BaseValidatorModel):
773
+ attributes: Optional[Dict[str, RdsDbSnapshotAttributeValueOutputTypeDef]] = None
774
+ kmsKeyId: Optional[str] = None
775
+
776
+
777
+ RdsDbSnapshotAttributeValueUnionTypeDef = Union[
778
+ RdsDbSnapshotAttributeValueOutputTypeDef, RdsDbSnapshotAttributeValueTypeDef
779
+ ]
780
+
781
+
782
+ class RecommendedStepTypeDef(BaseValidatorModel):
783
+ unusedPermissionsRecommendedStep: Optional[UnusedPermissionsRecommendedStepTypeDef] = None
784
+
785
+
786
+ class UnusedAccessFindingsStatisticsTypeDef(BaseValidatorModel):
787
+ unusedAccessTypeStatistics: Optional[List[UnusedAccessTypeStatisticsTypeDef]] = None
788
+ topAccounts: Optional[List[FindingAggregationAccountDetailsTypeDef]] = None
789
+ totalActiveFindings: Optional[int] = None
790
+ totalArchivedFindings: Optional[int] = None
791
+ totalResolvedFindings: Optional[int] = None
792
+
793
+
794
+ class UnusedPermissionDetailsTypeDef(BaseValidatorModel):
795
+ serviceNamespace: str
796
+ actions: Optional[List[UnusedActionTypeDef]] = None
797
+ lastAccessed: Optional[datetime] = None
798
+
799
+
800
+ # This class is the output for the 'list_access_previews' function.
801
+ class ListAccessPreviewsResponseTypeDef(BaseValidatorModel):
802
+ accessPreviews: List[AccessPreviewSummaryTypeDef]
803
+ ResponseMetadata: ResponseMetadataTypeDef
804
+ nextToken: Optional[str] = None
805
+
806
+
807
+ class UnusedAccessConfigurationOutputTypeDef(BaseValidatorModel):
808
+ unusedAccessAge: Optional[int] = None
809
+ analysisRule: Optional[AnalysisRuleOutputTypeDef] = None
810
+
811
+
812
+ class UnusedAccessConfigurationTypeDef(BaseValidatorModel):
813
+ unusedAccessAge: Optional[int] = None
814
+ analysisRule: Optional[AnalysisRuleTypeDef] = None
815
+
816
+
817
+ # This class is the output for the 'get_archive_rule' function.
818
+ class GetArchiveRuleResponseTypeDef(BaseValidatorModel):
819
+ archiveRule: ArchiveRuleSummaryTypeDef
820
+ ResponseMetadata: ResponseMetadataTypeDef
821
+
822
+
823
+ # This class is the output for the 'list_archive_rules' function.
824
+ class ListArchiveRulesResponseTypeDef(BaseValidatorModel):
825
+ archiveRules: List[ArchiveRuleSummaryTypeDef]
826
+ ResponseMetadata: ResponseMetadataTypeDef
827
+ nextToken: Optional[str] = None
828
+
829
+
830
+ # This class is the input for the 'start_policy_generation' function.
831
+ class StartPolicyGenerationRequestTypeDef(BaseValidatorModel):
832
+ policyGenerationDetails: PolicyGenerationDetailsTypeDef
833
+ cloudTrailDetails: Optional[CloudTrailDetailsTypeDef] = None
834
+ clientToken: Optional[str] = None
835
+
836
+
837
+ class GeneratedPolicyPropertiesTypeDef(BaseValidatorModel):
838
+ principalArn: str
839
+ isComplete: Optional[bool] = None
840
+ cloudTrailProperties: Optional[CloudTrailPropertiesTypeDef] = None
841
+
842
+
843
+ # This class is the input for the 'create_archive_rule' function.
844
+ class CreateArchiveRuleRequestTypeDef(BaseValidatorModel):
845
+ analyzerName: str
846
+ ruleName: str
847
+ filter: Dict[str, CriterionUnionTypeDef]
848
+ clientToken: Optional[str] = None
849
+
850
+
851
+ class InlineArchiveRuleTypeDef(BaseValidatorModel):
852
+ ruleName: str
853
+ filter: Dict[str, CriterionUnionTypeDef]
854
+
855
+
856
+ class ListAccessPreviewFindingsRequestPaginateTypeDef(BaseValidatorModel):
857
+ accessPreviewId: str
858
+ analyzerArn: str
859
+ filter: Optional[Dict[str, CriterionUnionTypeDef]] = None
860
+ PaginationConfig: Optional[PaginatorConfigTypeDef] = None
861
+
862
+
863
+ # This class is the input for the 'list_access_preview_findings' function.
864
+ class ListAccessPreviewFindingsRequestTypeDef(BaseValidatorModel):
865
+ accessPreviewId: str
866
+ analyzerArn: str
867
+ filter: Optional[Dict[str, CriterionUnionTypeDef]] = None
868
+ nextToken: Optional[str] = None
869
+ maxResults: Optional[int] = None
870
+
871
+
872
+ class ListFindingsRequestPaginateTypeDef(BaseValidatorModel):
873
+ analyzerArn: str
874
+ filter: Optional[Dict[str, CriterionUnionTypeDef]] = None
875
+ sort: Optional[SortCriteriaTypeDef] = None
876
+ PaginationConfig: Optional[PaginatorConfigTypeDef] = None
877
+
878
+
879
+ # This class is the input for the 'list_findings' function.
880
+ class ListFindingsRequestTypeDef(BaseValidatorModel):
881
+ analyzerArn: str
882
+ filter: Optional[Dict[str, CriterionUnionTypeDef]] = None
883
+ sort: Optional[SortCriteriaTypeDef] = None
884
+ nextToken: Optional[str] = None
885
+ maxResults: Optional[int] = None
886
+
887
+
888
+ class ListFindingsV2RequestPaginateTypeDef(BaseValidatorModel):
889
+ analyzerArn: str
890
+ filter: Optional[Dict[str, CriterionUnionTypeDef]] = None
891
+ sort: Optional[SortCriteriaTypeDef] = None
892
+ PaginationConfig: Optional[PaginatorConfigTypeDef] = None
893
+
894
+
895
+ # This class is the input for the 'list_findings_v2' function.
896
+ class ListFindingsV2RequestTypeDef(BaseValidatorModel):
897
+ analyzerArn: str
898
+ filter: Optional[Dict[str, CriterionUnionTypeDef]] = None
899
+ maxResults: Optional[int] = None
900
+ nextToken: Optional[str] = None
901
+ sort: Optional[SortCriteriaTypeDef] = None
902
+
903
+
904
+ # This class is the input for the 'update_archive_rule' function.
905
+ class UpdateArchiveRuleRequestTypeDef(BaseValidatorModel):
906
+ analyzerName: str
907
+ ruleName: str
908
+ filter: Dict[str, CriterionUnionTypeDef]
909
+ clientToken: Optional[str] = None
910
+
911
+
912
+ class AccessPreviewFindingTypeDef(BaseValidatorModel):
913
+ id: str
914
+ resourceType: ResourceTypeType
915
+ createdAt: datetime
916
+ changeType: FindingChangeTypeType
917
+ status: FindingStatusType
918
+ resourceOwnerAccount: str
919
+ existingFindingId: Optional[str] = None
920
+ existingFindingStatus: Optional[FindingStatusType] = None
921
+ principal: Optional[Dict[str, str]] = None
922
+ action: Optional[List[str]] = None
923
+ condition: Optional[Dict[str, str]] = None
924
+ resource: Optional[str] = None
925
+ isPublic: Optional[bool] = None
926
+ error: Optional[str] = None
927
+ sources: Optional[List[FindingSourceTypeDef]] = None
928
+ resourceControlPolicyRestriction: Optional[ResourceControlPolicyRestrictionType] = None
929
+
930
+
931
+ class ExternalAccessDetailsTypeDef(BaseValidatorModel):
932
+ condition: Dict[str, str]
933
+ action: Optional[List[str]] = None
934
+ isPublic: Optional[bool] = None
935
+ principal: Optional[Dict[str, str]] = None
936
+ sources: Optional[List[FindingSourceTypeDef]] = None
937
+ resourceControlPolicyRestriction: Optional[ResourceControlPolicyRestrictionType] = None
938
+
939
+
940
+ class FindingSummaryTypeDef(BaseValidatorModel):
941
+ id: str
942
+ resourceType: ResourceTypeType
943
+ condition: Dict[str, str]
944
+ createdAt: datetime
945
+ analyzedAt: datetime
946
+ updatedAt: datetime
947
+ status: FindingStatusType
948
+ resourceOwnerAccount: str
949
+ principal: Optional[Dict[str, str]] = None
950
+ action: Optional[List[str]] = None
951
+ resource: Optional[str] = None
952
+ isPublic: Optional[bool] = None
953
+ error: Optional[str] = None
954
+ sources: Optional[List[FindingSourceTypeDef]] = None
955
+ resourceControlPolicyRestriction: Optional[ResourceControlPolicyRestrictionType] = None
956
+
957
+
958
+ class FindingTypeDef(BaseValidatorModel):
959
+ id: str
960
+ resourceType: ResourceTypeType
961
+ condition: Dict[str, str]
962
+ createdAt: datetime
963
+ analyzedAt: datetime
964
+ updatedAt: datetime
965
+ status: FindingStatusType
966
+ resourceOwnerAccount: str
967
+ principal: Optional[Dict[str, str]] = None
968
+ action: Optional[List[str]] = None
969
+ resource: Optional[str] = None
970
+ isPublic: Optional[bool] = None
971
+ error: Optional[str] = None
972
+ sources: Optional[List[FindingSourceTypeDef]] = None
973
+ resourceControlPolicyRestriction: Optional[ResourceControlPolicyRestrictionType] = None
974
+
975
+
976
+ class InternalAccessDetailsTypeDef(BaseValidatorModel):
977
+ action: Optional[List[str]] = None
978
+ condition: Optional[Dict[str, str]] = None
979
+ principal: Optional[Dict[str, str]] = None
980
+ principalOwnerAccount: Optional[str] = None
981
+ accessType: Optional[InternalAccessTypeType] = None
982
+ principalType: Optional[PrincipalTypeType] = None
983
+ sources: Optional[List[FindingSourceTypeDef]] = None
984
+ resourceControlPolicyRestriction: Optional[ResourceControlPolicyRestrictionType] = None
985
+ serviceControlPolicyRestriction: Optional[ServiceControlPolicyRestrictionType] = None
986
+
987
+
988
+ class InternalAccessConfigurationOutputTypeDef(BaseValidatorModel):
989
+ analysisRule: Optional[InternalAccessAnalysisRuleOutputTypeDef] = None
990
+
991
+
992
+ class InternalAccessConfigurationTypeDef(BaseValidatorModel):
993
+ analysisRule: Optional[InternalAccessAnalysisRuleTypeDef] = None
994
+
995
+
996
+ class KmsKeyConfigurationOutputTypeDef(BaseValidatorModel):
997
+ keyPolicies: Optional[Dict[str, str]] = None
998
+ grants: Optional[List[KmsGrantConfigurationOutputTypeDef]] = None
999
+
1000
+
1001
+ class KmsGrantConfigurationTypeDef(BaseValidatorModel):
1002
+ operations: List[KmsGrantOperationType]
1003
+ granteePrincipal: str
1004
+ issuingAccount: str
1005
+ retiringPrincipal: Optional[str] = None
1006
+ constraints: Optional[KmsGrantConstraintsUnionTypeDef] = None
1007
+
1008
+
1009
+ class S3AccessPointConfigurationOutputTypeDef(BaseValidatorModel):
1010
+ accessPointPolicy: Optional[str] = None
1011
+ publicAccessBlock: Optional[S3PublicAccessBlockConfigurationTypeDef] = None
1012
+ networkOrigin: Optional[NetworkOriginConfigurationOutputTypeDef] = None
1013
+
1014
+
1015
+ class S3ExpressDirectoryAccessPointConfigurationOutputTypeDef(BaseValidatorModel):
1016
+ accessPointPolicy: Optional[str] = None
1017
+ networkOrigin: Optional[NetworkOriginConfigurationOutputTypeDef] = None
1018
+
1019
+
1020
+ NetworkOriginConfigurationUnionTypeDef = Union[
1021
+ NetworkOriginConfigurationOutputTypeDef, NetworkOriginConfigurationTypeDef
1022
+ ]
1023
+
1024
+
1025
+ class LocationTypeDef(BaseValidatorModel):
1026
+ path: List[PathElementTypeDef]
1027
+ span: SpanTypeDef
1028
+
1029
+
1030
+ class RdsDbClusterSnapshotConfigurationTypeDef(BaseValidatorModel):
1031
+ attributes: Optional[Dict[str, RdsDbClusterSnapshotAttributeValueUnionTypeDef]] = None
1032
+ kmsKeyId: Optional[str] = None
1033
+
1034
+
1035
+ class RdsDbSnapshotConfigurationTypeDef(BaseValidatorModel):
1036
+ attributes: Optional[Dict[str, RdsDbSnapshotAttributeValueUnionTypeDef]] = None
1037
+ kmsKeyId: Optional[str] = None
1038
+
1039
+
1040
+ # This class is the output for the 'get_finding_recommendation' function.
1041
+ class GetFindingRecommendationResponseTypeDef(BaseValidatorModel):
1042
+ startedAt: datetime
1043
+ completedAt: datetime
1044
+ error: RecommendationErrorTypeDef
1045
+ resourceArn: str
1046
+ recommendedSteps: List[RecommendedStepTypeDef]
1047
+ recommendationType: Literal["UnusedPermissionRecommendation"]
1048
+ status: StatusType
1049
+ ResponseMetadata: ResponseMetadataTypeDef
1050
+ nextToken: Optional[str] = None
1051
+
1052
+
1053
+ class FindingsStatisticsTypeDef(BaseValidatorModel):
1054
+ externalAccessFindingsStatistics: Optional[ExternalAccessFindingsStatisticsTypeDef] = None
1055
+ internalAccessFindingsStatistics: Optional[InternalAccessFindingsStatisticsTypeDef] = None
1056
+ unusedAccessFindingsStatistics: Optional[UnusedAccessFindingsStatisticsTypeDef] = None
1057
+
1058
+
1059
+ class GeneratedPolicyResultTypeDef(BaseValidatorModel):
1060
+ properties: GeneratedPolicyPropertiesTypeDef
1061
+ generatedPolicies: Optional[List[GeneratedPolicyTypeDef]] = None
1062
+
1063
+
1064
+ # This class is the output for the 'list_access_preview_findings' function.
1065
+ class ListAccessPreviewFindingsResponseTypeDef(BaseValidatorModel):
1066
+ findings: List[AccessPreviewFindingTypeDef]
1067
+ ResponseMetadata: ResponseMetadataTypeDef
1068
+ nextToken: Optional[str] = None
1069
+
1070
+
1071
+ # This class is the output for the 'list_findings' function.
1072
+ class ListFindingsResponseTypeDef(BaseValidatorModel):
1073
+ findings: List[FindingSummaryTypeDef]
1074
+ ResponseMetadata: ResponseMetadataTypeDef
1075
+ nextToken: Optional[str] = None
1076
+
1077
+
1078
+ # This class is the output for the 'get_finding' function.
1079
+ class GetFindingResponseTypeDef(BaseValidatorModel):
1080
+ finding: FindingTypeDef
1081
+ ResponseMetadata: ResponseMetadataTypeDef
1082
+
1083
+
1084
+ class FindingDetailsTypeDef(BaseValidatorModel):
1085
+ internalAccessDetails: Optional[InternalAccessDetailsTypeDef] = None
1086
+ externalAccessDetails: Optional[ExternalAccessDetailsTypeDef] = None
1087
+ unusedPermissionDetails: Optional[UnusedPermissionDetailsTypeDef] = None
1088
+ unusedIamUserAccessKeyDetails: Optional[UnusedIamUserAccessKeyDetailsTypeDef] = None
1089
+ unusedIamRoleDetails: Optional[UnusedIamRoleDetailsTypeDef] = None
1090
+ unusedIamUserPasswordDetails: Optional[UnusedIamUserPasswordDetailsTypeDef] = None
1091
+
1092
+
1093
+ class AnalyzerConfigurationOutputTypeDef(BaseValidatorModel):
1094
+ unusedAccess: Optional[UnusedAccessConfigurationOutputTypeDef] = None
1095
+ internalAccess: Optional[InternalAccessConfigurationOutputTypeDef] = None
1096
+
1097
+
1098
+ class AnalyzerConfigurationTypeDef(BaseValidatorModel):
1099
+ unusedAccess: Optional[UnusedAccessConfigurationTypeDef] = None
1100
+ internalAccess: Optional[InternalAccessConfigurationTypeDef] = None
1101
+
1102
+
1103
+ KmsGrantConfigurationUnionTypeDef = Union[KmsGrantConfigurationOutputTypeDef, KmsGrantConfigurationTypeDef]
1104
+
1105
+
1106
+ class S3BucketConfigurationOutputTypeDef(BaseValidatorModel):
1107
+ bucketPolicy: Optional[str] = None
1108
+ bucketAclGrants: Optional[List[S3BucketAclGrantConfigurationTypeDef]] = None
1109
+ bucketPublicAccessBlock: Optional[S3PublicAccessBlockConfigurationTypeDef] = None
1110
+ accessPoints: Optional[Dict[str, S3AccessPointConfigurationOutputTypeDef]] = None
1111
+
1112
+
1113
+ class S3ExpressDirectoryBucketConfigurationOutputTypeDef(BaseValidatorModel):
1114
+ bucketPolicy: Optional[str] = None
1115
+ accessPoints: Optional[Dict[str, S3ExpressDirectoryAccessPointConfigurationOutputTypeDef]] = None
1116
+
1117
+
1118
+ class S3AccessPointConfigurationTypeDef(BaseValidatorModel):
1119
+ accessPointPolicy: Optional[str] = None
1120
+ publicAccessBlock: Optional[S3PublicAccessBlockConfigurationTypeDef] = None
1121
+ networkOrigin: Optional[NetworkOriginConfigurationUnionTypeDef] = None
1122
+
1123
+
1124
+ class S3ExpressDirectoryAccessPointConfigurationTypeDef(BaseValidatorModel):
1125
+ accessPointPolicy: Optional[str] = None
1126
+ networkOrigin: Optional[NetworkOriginConfigurationUnionTypeDef] = None
1127
+
1128
+
1129
+ class ValidatePolicyFindingTypeDef(BaseValidatorModel):
1130
+ findingDetails: str
1131
+ findingType: ValidatePolicyFindingTypeType
1132
+ issueCode: str
1133
+ learnMoreLink: str
1134
+ locations: List[LocationTypeDef]
1135
+
1136
+
1137
+ RdsDbClusterSnapshotConfigurationUnionTypeDef = Union[
1138
+ RdsDbClusterSnapshotConfigurationOutputTypeDef, RdsDbClusterSnapshotConfigurationTypeDef
1139
+ ]
1140
+
1141
+ RdsDbSnapshotConfigurationUnionTypeDef = Union[
1142
+ RdsDbSnapshotConfigurationOutputTypeDef, RdsDbSnapshotConfigurationTypeDef
1143
+ ]
1144
+
1145
+
1146
+ # This class is the output for the 'get_findings_statistics' function.
1147
+ class GetFindingsStatisticsResponseTypeDef(BaseValidatorModel):
1148
+ findingsStatistics: List[FindingsStatisticsTypeDef]
1149
+ lastUpdatedAt: datetime
1150
+ ResponseMetadata: ResponseMetadataTypeDef
1151
+
1152
+
1153
+ # This class is the output for the 'get_generated_policy' function.
1154
+ class GetGeneratedPolicyResponseTypeDef(BaseValidatorModel):
1155
+ jobDetails: JobDetailsTypeDef
1156
+ generatedPolicyResult: GeneratedPolicyResultTypeDef
1157
+ ResponseMetadata: ResponseMetadataTypeDef
1158
+
1159
+
1160
+ # This class is the output for the 'get_finding_v2' function.
1161
+ class GetFindingV2ResponseTypeDef(BaseValidatorModel):
1162
+ analyzedAt: datetime
1163
+ createdAt: datetime
1164
+ error: str
1165
+ id: str
1166
+ resource: str
1167
+ resourceType: ResourceTypeType
1168
+ resourceOwnerAccount: str
1169
+ status: FindingStatusType
1170
+ updatedAt: datetime
1171
+ findingDetails: List[FindingDetailsTypeDef]
1172
+ findingType: FindingTypeType
1173
+ ResponseMetadata: ResponseMetadataTypeDef
1174
+ nextToken: Optional[str] = None
1175
+
1176
+
1177
+ class AnalyzerSummaryTypeDef(BaseValidatorModel):
1178
+ arn: str
1179
+ name: str
1180
+ type: TypeType
1181
+ createdAt: datetime
1182
+ status: AnalyzerStatusType
1183
+ lastResourceAnalyzed: Optional[str] = None
1184
+ lastResourceAnalyzedAt: Optional[datetime] = None
1185
+ tags: Optional[Dict[str, str]] = None
1186
+ statusReason: Optional[StatusReasonTypeDef] = None
1187
+ configuration: Optional[AnalyzerConfigurationOutputTypeDef] = None
1188
+
1189
+
1190
+ # This class is the output for the 'update_analyzer' function.
1191
+ class UpdateAnalyzerResponseTypeDef(BaseValidatorModel):
1192
+ configuration: AnalyzerConfigurationOutputTypeDef
1193
+ ResponseMetadata: ResponseMetadataTypeDef
1194
+
1195
+
1196
+ AnalyzerConfigurationUnionTypeDef = Union[AnalyzerConfigurationOutputTypeDef, AnalyzerConfigurationTypeDef]
1197
+
1198
+
1199
+ class KmsKeyConfigurationTypeDef(BaseValidatorModel):
1200
+ keyPolicies: Optional[Dict[str, str]] = None
1201
+ grants: Optional[List[KmsGrantConfigurationUnionTypeDef]] = None
1202
+
1203
+
1204
+ class ConfigurationOutputTypeDef(BaseValidatorModel):
1205
+ ebsSnapshot: Optional[EbsSnapshotConfigurationOutputTypeDef] = None
1206
+ ecrRepository: Optional[EcrRepositoryConfigurationTypeDef] = None
1207
+ iamRole: Optional[IamRoleConfigurationTypeDef] = None
1208
+ efsFileSystem: Optional[EfsFileSystemConfigurationTypeDef] = None
1209
+ kmsKey: Optional[KmsKeyConfigurationOutputTypeDef] = None
1210
+ rdsDbClusterSnapshot: Optional[RdsDbClusterSnapshotConfigurationOutputTypeDef] = None
1211
+ rdsDbSnapshot: Optional[RdsDbSnapshotConfigurationOutputTypeDef] = None
1212
+ secretsManagerSecret: Optional[SecretsManagerSecretConfigurationTypeDef] = None
1213
+ s3Bucket: Optional[S3BucketConfigurationOutputTypeDef] = None
1214
+ snsTopic: Optional[SnsTopicConfigurationTypeDef] = None
1215
+ sqsQueue: Optional[SqsQueueConfigurationTypeDef] = None
1216
+ s3ExpressDirectoryBucket: Optional[S3ExpressDirectoryBucketConfigurationOutputTypeDef] = None
1217
+ dynamodbStream: Optional[DynamodbStreamConfigurationTypeDef] = None
1218
+ dynamodbTable: Optional[DynamodbTableConfigurationTypeDef] = None
1219
+
1220
+
1221
+ S3AccessPointConfigurationUnionTypeDef = Union[
1222
+ S3AccessPointConfigurationOutputTypeDef, S3AccessPointConfigurationTypeDef
1223
+ ]
1224
+
1225
+ S3ExpressDirectoryAccessPointConfigurationUnionTypeDef = Union[
1226
+ S3ExpressDirectoryAccessPointConfigurationOutputTypeDef, S3ExpressDirectoryAccessPointConfigurationTypeDef
1227
+ ]
1228
+
1229
+
1230
+ # This class is the output for the 'validate_policy' function.
1231
+ class ValidatePolicyResponseTypeDef(BaseValidatorModel):
1232
+ findings: List[ValidatePolicyFindingTypeDef]
1233
+ ResponseMetadata: ResponseMetadataTypeDef
1234
+ nextToken: Optional[str] = None
1235
+
1236
+
1237
+ # This class is the output for the 'get_analyzer' function.
1238
+ class GetAnalyzerResponseTypeDef(BaseValidatorModel):
1239
+ analyzer: AnalyzerSummaryTypeDef
1240
+ ResponseMetadata: ResponseMetadataTypeDef
1241
+
1242
+
1243
+ # This class is the output for the 'list_analyzers' function.
1244
+ class ListAnalyzersResponseTypeDef(BaseValidatorModel):
1245
+ analyzers: List[AnalyzerSummaryTypeDef]
1246
+ ResponseMetadata: ResponseMetadataTypeDef
1247
+ nextToken: Optional[str] = None
1248
+
1249
+
1250
+ # This class is the input for the 'create_analyzer' function.
1251
+ class CreateAnalyzerRequestTypeDef(BaseValidatorModel):
1252
+ analyzerName: str
1253
+ type: TypeType
1254
+ archiveRules: Optional[List[InlineArchiveRuleTypeDef]] = None
1255
+ tags: Optional[Dict[str, str]] = None
1256
+ clientToken: Optional[str] = None
1257
+ configuration: Optional[AnalyzerConfigurationUnionTypeDef] = None
1258
+
1259
+
1260
+ # This class is the input for the 'update_analyzer' function.
1261
+ class UpdateAnalyzerRequestTypeDef(BaseValidatorModel):
1262
+ analyzerName: str
1263
+ configuration: Optional[AnalyzerConfigurationUnionTypeDef] = None
1264
+
1265
+
1266
+ KmsKeyConfigurationUnionTypeDef = Union[KmsKeyConfigurationOutputTypeDef, KmsKeyConfigurationTypeDef]
1267
+
1268
+
1269
+ class AccessPreviewTypeDef(BaseValidatorModel):
1270
+ id: str
1271
+ analyzerArn: str
1272
+ configurations: Dict[str, ConfigurationOutputTypeDef]
1273
+ createdAt: datetime
1274
+ status: AccessPreviewStatusType
1275
+ statusReason: Optional[AccessPreviewStatusReasonTypeDef] = None
1276
+
1277
+
1278
+ class S3BucketConfigurationTypeDef(BaseValidatorModel):
1279
+ bucketPolicy: Optional[str] = None
1280
+ bucketAclGrants: Optional[List[S3BucketAclGrantConfigurationTypeDef]] = None
1281
+ bucketPublicAccessBlock: Optional[S3PublicAccessBlockConfigurationTypeDef] = None
1282
+ accessPoints: Optional[Dict[str, S3AccessPointConfigurationUnionTypeDef]] = None
1283
+
1284
+
1285
+ class S3ExpressDirectoryBucketConfigurationTypeDef(BaseValidatorModel):
1286
+ bucketPolicy: Optional[str] = None
1287
+ accessPoints: Optional[Dict[str, S3ExpressDirectoryAccessPointConfigurationUnionTypeDef]] = None
1288
+
1289
+
1290
+ # This class is the output for the 'get_access_preview' function.
1291
+ class GetAccessPreviewResponseTypeDef(BaseValidatorModel):
1292
+ accessPreview: AccessPreviewTypeDef
1293
+ ResponseMetadata: ResponseMetadataTypeDef
1294
+
1295
+
1296
+ S3BucketConfigurationUnionTypeDef = Union[S3BucketConfigurationOutputTypeDef, S3BucketConfigurationTypeDef]
1297
+
1298
+ S3ExpressDirectoryBucketConfigurationUnionTypeDef = Union[
1299
+ S3ExpressDirectoryBucketConfigurationOutputTypeDef, S3ExpressDirectoryBucketConfigurationTypeDef
1300
+ ]
1301
+
1302
+
1303
+ class ConfigurationTypeDef(BaseValidatorModel):
1304
+ ebsSnapshot: Optional[EbsSnapshotConfigurationUnionTypeDef] = None
1305
+ ecrRepository: Optional[EcrRepositoryConfigurationTypeDef] = None
1306
+ iamRole: Optional[IamRoleConfigurationTypeDef] = None
1307
+ efsFileSystem: Optional[EfsFileSystemConfigurationTypeDef] = None
1308
+ kmsKey: Optional[KmsKeyConfigurationUnionTypeDef] = None
1309
+ rdsDbClusterSnapshot: Optional[RdsDbClusterSnapshotConfigurationUnionTypeDef] = None
1310
+ rdsDbSnapshot: Optional[RdsDbSnapshotConfigurationUnionTypeDef] = None
1311
+ secretsManagerSecret: Optional[SecretsManagerSecretConfigurationTypeDef] = None
1312
+ s3Bucket: Optional[S3BucketConfigurationUnionTypeDef] = None
1313
+ snsTopic: Optional[SnsTopicConfigurationTypeDef] = None
1314
+ sqsQueue: Optional[SqsQueueConfigurationTypeDef] = None
1315
+ s3ExpressDirectoryBucket: Optional[S3ExpressDirectoryBucketConfigurationUnionTypeDef] = None
1316
+ dynamodbStream: Optional[DynamodbStreamConfigurationTypeDef] = None
1317
+ dynamodbTable: Optional[DynamodbTableConfigurationTypeDef] = None
1318
+
1319
+
1320
+ ConfigurationUnionTypeDef = Union[ConfigurationOutputTypeDef, ConfigurationTypeDef]
1321
+
1322
+
1323
+ # This class is the input for the 'create_access_preview' function.
1324
+ class CreateAccessPreviewRequestTypeDef(BaseValidatorModel):
1325
+ analyzerArn: str
1326
+ configurations: Dict[str, ConfigurationUnionTypeDef]
1327
+ clientToken: Optional[str] = None