localstack-core 4.7.1.dev139__py3-none-any.whl → 4.10.1.dev42__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.

Potentially problematic release.


This version of localstack-core might be problematic. Click here for more details.

Files changed (208) hide show
  1. localstack/aws/api/acm/__init__.py +122 -122
  2. localstack/aws/api/apigateway/__init__.py +560 -559
  3. localstack/aws/api/cloudcontrol/__init__.py +63 -63
  4. localstack/aws/api/cloudformation/__init__.py +1041 -969
  5. localstack/aws/api/cloudwatch/__init__.py +408 -368
  6. localstack/aws/api/config/__init__.py +788 -786
  7. localstack/aws/api/core.py +4 -0
  8. localstack/aws/api/dynamodb/__init__.py +753 -759
  9. localstack/aws/api/dynamodbstreams/__init__.py +74 -74
  10. localstack/aws/api/ec2/__init__.py +9713 -8573
  11. localstack/aws/api/es/__init__.py +453 -453
  12. localstack/aws/api/events/__init__.py +552 -552
  13. localstack/aws/api/firehose/__init__.py +541 -543
  14. localstack/aws/api/iam/__init__.py +646 -572
  15. localstack/aws/api/kinesis/__init__.py +251 -144
  16. localstack/aws/api/kms/__init__.py +343 -333
  17. localstack/aws/api/lambda_/__init__.py +585 -571
  18. localstack/aws/api/logs/__init__.py +682 -666
  19. localstack/aws/api/opensearch/__init__.py +814 -785
  20. localstack/aws/api/pipes/__init__.py +336 -336
  21. localstack/aws/api/redshift/__init__.py +1192 -1164
  22. localstack/aws/api/resource_groups/__init__.py +175 -175
  23. localstack/aws/api/resourcegroupstaggingapi/__init__.py +67 -67
  24. localstack/aws/api/route53/__init__.py +256 -254
  25. localstack/aws/api/route53resolver/__init__.py +396 -396
  26. localstack/aws/api/s3/__init__.py +1358 -1345
  27. localstack/aws/api/s3control/__init__.py +616 -584
  28. localstack/aws/api/scheduler/__init__.py +118 -118
  29. localstack/aws/api/secretsmanager/__init__.py +193 -193
  30. localstack/aws/api/ses/__init__.py +227 -227
  31. localstack/aws/api/sns/__init__.py +115 -115
  32. localstack/aws/api/sqs/__init__.py +100 -100
  33. localstack/aws/api/ssm/__init__.py +1978 -1970
  34. localstack/aws/api/stepfunctions/__init__.py +323 -323
  35. localstack/aws/api/sts/__init__.py +90 -66
  36. localstack/aws/api/support/__init__.py +112 -112
  37. localstack/aws/api/swf/__init__.py +378 -386
  38. localstack/aws/api/transcribe/__init__.py +425 -425
  39. localstack/aws/client.py +7 -2
  40. localstack/aws/forwarder.py +52 -5
  41. localstack/aws/handlers/analytics.py +1 -1
  42. localstack/aws/handlers/logging.py +12 -2
  43. localstack/aws/handlers/metric_handler.py +41 -1
  44. localstack/aws/handlers/service.py +43 -10
  45. localstack/aws/protocol/parser.py +440 -21
  46. localstack/aws/protocol/serializer.py +684 -64
  47. localstack/aws/protocol/service_router.py +120 -20
  48. localstack/aws/scaffold.py +15 -17
  49. localstack/aws/skeleton.py +4 -2
  50. localstack/aws/spec-patches.json +58 -0
  51. localstack/aws/spec.py +33 -13
  52. localstack/cli/exceptions.py +1 -1
  53. localstack/cli/localstack.py +10 -5
  54. localstack/cli/lpm.py +3 -4
  55. localstack/cli/profiles.py +1 -2
  56. localstack/config.py +18 -12
  57. localstack/constants.py +4 -29
  58. localstack/dev/kubernetes/__main__.py +39 -4
  59. localstack/dev/run/paths.py +1 -1
  60. localstack/dns/plugins.py +5 -1
  61. localstack/dns/server.py +12 -3
  62. localstack/packages/api.py +9 -8
  63. localstack/packages/core.py +2 -2
  64. localstack/packages/plugins.py +0 -8
  65. localstack/runtime/init.py +1 -1
  66. localstack/services/apigateway/helpers.py +5 -9
  67. localstack/services/apigateway/legacy/provider.py +85 -12
  68. localstack/services/apigateway/next_gen/execute_api/integrations/aws.py +3 -0
  69. localstack/services/apigateway/next_gen/execute_api/integrations/http.py +3 -3
  70. localstack/services/apigateway/next_gen/execute_api/test_invoke.py +50 -6
  71. localstack/services/apigateway/next_gen/provider.py +5 -0
  72. localstack/services/apigateway/patches.py +0 -9
  73. localstack/services/cloudformation/engine/entities.py +12 -1
  74. localstack/services/cloudformation/engine/v2/change_set_model.py +0 -3
  75. localstack/services/cloudformation/engine/v2/change_set_model_describer.py +14 -0
  76. localstack/services/cloudformation/engine/v2/change_set_model_executor.py +13 -15
  77. localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +118 -24
  78. localstack/services/cloudformation/engine/v2/change_set_model_transform.py +4 -1
  79. localstack/services/cloudformation/engine/v2/change_set_model_validator.py +5 -14
  80. localstack/services/cloudformation/engine/v2/change_set_model_visitor.py +1 -0
  81. localstack/services/cloudformation/engine/v2/resolving.py +6 -4
  82. localstack/services/cloudformation/engine/yaml_parser.py +9 -2
  83. localstack/services/cloudformation/provider.py +2 -2
  84. localstack/services/cloudformation/resource_provider.py +5 -1
  85. localstack/services/cloudformation/resources.py +24149 -0
  86. localstack/services/cloudformation/v2/entities.py +6 -3
  87. localstack/services/cloudformation/v2/provider.py +178 -33
  88. localstack/services/cloudformation/v2/types.py +8 -4
  89. localstack/services/cloudwatch/provider_v2.py +25 -28
  90. localstack/services/dynamodb/packages.py +2 -1
  91. localstack/services/dynamodb/provider.py +42 -0
  92. localstack/services/dynamodb/v2/provider.py +42 -0
  93. localstack/services/ecr/resource_providers/aws_ecr_repository.py +5 -2
  94. localstack/services/es/provider.py +2 -2
  95. localstack/services/events/event_rule_engine.py +31 -13
  96. localstack/services/events/models.py +4 -5
  97. localstack/services/events/target.py +17 -9
  98. localstack/services/iam/provider.py +11 -116
  99. localstack/services/iam/resources/policy_simulator.py +133 -0
  100. localstack/services/kinesis/models.py +15 -2
  101. localstack/services/kinesis/packages.py +1 -1
  102. localstack/services/kinesis/provider.py +77 -0
  103. localstack/services/kms/models.py +34 -4
  104. localstack/services/kms/provider.py +107 -21
  105. localstack/services/lambda_/api_utils.py +3 -1
  106. localstack/services/lambda_/invocation/internal_sqs_queue.py +5 -9
  107. localstack/services/lambda_/packages.py +1 -1
  108. localstack/services/lambda_/provider.py +1 -1
  109. localstack/services/lambda_/runtimes.py +8 -3
  110. localstack/services/logs/provider.py +36 -19
  111. localstack/services/moto.py +2 -1
  112. localstack/services/opensearch/cluster.py +15 -7
  113. localstack/services/opensearch/packages.py +26 -7
  114. localstack/services/opensearch/provider.py +6 -1
  115. localstack/services/opensearch/versions.py +56 -7
  116. localstack/services/s3/constants.py +5 -2
  117. localstack/services/s3/cors.py +4 -4
  118. localstack/services/s3/notifications.py +1 -1
  119. localstack/services/s3/presigned_url.py +27 -43
  120. localstack/services/s3/provider.py +68 -12
  121. localstack/services/s3/utils.py +42 -11
  122. localstack/services/ses/provider.py +16 -7
  123. localstack/services/sns/constants.py +7 -1
  124. localstack/services/sns/v2/models.py +190 -0
  125. localstack/services/sns/v2/provider.py +992 -2
  126. localstack/services/sns/v2/utils.py +138 -0
  127. localstack/services/sqs/developer_api.py +205 -0
  128. localstack/services/sqs/models.py +79 -13
  129. localstack/services/sqs/provider.py +8 -309
  130. localstack/services/sqs/query_api.py +1 -1
  131. localstack/services/sqs/utils.py +121 -2
  132. localstack/services/stepfunctions/asl/jsonata/jsonata.py +1 -1
  133. localstack/testing/aws/cloudformation_utils.py +1 -1
  134. localstack/testing/pytest/cloudformation/fixtures.py +3 -3
  135. localstack/testing/pytest/container.py +4 -5
  136. localstack/testing/pytest/fixtures.py +20 -19
  137. localstack/testing/pytest/in_memory_localstack.py +0 -4
  138. localstack/testing/pytest/marking.py +13 -4
  139. localstack/testing/pytest/stepfunctions/utils.py +4 -3
  140. localstack/testing/pytest/util.py +1 -1
  141. localstack/testing/pytest/validation_tracking.py +1 -2
  142. localstack/testing/snapshots/transformer_utility.py +7 -0
  143. localstack/testing/testselection/matching.py +0 -1
  144. localstack/utils/analytics/events.py +2 -2
  145. localstack/utils/analytics/metadata.py +1 -2
  146. localstack/utils/analytics/metrics/counter.py +6 -8
  147. localstack/utils/analytics/publisher.py +1 -2
  148. localstack/utils/analytics/service_request_aggregator.py +2 -2
  149. localstack/utils/archives.py +11 -11
  150. localstack/utils/aws/arns.py +17 -9
  151. localstack/utils/aws/aws_responses.py +7 -7
  152. localstack/utils/aws/aws_stack.py +2 -3
  153. localstack/utils/aws/client_types.py +0 -8
  154. localstack/utils/aws/message_forwarding.py +1 -2
  155. localstack/utils/aws/request_context.py +4 -5
  156. localstack/utils/batch_policy.py +3 -3
  157. localstack/utils/bootstrap.py +7 -7
  158. localstack/utils/catalog/catalog.py +139 -0
  159. localstack/utils/catalog/catalog_loader.py +119 -0
  160. localstack/utils/catalog/common.py +58 -0
  161. localstack/utils/catalog/plugins.py +28 -0
  162. localstack/utils/cloudwatch/cloudwatch_util.py +5 -5
  163. localstack/utils/collections.py +7 -8
  164. localstack/utils/config_listener.py +1 -1
  165. localstack/utils/container_networking.py +2 -3
  166. localstack/utils/container_utils/container_client.py +115 -131
  167. localstack/utils/container_utils/docker_cmd_client.py +42 -42
  168. localstack/utils/container_utils/docker_sdk_client.py +63 -62
  169. localstack/utils/crypto.py +109 -0
  170. localstack/utils/diagnose.py +2 -3
  171. localstack/utils/docker_utils.py +3 -4
  172. localstack/utils/files.py +31 -7
  173. localstack/utils/functions.py +3 -2
  174. localstack/utils/http.py +4 -5
  175. localstack/utils/json.py +19 -5
  176. localstack/utils/kinesis/kinesis_connector.py +2 -1
  177. localstack/utils/net.py +6 -6
  178. localstack/utils/no_exit_argument_parser.py +2 -2
  179. localstack/utils/numbers.py +9 -2
  180. localstack/utils/objects.py +6 -5
  181. localstack/utils/patch.py +2 -1
  182. localstack/utils/run.py +10 -9
  183. localstack/utils/scheduler.py +11 -11
  184. localstack/utils/server/tcp_proxy.py +2 -2
  185. localstack/utils/serving.py +2 -3
  186. localstack/utils/strings.py +10 -11
  187. localstack/utils/sync.py +126 -1
  188. localstack/utils/tagging.py +1 -4
  189. localstack/utils/testutil.py +5 -4
  190. localstack/utils/threads.py +2 -2
  191. localstack/utils/time.py +11 -3
  192. localstack/utils/urls.py +1 -3
  193. localstack/version.py +2 -2
  194. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/METADATA +19 -13
  195. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/RECORD +203 -199
  196. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/entry_points.txt +4 -2
  197. localstack_core-4.10.1.dev42.dist-info/plux.json +1 -0
  198. localstack/packages/terraform.py +0 -46
  199. localstack/services/cloudformation/deploy.html +0 -144
  200. localstack/services/cloudformation/deploy_ui.py +0 -47
  201. localstack/services/cloudformation/plugins.py +0 -12
  202. localstack_core-4.7.1.dev139.dist-info/plux.json +0 -1
  203. {localstack_core-4.7.1.dev139.data → localstack_core-4.10.1.dev42.data}/scripts/localstack +0 -0
  204. {localstack_core-4.7.1.dev139.data → localstack_core-4.10.1.dev42.data}/scripts/localstack-supervisor +0 -0
  205. {localstack_core-4.7.1.dev139.data → localstack_core-4.10.1.dev42.data}/scripts/localstack.bat +0 -0
  206. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/WHEEL +0 -0
  207. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/licenses/LICENSE.txt +0 -0
  208. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  from datetime import datetime
2
2
  from enum import StrEnum
3
- from typing import Dict, List, Optional, TypedDict
3
+ from typing import TypedDict
4
4
 
5
5
  from localstack.aws.api import RequestContext, ServiceException, ServiceRequest, handler
6
6
 
@@ -27,6 +27,7 @@ SAMLProviderNameType = str
27
27
  accessKeyIdType = str
28
28
  accessKeySecretType = str
29
29
  accountAliasType = str
30
+ accountIdType = str
30
31
  allUsers = bool
31
32
  arnType = str
32
33
  attachmentCountType = int
@@ -37,11 +38,14 @@ certificateBodyType = str
37
38
  certificateChainType = str
38
39
  certificateIdType = str
39
40
  clientIDType = str
41
+ consoleDeepLinkType = str
40
42
  credentialAgeDays = int
41
43
  credentialReportExpiredExceptionMessage = str
42
44
  credentialReportNotPresentExceptionMessage = str
43
45
  credentialReportNotReadyExceptionMessage = str
44
46
  customSuffixType = str
47
+ delegationRequestDescriptionType = str
48
+ delegationRequestIdType = str
45
49
  deleteConflictMessage = str
46
50
  duplicateCertificateMessage = str
47
51
  duplicateSSHPublicKeyMessage = str
@@ -68,6 +72,7 @@ maxItemsType = int
68
72
  maxPasswordAgeType = int
69
73
  minimumPasswordLengthType = int
70
74
  noSuchEntityMessage = str
75
+ notificationChannelType = str
71
76
  openIdIdpCommunicationErrorExceptionMessage = str
72
77
  organizationsEntityPathType = str
73
78
  organizationsPolicyIdType = str
@@ -81,6 +86,8 @@ policyDocumentType = str
81
86
  policyEvaluationErrorMessage = str
82
87
  policyNameType = str
83
88
  policyNotAttachableMessage = str
89
+ policyParameterNameType = str
90
+ policyParameterValueType = str
84
91
  policyPathType = str
85
92
  policyVersionIdType = str
86
93
  privateKeyIdType = str
@@ -88,7 +95,10 @@ privateKeyType = str
88
95
  publicKeyFingerprintType = str
89
96
  publicKeyIdType = str
90
97
  publicKeyMaterialType = str
98
+ redirectUrlType = str
91
99
  reportGenerationLimitExceededMessage = str
100
+ requestMessageType = str
101
+ requestorWorkflowIdType = str
92
102
  responseMarkerType = str
93
103
  roleDescriptionType = str
94
104
  roleMaxSessionDurationType = int
@@ -105,6 +115,7 @@ serviceNotSupportedMessage = str
105
115
  servicePassword = str
106
116
  serviceSpecificCredentialId = str
107
117
  serviceUserName = str
118
+ sessionDurationType = int
108
119
  stringType = str
109
120
  summaryValueType = int
110
121
  tagKeyType = str
@@ -166,6 +177,11 @@ class PolicyEvaluationDecisionType(StrEnum):
166
177
  implicitDeny = "implicitDeny"
167
178
 
168
179
 
180
+ class PolicyParameterTypeEnum(StrEnum):
181
+ string = "string"
182
+ stringList = "stringList"
183
+
184
+
169
185
  class PolicySourceType(StrEnum):
170
186
  user = "user"
171
187
  group = "group"
@@ -276,6 +292,13 @@ class summaryKeyType(StrEnum):
276
292
  PolicyVersionsInUseQuota = "PolicyVersionsInUseQuota"
277
293
  VersionsPerPolicyQuota = "VersionsPerPolicyQuota"
278
294
  GlobalEndpointTokenVersion = "GlobalEndpointTokenVersion"
295
+ AssumeRolePolicySizeQuota = "AssumeRolePolicySizeQuota"
296
+ InstanceProfiles = "InstanceProfiles"
297
+ InstanceProfilesQuota = "InstanceProfilesQuota"
298
+ Providers = "Providers"
299
+ RolePolicySizeQuota = "RolePolicySizeQuota"
300
+ Roles = "Roles"
301
+ RolesQuota = "RolesQuota"
279
302
 
280
303
 
281
304
  class AccountNotManagementOrDelegatedAdministratorException(ServiceException):
@@ -482,13 +505,13 @@ dateType = datetime
482
505
  class AccessDetail(TypedDict, total=False):
483
506
  ServiceName: serviceNameType
484
507
  ServiceNamespace: serviceNamespaceType
485
- Region: Optional[stringType]
486
- EntityPath: Optional[organizationsEntityPathType]
487
- LastAuthenticatedTime: Optional[dateType]
488
- TotalAuthenticatedEntities: Optional[integerType]
508
+ Region: stringType | None
509
+ EntityPath: organizationsEntityPathType | None
510
+ LastAuthenticatedTime: dateType | None
511
+ TotalAuthenticatedEntities: integerType | None
489
512
 
490
513
 
491
- AccessDetails = List[AccessDetail]
514
+ AccessDetails = list[AccessDetail]
492
515
 
493
516
 
494
517
  class AccessKey(TypedDict, total=False):
@@ -496,23 +519,23 @@ class AccessKey(TypedDict, total=False):
496
519
  AccessKeyId: accessKeyIdType
497
520
  Status: statusType
498
521
  SecretAccessKey: accessKeySecretType
499
- CreateDate: Optional[dateType]
522
+ CreateDate: dateType | None
500
523
 
501
524
 
502
525
  class AccessKeyLastUsed(TypedDict, total=False):
503
- LastUsedDate: Optional[dateType]
526
+ LastUsedDate: dateType | None
504
527
  ServiceName: stringType
505
528
  Region: stringType
506
529
 
507
530
 
508
531
  class AccessKeyMetadata(TypedDict, total=False):
509
- UserName: Optional[userNameType]
510
- AccessKeyId: Optional[accessKeyIdType]
511
- Status: Optional[statusType]
512
- CreateDate: Optional[dateType]
532
+ UserName: userNameType | None
533
+ AccessKeyId: accessKeyIdType | None
534
+ Status: statusType | None
535
+ CreateDate: dateType | None
513
536
 
514
537
 
515
- ActionNameListType = List[ActionNameType]
538
+ ActionNameListType = list[ActionNameType]
516
539
 
517
540
 
518
541
  class AddClientIDToOpenIDConnectProviderRequest(ServiceRequest):
@@ -530,7 +553,7 @@ class AddUserToGroupRequest(ServiceRequest):
530
553
  UserName: existingUserNameType
531
554
 
532
555
 
533
- ArnListType = List[arnType]
556
+ ArnListType = list[arnType]
534
557
 
535
558
 
536
559
  class AttachGroupPolicyRequest(ServiceRequest):
@@ -549,17 +572,17 @@ class AttachUserPolicyRequest(ServiceRequest):
549
572
 
550
573
 
551
574
  class AttachedPermissionsBoundary(TypedDict, total=False):
552
- PermissionsBoundaryType: Optional[PermissionsBoundaryAttachmentType]
553
- PermissionsBoundaryArn: Optional[arnType]
575
+ PermissionsBoundaryType: PermissionsBoundaryAttachmentType | None
576
+ PermissionsBoundaryArn: arnType | None
554
577
 
555
578
 
556
579
  class AttachedPolicy(TypedDict, total=False):
557
- PolicyName: Optional[policyNameType]
558
- PolicyArn: Optional[arnType]
580
+ PolicyName: policyNameType | None
581
+ PolicyArn: arnType | None
559
582
 
560
583
 
561
584
  BootstrapDatum = bytes
562
- CertificationMapType = Dict[CertificationKeyType, CertificationValueType]
585
+ CertificationMapType = dict[CertificationKeyType, CertificationValueType]
563
586
 
564
587
 
565
588
  class ChangePasswordRequest(ServiceRequest):
@@ -567,21 +590,21 @@ class ChangePasswordRequest(ServiceRequest):
567
590
  NewPassword: passwordType
568
591
 
569
592
 
570
- ContextKeyValueListType = List[ContextKeyValueType]
593
+ ContextKeyValueListType = list[ContextKeyValueType]
571
594
 
572
595
 
573
596
  class ContextEntry(TypedDict, total=False):
574
- ContextKeyName: Optional[ContextKeyNameType]
575
- ContextKeyValues: Optional[ContextKeyValueListType]
576
- ContextKeyType: Optional[ContextKeyTypeEnum]
597
+ ContextKeyName: ContextKeyNameType | None
598
+ ContextKeyValues: ContextKeyValueListType | None
599
+ ContextKeyType: ContextKeyTypeEnum | None
577
600
 
578
601
 
579
- ContextEntryListType = List[ContextEntry]
580
- ContextKeyNamesResultListType = List[ContextKeyNameType]
602
+ ContextEntryListType = list[ContextEntry]
603
+ ContextKeyNamesResultListType = list[ContextKeyNameType]
581
604
 
582
605
 
583
606
  class CreateAccessKeyRequest(ServiceRequest):
584
- UserName: Optional[existingUserNameType]
607
+ UserName: existingUserNameType | None
585
608
 
586
609
 
587
610
  class CreateAccessKeyResponse(TypedDict, total=False):
@@ -592,8 +615,42 @@ class CreateAccountAliasRequest(ServiceRequest):
592
615
  AccountAlias: accountAliasType
593
616
 
594
617
 
618
+ policyParameterValuesListType = list[policyParameterValueType]
619
+
620
+
621
+ class PolicyParameter(TypedDict, total=False):
622
+ Name: policyParameterNameType | None
623
+ Values: policyParameterValuesListType | None
624
+ Type: PolicyParameterTypeEnum | None
625
+
626
+
627
+ policyParameterListType = list[PolicyParameter]
628
+
629
+
630
+ class DelegationPermission(TypedDict, total=False):
631
+ PolicyTemplateArn: arnType | None
632
+ Parameters: policyParameterListType | None
633
+
634
+
635
+ class CreateDelegationRequestRequest(ServiceRequest):
636
+ OwnerAccountId: accountIdType | None
637
+ Description: delegationRequestDescriptionType
638
+ Permissions: DelegationPermission
639
+ RequestMessage: requestMessageType | None
640
+ RequestorWorkflowId: requestorWorkflowIdType
641
+ RedirectUrl: redirectUrlType | None
642
+ NotificationChannel: notificationChannelType
643
+ SessionDuration: sessionDurationType
644
+ OnlySendByOwner: booleanType | None
645
+
646
+
647
+ class CreateDelegationRequestResponse(TypedDict, total=False):
648
+ ConsoleDeepLink: consoleDeepLinkType | None
649
+ DelegationRequestId: delegationRequestIdType | None
650
+
651
+
595
652
  class CreateGroupRequest(ServiceRequest):
596
- Path: Optional[pathType]
653
+ Path: pathType | None
597
654
  GroupName: groupNameType
598
655
 
599
656
 
@@ -614,18 +671,18 @@ class Tag(TypedDict, total=False):
614
671
  Value: tagValueType
615
672
 
616
673
 
617
- tagListType = List[Tag]
674
+ tagListType = list[Tag]
618
675
 
619
676
 
620
677
  class CreateInstanceProfileRequest(ServiceRequest):
621
678
  InstanceProfileName: instanceProfileNameType
622
- Path: Optional[pathType]
623
- Tags: Optional[tagListType]
679
+ Path: pathType | None
680
+ Tags: tagListType | None
624
681
 
625
682
 
626
683
  class RoleLastUsed(TypedDict, total=False):
627
- LastUsedDate: Optional[dateType]
628
- Region: Optional[stringType]
684
+ LastUsedDate: dateType | None
685
+ Region: stringType | None
629
686
 
630
687
 
631
688
  class Role(TypedDict, total=False):
@@ -634,15 +691,15 @@ class Role(TypedDict, total=False):
634
691
  RoleId: idType
635
692
  Arn: arnType
636
693
  CreateDate: dateType
637
- AssumeRolePolicyDocument: Optional[policyDocumentType]
638
- Description: Optional[roleDescriptionType]
639
- MaxSessionDuration: Optional[roleMaxSessionDurationType]
640
- PermissionsBoundary: Optional[AttachedPermissionsBoundary]
641
- Tags: Optional[tagListType]
642
- RoleLastUsed: Optional[RoleLastUsed]
694
+ AssumeRolePolicyDocument: policyDocumentType | None
695
+ Description: roleDescriptionType | None
696
+ MaxSessionDuration: roleMaxSessionDurationType | None
697
+ PermissionsBoundary: AttachedPermissionsBoundary | None
698
+ Tags: tagListType | None
699
+ RoleLastUsed: RoleLastUsed | None
643
700
 
644
701
 
645
- roleListType = List[Role]
702
+ roleListType = list[Role]
646
703
 
647
704
 
648
705
  class InstanceProfile(TypedDict, total=False):
@@ -652,7 +709,7 @@ class InstanceProfile(TypedDict, total=False):
652
709
  Arn: arnType
653
710
  CreateDate: dateType
654
711
  Roles: roleListType
655
- Tags: Optional[tagListType]
712
+ Tags: tagListType | None
656
713
 
657
714
 
658
715
  class CreateInstanceProfileResponse(TypedDict, total=False):
@@ -660,89 +717,89 @@ class CreateInstanceProfileResponse(TypedDict, total=False):
660
717
 
661
718
 
662
719
  class CreateLoginProfileRequest(ServiceRequest):
663
- UserName: Optional[userNameType]
664
- Password: Optional[passwordType]
665
- PasswordResetRequired: Optional[booleanType]
720
+ UserName: userNameType | None
721
+ Password: passwordType | None
722
+ PasswordResetRequired: booleanType | None
666
723
 
667
724
 
668
725
  class LoginProfile(TypedDict, total=False):
669
726
  UserName: userNameType
670
727
  CreateDate: dateType
671
- PasswordResetRequired: Optional[booleanType]
728
+ PasswordResetRequired: booleanType | None
672
729
 
673
730
 
674
731
  class CreateLoginProfileResponse(TypedDict, total=False):
675
732
  LoginProfile: LoginProfile
676
733
 
677
734
 
678
- thumbprintListType = List[thumbprintType]
679
- clientIDListType = List[clientIDType]
735
+ thumbprintListType = list[thumbprintType]
736
+ clientIDListType = list[clientIDType]
680
737
 
681
738
 
682
739
  class CreateOpenIDConnectProviderRequest(ServiceRequest):
683
740
  Url: OpenIDConnectProviderUrlType
684
- ClientIDList: Optional[clientIDListType]
685
- ThumbprintList: Optional[thumbprintListType]
686
- Tags: Optional[tagListType]
741
+ ClientIDList: clientIDListType | None
742
+ ThumbprintList: thumbprintListType | None
743
+ Tags: tagListType | None
687
744
 
688
745
 
689
746
  class CreateOpenIDConnectProviderResponse(TypedDict, total=False):
690
- OpenIDConnectProviderArn: Optional[arnType]
691
- Tags: Optional[tagListType]
747
+ OpenIDConnectProviderArn: arnType | None
748
+ Tags: tagListType | None
692
749
 
693
750
 
694
751
  class CreatePolicyRequest(ServiceRequest):
695
752
  PolicyName: policyNameType
696
- Path: Optional[policyPathType]
753
+ Path: policyPathType | None
697
754
  PolicyDocument: policyDocumentType
698
- Description: Optional[policyDescriptionType]
699
- Tags: Optional[tagListType]
755
+ Description: policyDescriptionType | None
756
+ Tags: tagListType | None
700
757
 
701
758
 
702
759
  class Policy(TypedDict, total=False):
703
- PolicyName: Optional[policyNameType]
704
- PolicyId: Optional[idType]
705
- Arn: Optional[arnType]
706
- Path: Optional[policyPathType]
707
- DefaultVersionId: Optional[policyVersionIdType]
708
- AttachmentCount: Optional[attachmentCountType]
709
- PermissionsBoundaryUsageCount: Optional[attachmentCountType]
710
- IsAttachable: Optional[booleanType]
711
- Description: Optional[policyDescriptionType]
712
- CreateDate: Optional[dateType]
713
- UpdateDate: Optional[dateType]
714
- Tags: Optional[tagListType]
760
+ PolicyName: policyNameType | None
761
+ PolicyId: idType | None
762
+ Arn: arnType | None
763
+ Path: policyPathType | None
764
+ DefaultVersionId: policyVersionIdType | None
765
+ AttachmentCount: attachmentCountType | None
766
+ PermissionsBoundaryUsageCount: attachmentCountType | None
767
+ IsAttachable: booleanType | None
768
+ Description: policyDescriptionType | None
769
+ CreateDate: dateType | None
770
+ UpdateDate: dateType | None
771
+ Tags: tagListType | None
715
772
 
716
773
 
717
774
  class CreatePolicyResponse(TypedDict, total=False):
718
- Policy: Optional[Policy]
775
+ Policy: Policy | None
719
776
 
720
777
 
721
778
  class CreatePolicyVersionRequest(ServiceRequest):
722
779
  PolicyArn: arnType
723
780
  PolicyDocument: policyDocumentType
724
- SetAsDefault: Optional[booleanType]
781
+ SetAsDefault: booleanType | None
725
782
 
726
783
 
727
784
  class PolicyVersion(TypedDict, total=False):
728
- Document: Optional[policyDocumentType]
729
- VersionId: Optional[policyVersionIdType]
730
- IsDefaultVersion: Optional[booleanType]
731
- CreateDate: Optional[dateType]
785
+ Document: policyDocumentType | None
786
+ VersionId: policyVersionIdType | None
787
+ IsDefaultVersion: booleanType | None
788
+ CreateDate: dateType | None
732
789
 
733
790
 
734
791
  class CreatePolicyVersionResponse(TypedDict, total=False):
735
- PolicyVersion: Optional[PolicyVersion]
792
+ PolicyVersion: PolicyVersion | None
736
793
 
737
794
 
738
795
  class CreateRoleRequest(ServiceRequest):
739
- Path: Optional[pathType]
796
+ Path: pathType | None
740
797
  RoleName: roleNameType
741
798
  AssumeRolePolicyDocument: policyDocumentType
742
- Description: Optional[roleDescriptionType]
743
- MaxSessionDuration: Optional[roleMaxSessionDurationType]
744
- PermissionsBoundary: Optional[arnType]
745
- Tags: Optional[tagListType]
799
+ Description: roleDescriptionType | None
800
+ MaxSessionDuration: roleMaxSessionDurationType | None
801
+ PermissionsBoundary: arnType | None
802
+ Tags: tagListType | None
746
803
 
747
804
 
748
805
  class CreateRoleResponse(TypedDict, total=False):
@@ -752,54 +809,54 @@ class CreateRoleResponse(TypedDict, total=False):
752
809
  class CreateSAMLProviderRequest(ServiceRequest):
753
810
  SAMLMetadataDocument: SAMLMetadataDocumentType
754
811
  Name: SAMLProviderNameType
755
- Tags: Optional[tagListType]
756
- AssertionEncryptionMode: Optional[assertionEncryptionModeType]
757
- AddPrivateKey: Optional[privateKeyType]
812
+ Tags: tagListType | None
813
+ AssertionEncryptionMode: assertionEncryptionModeType | None
814
+ AddPrivateKey: privateKeyType | None
758
815
 
759
816
 
760
817
  class CreateSAMLProviderResponse(TypedDict, total=False):
761
- SAMLProviderArn: Optional[arnType]
762
- Tags: Optional[tagListType]
818
+ SAMLProviderArn: arnType | None
819
+ Tags: tagListType | None
763
820
 
764
821
 
765
822
  class CreateServiceLinkedRoleRequest(ServiceRequest):
766
823
  AWSServiceName: groupNameType
767
- Description: Optional[roleDescriptionType]
768
- CustomSuffix: Optional[customSuffixType]
824
+ Description: roleDescriptionType | None
825
+ CustomSuffix: customSuffixType | None
769
826
 
770
827
 
771
828
  class CreateServiceLinkedRoleResponse(TypedDict, total=False):
772
- Role: Optional[Role]
829
+ Role: Role | None
773
830
 
774
831
 
775
832
  class CreateServiceSpecificCredentialRequest(ServiceRequest):
776
833
  UserName: userNameType
777
834
  ServiceName: serviceName
778
- CredentialAgeDays: Optional[credentialAgeDays]
835
+ CredentialAgeDays: credentialAgeDays | None
779
836
 
780
837
 
781
838
  class ServiceSpecificCredential(TypedDict, total=False):
782
839
  CreateDate: dateType
783
- ExpirationDate: Optional[dateType]
840
+ ExpirationDate: dateType | None
784
841
  ServiceName: serviceName
785
- ServiceUserName: Optional[serviceUserName]
786
- ServicePassword: Optional[servicePassword]
787
- ServiceCredentialAlias: Optional[serviceCredentialAlias]
788
- ServiceCredentialSecret: Optional[serviceCredentialSecret]
842
+ ServiceUserName: serviceUserName | None
843
+ ServicePassword: servicePassword | None
844
+ ServiceCredentialAlias: serviceCredentialAlias | None
845
+ ServiceCredentialSecret: serviceCredentialSecret | None
789
846
  ServiceSpecificCredentialId: serviceSpecificCredentialId
790
847
  UserName: userNameType
791
848
  Status: statusType
792
849
 
793
850
 
794
851
  class CreateServiceSpecificCredentialResponse(TypedDict, total=False):
795
- ServiceSpecificCredential: Optional[ServiceSpecificCredential]
852
+ ServiceSpecificCredential: ServiceSpecificCredential | None
796
853
 
797
854
 
798
855
  class CreateUserRequest(ServiceRequest):
799
- Path: Optional[pathType]
856
+ Path: pathType | None
800
857
  UserName: userNameType
801
- PermissionsBoundary: Optional[arnType]
802
- Tags: Optional[tagListType]
858
+ PermissionsBoundary: arnType | None
859
+ Tags: tagListType | None
803
860
 
804
861
 
805
862
  class User(TypedDict, total=False):
@@ -808,28 +865,28 @@ class User(TypedDict, total=False):
808
865
  UserId: idType
809
866
  Arn: arnType
810
867
  CreateDate: dateType
811
- PasswordLastUsed: Optional[dateType]
812
- PermissionsBoundary: Optional[AttachedPermissionsBoundary]
813
- Tags: Optional[tagListType]
868
+ PasswordLastUsed: dateType | None
869
+ PermissionsBoundary: AttachedPermissionsBoundary | None
870
+ Tags: tagListType | None
814
871
 
815
872
 
816
873
  class CreateUserResponse(TypedDict, total=False):
817
- User: Optional[User]
874
+ User: User | None
818
875
 
819
876
 
820
877
  class CreateVirtualMFADeviceRequest(ServiceRequest):
821
- Path: Optional[pathType]
878
+ Path: pathType | None
822
879
  VirtualMFADeviceName: virtualMFADeviceName
823
- Tags: Optional[tagListType]
880
+ Tags: tagListType | None
824
881
 
825
882
 
826
883
  class VirtualMFADevice(TypedDict, total=False):
827
884
  SerialNumber: serialNumberType
828
- Base32StringSeed: Optional[BootstrapDatum]
829
- QRCodePNG: Optional[BootstrapDatum]
830
- User: Optional[User]
831
- EnableDate: Optional[dateType]
832
- Tags: Optional[tagListType]
885
+ Base32StringSeed: BootstrapDatum | None
886
+ QRCodePNG: BootstrapDatum | None
887
+ User: User | None
888
+ EnableDate: dateType | None
889
+ Tags: tagListType | None
833
890
 
834
891
 
835
892
  class CreateVirtualMFADeviceResponse(TypedDict, total=False):
@@ -837,12 +894,12 @@ class CreateVirtualMFADeviceResponse(TypedDict, total=False):
837
894
 
838
895
 
839
896
  class DeactivateMFADeviceRequest(ServiceRequest):
840
- UserName: Optional[existingUserNameType]
897
+ UserName: existingUserNameType | None
841
898
  SerialNumber: serialNumberType
842
899
 
843
900
 
844
901
  class DeleteAccessKeyRequest(ServiceRequest):
845
- UserName: Optional[existingUserNameType]
902
+ UserName: existingUserNameType | None
846
903
  AccessKeyId: accessKeyIdType
847
904
 
848
905
 
@@ -864,7 +921,7 @@ class DeleteInstanceProfileRequest(ServiceRequest):
864
921
 
865
922
 
866
923
  class DeleteLoginProfileRequest(ServiceRequest):
867
- UserName: Optional[userNameType]
924
+ UserName: userNameType | None
868
925
 
869
926
 
870
927
  class DeleteOpenIDConnectProviderRequest(ServiceRequest):
@@ -915,12 +972,12 @@ class DeleteServiceLinkedRoleResponse(TypedDict, total=False):
915
972
 
916
973
 
917
974
  class DeleteServiceSpecificCredentialRequest(ServiceRequest):
918
- UserName: Optional[userNameType]
975
+ UserName: userNameType | None
919
976
  ServiceSpecificCredentialId: serviceSpecificCredentialId
920
977
 
921
978
 
922
979
  class DeleteSigningCertificateRequest(ServiceRequest):
923
- UserName: Optional[existingUserNameType]
980
+ UserName: existingUserNameType | None
924
981
  CertificateId: certificateIdType
925
982
 
926
983
 
@@ -942,16 +999,16 @@ class DeleteVirtualMFADeviceRequest(ServiceRequest):
942
999
 
943
1000
 
944
1001
  class RoleUsageType(TypedDict, total=False):
945
- Region: Optional[RegionNameType]
946
- Resources: Optional[ArnListType]
1002
+ Region: RegionNameType | None
1003
+ Resources: ArnListType | None
947
1004
 
948
1005
 
949
- RoleUsageListType = List[RoleUsageType]
1006
+ RoleUsageListType = list[RoleUsageType]
950
1007
 
951
1008
 
952
1009
  class DeletionTaskFailureReasonType(TypedDict, total=False):
953
- Reason: Optional[ReasonType]
954
- RoleUsageList: Optional[RoleUsageListType]
1010
+ Reason: ReasonType | None
1011
+ RoleUsageList: RoleUsageListType | None
955
1012
 
956
1013
 
957
1014
  class DetachGroupPolicyRequest(ServiceRequest):
@@ -973,12 +1030,12 @@ class DisableOrganizationsRootCredentialsManagementRequest(ServiceRequest):
973
1030
  pass
974
1031
 
975
1032
 
976
- FeaturesListType = List[FeatureType]
1033
+ FeaturesListType = list[FeatureType]
977
1034
 
978
1035
 
979
1036
  class DisableOrganizationsRootCredentialsManagementResponse(TypedDict, total=False):
980
- OrganizationId: Optional[OrganizationIdType]
981
- EnabledFeatures: Optional[FeaturesListType]
1037
+ OrganizationId: OrganizationIdType | None
1038
+ EnabledFeatures: FeaturesListType | None
982
1039
 
983
1040
 
984
1041
  class DisableOrganizationsRootSessionsRequest(ServiceRequest):
@@ -986,8 +1043,8 @@ class DisableOrganizationsRootSessionsRequest(ServiceRequest):
986
1043
 
987
1044
 
988
1045
  class DisableOrganizationsRootSessionsResponse(TypedDict, total=False):
989
- OrganizationId: Optional[OrganizationIdType]
990
- EnabledFeatures: Optional[FeaturesListType]
1046
+ OrganizationId: OrganizationIdType | None
1047
+ EnabledFeatures: FeaturesListType | None
991
1048
 
992
1049
 
993
1050
  class EnableMFADeviceRequest(ServiceRequest):
@@ -1002,8 +1059,8 @@ class EnableOrganizationsRootCredentialsManagementRequest(ServiceRequest):
1002
1059
 
1003
1060
 
1004
1061
  class EnableOrganizationsRootCredentialsManagementResponse(TypedDict, total=False):
1005
- OrganizationId: Optional[OrganizationIdType]
1006
- EnabledFeatures: Optional[FeaturesListType]
1062
+ OrganizationId: OrganizationIdType | None
1063
+ EnabledFeatures: FeaturesListType | None
1007
1064
 
1008
1065
 
1009
1066
  class EnableOrganizationsRootSessionsRequest(ServiceRequest):
@@ -1011,8 +1068,8 @@ class EnableOrganizationsRootSessionsRequest(ServiceRequest):
1011
1068
 
1012
1069
 
1013
1070
  class EnableOrganizationsRootSessionsResponse(TypedDict, total=False):
1014
- OrganizationId: Optional[OrganizationIdType]
1015
- EnabledFeatures: Optional[FeaturesListType]
1071
+ OrganizationId: OrganizationIdType | None
1072
+ EnabledFeatures: FeaturesListType | None
1016
1073
 
1017
1074
 
1018
1075
  class EntityInfo(TypedDict, total=False):
@@ -1020,12 +1077,12 @@ class EntityInfo(TypedDict, total=False):
1020
1077
  Name: userNameType
1021
1078
  Type: policyOwnerEntityType
1022
1079
  Id: idType
1023
- Path: Optional[pathType]
1080
+ Path: pathType | None
1024
1081
 
1025
1082
 
1026
1083
  class EntityDetails(TypedDict, total=False):
1027
1084
  EntityInfo: EntityInfo
1028
- LastAuthenticated: Optional[dateType]
1085
+ LastAuthenticated: dateType | None
1029
1086
 
1030
1087
 
1031
1088
  class ErrorDetails(TypedDict, total=False):
@@ -1033,80 +1090,80 @@ class ErrorDetails(TypedDict, total=False):
1033
1090
  Code: stringType
1034
1091
 
1035
1092
 
1036
- EvalDecisionDetailsType = Dict[EvalDecisionSourceType, PolicyEvaluationDecisionType]
1093
+ EvalDecisionDetailsType = dict[EvalDecisionSourceType, PolicyEvaluationDecisionType]
1037
1094
 
1038
1095
 
1039
1096
  class PermissionsBoundaryDecisionDetail(TypedDict, total=False):
1040
- AllowedByPermissionsBoundary: Optional[booleanType]
1097
+ AllowedByPermissionsBoundary: booleanType | None
1041
1098
 
1042
1099
 
1043
1100
  class Position(TypedDict, total=False):
1044
- Line: Optional[LineNumber]
1045
- Column: Optional[ColumnNumber]
1101
+ Line: LineNumber | None
1102
+ Column: ColumnNumber | None
1046
1103
 
1047
1104
 
1048
1105
  class Statement(TypedDict, total=False):
1049
- SourcePolicyId: Optional[PolicyIdentifierType]
1050
- SourcePolicyType: Optional[PolicySourceType]
1051
- StartPosition: Optional[Position]
1052
- EndPosition: Optional[Position]
1106
+ SourcePolicyId: PolicyIdentifierType | None
1107
+ SourcePolicyType: PolicySourceType | None
1108
+ StartPosition: Position | None
1109
+ EndPosition: Position | None
1053
1110
 
1054
1111
 
1055
- StatementListType = List[Statement]
1112
+ StatementListType = list[Statement]
1056
1113
 
1057
1114
 
1058
1115
  class ResourceSpecificResult(TypedDict, total=False):
1059
1116
  EvalResourceName: ResourceNameType
1060
1117
  EvalResourceDecision: PolicyEvaluationDecisionType
1061
- MatchedStatements: Optional[StatementListType]
1062
- MissingContextValues: Optional[ContextKeyNamesResultListType]
1063
- EvalDecisionDetails: Optional[EvalDecisionDetailsType]
1064
- PermissionsBoundaryDecisionDetail: Optional[PermissionsBoundaryDecisionDetail]
1118
+ MatchedStatements: StatementListType | None
1119
+ MissingContextValues: ContextKeyNamesResultListType | None
1120
+ EvalDecisionDetails: EvalDecisionDetailsType | None
1121
+ PermissionsBoundaryDecisionDetail: PermissionsBoundaryDecisionDetail | None
1065
1122
 
1066
1123
 
1067
- ResourceSpecificResultListType = List[ResourceSpecificResult]
1124
+ ResourceSpecificResultListType = list[ResourceSpecificResult]
1068
1125
 
1069
1126
 
1070
1127
  class OrganizationsDecisionDetail(TypedDict, total=False):
1071
- AllowedByOrganizations: Optional[booleanType]
1128
+ AllowedByOrganizations: booleanType | None
1072
1129
 
1073
1130
 
1074
1131
  class EvaluationResult(TypedDict, total=False):
1075
1132
  EvalActionName: ActionNameType
1076
- EvalResourceName: Optional[ResourceNameType]
1133
+ EvalResourceName: ResourceNameType | None
1077
1134
  EvalDecision: PolicyEvaluationDecisionType
1078
- MatchedStatements: Optional[StatementListType]
1079
- MissingContextValues: Optional[ContextKeyNamesResultListType]
1080
- OrganizationsDecisionDetail: Optional[OrganizationsDecisionDetail]
1081
- PermissionsBoundaryDecisionDetail: Optional[PermissionsBoundaryDecisionDetail]
1082
- EvalDecisionDetails: Optional[EvalDecisionDetailsType]
1083
- ResourceSpecificResults: Optional[ResourceSpecificResultListType]
1135
+ MatchedStatements: StatementListType | None
1136
+ MissingContextValues: ContextKeyNamesResultListType | None
1137
+ OrganizationsDecisionDetail: OrganizationsDecisionDetail | None
1138
+ PermissionsBoundaryDecisionDetail: PermissionsBoundaryDecisionDetail | None
1139
+ EvalDecisionDetails: EvalDecisionDetailsType | None
1140
+ ResourceSpecificResults: ResourceSpecificResultListType | None
1084
1141
 
1085
1142
 
1086
- EvaluationResultsListType = List[EvaluationResult]
1143
+ EvaluationResultsListType = list[EvaluationResult]
1087
1144
 
1088
1145
 
1089
1146
  class GenerateCredentialReportResponse(TypedDict, total=False):
1090
- State: Optional[ReportStateType]
1091
- Description: Optional[ReportStateDescriptionType]
1147
+ State: ReportStateType | None
1148
+ Description: ReportStateDescriptionType | None
1092
1149
 
1093
1150
 
1094
1151
  class GenerateOrganizationsAccessReportRequest(ServiceRequest):
1095
1152
  EntityPath: organizationsEntityPathType
1096
- OrganizationsPolicyId: Optional[organizationsPolicyIdType]
1153
+ OrganizationsPolicyId: organizationsPolicyIdType | None
1097
1154
 
1098
1155
 
1099
1156
  class GenerateOrganizationsAccessReportResponse(TypedDict, total=False):
1100
- JobId: Optional[jobIDType]
1157
+ JobId: jobIDType | None
1101
1158
 
1102
1159
 
1103
1160
  class GenerateServiceLastAccessedDetailsRequest(ServiceRequest):
1104
1161
  Arn: arnType
1105
- Granularity: Optional[AccessAdvisorUsageGranularityType]
1162
+ Granularity: AccessAdvisorUsageGranularityType | None
1106
1163
 
1107
1164
 
1108
1165
  class GenerateServiceLastAccessedDetailsResponse(TypedDict, total=False):
1109
- JobId: Optional[jobIDType]
1166
+ JobId: jobIDType | None
1110
1167
 
1111
1168
 
1112
1169
  class GetAccessKeyLastUsedRequest(ServiceRequest):
@@ -1114,132 +1171,132 @@ class GetAccessKeyLastUsedRequest(ServiceRequest):
1114
1171
 
1115
1172
 
1116
1173
  class GetAccessKeyLastUsedResponse(TypedDict, total=False):
1117
- UserName: Optional[existingUserNameType]
1118
- AccessKeyLastUsed: Optional[AccessKeyLastUsed]
1174
+ UserName: existingUserNameType | None
1175
+ AccessKeyLastUsed: AccessKeyLastUsed | None
1119
1176
 
1120
1177
 
1121
- entityListType = List[EntityType]
1178
+ entityListType = list[EntityType]
1122
1179
 
1123
1180
 
1124
1181
  class GetAccountAuthorizationDetailsRequest(ServiceRequest):
1125
- Filter: Optional[entityListType]
1126
- MaxItems: Optional[maxItemsType]
1127
- Marker: Optional[markerType]
1182
+ Filter: entityListType | None
1183
+ MaxItems: maxItemsType | None
1184
+ Marker: markerType | None
1128
1185
 
1129
1186
 
1130
- policyDocumentVersionListType = List[PolicyVersion]
1187
+ policyDocumentVersionListType = list[PolicyVersion]
1131
1188
 
1132
1189
 
1133
1190
  class ManagedPolicyDetail(TypedDict, total=False):
1134
- PolicyName: Optional[policyNameType]
1135
- PolicyId: Optional[idType]
1136
- Arn: Optional[arnType]
1137
- Path: Optional[policyPathType]
1138
- DefaultVersionId: Optional[policyVersionIdType]
1139
- AttachmentCount: Optional[attachmentCountType]
1140
- PermissionsBoundaryUsageCount: Optional[attachmentCountType]
1141
- IsAttachable: Optional[booleanType]
1142
- Description: Optional[policyDescriptionType]
1143
- CreateDate: Optional[dateType]
1144
- UpdateDate: Optional[dateType]
1145
- PolicyVersionList: Optional[policyDocumentVersionListType]
1191
+ PolicyName: policyNameType | None
1192
+ PolicyId: idType | None
1193
+ Arn: arnType | None
1194
+ Path: policyPathType | None
1195
+ DefaultVersionId: policyVersionIdType | None
1196
+ AttachmentCount: attachmentCountType | None
1197
+ PermissionsBoundaryUsageCount: attachmentCountType | None
1198
+ IsAttachable: booleanType | None
1199
+ Description: policyDescriptionType | None
1200
+ CreateDate: dateType | None
1201
+ UpdateDate: dateType | None
1202
+ PolicyVersionList: policyDocumentVersionListType | None
1146
1203
 
1147
1204
 
1148
- ManagedPolicyDetailListType = List[ManagedPolicyDetail]
1149
- attachedPoliciesListType = List[AttachedPolicy]
1205
+ ManagedPolicyDetailListType = list[ManagedPolicyDetail]
1206
+ attachedPoliciesListType = list[AttachedPolicy]
1150
1207
 
1151
1208
 
1152
1209
  class PolicyDetail(TypedDict, total=False):
1153
- PolicyName: Optional[policyNameType]
1154
- PolicyDocument: Optional[policyDocumentType]
1210
+ PolicyName: policyNameType | None
1211
+ PolicyDocument: policyDocumentType | None
1155
1212
 
1156
1213
 
1157
- policyDetailListType = List[PolicyDetail]
1158
- instanceProfileListType = List[InstanceProfile]
1214
+ policyDetailListType = list[PolicyDetail]
1215
+ instanceProfileListType = list[InstanceProfile]
1159
1216
 
1160
1217
 
1161
1218
  class RoleDetail(TypedDict, total=False):
1162
- Path: Optional[pathType]
1163
- RoleName: Optional[roleNameType]
1164
- RoleId: Optional[idType]
1165
- Arn: Optional[arnType]
1166
- CreateDate: Optional[dateType]
1167
- AssumeRolePolicyDocument: Optional[policyDocumentType]
1168
- InstanceProfileList: Optional[instanceProfileListType]
1169
- RolePolicyList: Optional[policyDetailListType]
1170
- AttachedManagedPolicies: Optional[attachedPoliciesListType]
1171
- PermissionsBoundary: Optional[AttachedPermissionsBoundary]
1172
- Tags: Optional[tagListType]
1173
- RoleLastUsed: Optional[RoleLastUsed]
1219
+ Path: pathType | None
1220
+ RoleName: roleNameType | None
1221
+ RoleId: idType | None
1222
+ Arn: arnType | None
1223
+ CreateDate: dateType | None
1224
+ AssumeRolePolicyDocument: policyDocumentType | None
1225
+ InstanceProfileList: instanceProfileListType | None
1226
+ RolePolicyList: policyDetailListType | None
1227
+ AttachedManagedPolicies: attachedPoliciesListType | None
1228
+ PermissionsBoundary: AttachedPermissionsBoundary | None
1229
+ Tags: tagListType | None
1230
+ RoleLastUsed: RoleLastUsed | None
1174
1231
 
1175
1232
 
1176
- roleDetailListType = List[RoleDetail]
1233
+ roleDetailListType = list[RoleDetail]
1177
1234
 
1178
1235
 
1179
1236
  class GroupDetail(TypedDict, total=False):
1180
- Path: Optional[pathType]
1181
- GroupName: Optional[groupNameType]
1182
- GroupId: Optional[idType]
1183
- Arn: Optional[arnType]
1184
- CreateDate: Optional[dateType]
1185
- GroupPolicyList: Optional[policyDetailListType]
1186
- AttachedManagedPolicies: Optional[attachedPoliciesListType]
1237
+ Path: pathType | None
1238
+ GroupName: groupNameType | None
1239
+ GroupId: idType | None
1240
+ Arn: arnType | None
1241
+ CreateDate: dateType | None
1242
+ GroupPolicyList: policyDetailListType | None
1243
+ AttachedManagedPolicies: attachedPoliciesListType | None
1187
1244
 
1188
1245
 
1189
- groupDetailListType = List[GroupDetail]
1190
- groupNameListType = List[groupNameType]
1246
+ groupDetailListType = list[GroupDetail]
1247
+ groupNameListType = list[groupNameType]
1191
1248
 
1192
1249
 
1193
1250
  class UserDetail(TypedDict, total=False):
1194
- Path: Optional[pathType]
1195
- UserName: Optional[userNameType]
1196
- UserId: Optional[idType]
1197
- Arn: Optional[arnType]
1198
- CreateDate: Optional[dateType]
1199
- UserPolicyList: Optional[policyDetailListType]
1200
- GroupList: Optional[groupNameListType]
1201
- AttachedManagedPolicies: Optional[attachedPoliciesListType]
1202
- PermissionsBoundary: Optional[AttachedPermissionsBoundary]
1203
- Tags: Optional[tagListType]
1251
+ Path: pathType | None
1252
+ UserName: userNameType | None
1253
+ UserId: idType | None
1254
+ Arn: arnType | None
1255
+ CreateDate: dateType | None
1256
+ UserPolicyList: policyDetailListType | None
1257
+ GroupList: groupNameListType | None
1258
+ AttachedManagedPolicies: attachedPoliciesListType | None
1259
+ PermissionsBoundary: AttachedPermissionsBoundary | None
1260
+ Tags: tagListType | None
1204
1261
 
1205
1262
 
1206
- userDetailListType = List[UserDetail]
1263
+ userDetailListType = list[UserDetail]
1207
1264
 
1208
1265
 
1209
1266
  class GetAccountAuthorizationDetailsResponse(TypedDict, total=False):
1210
- UserDetailList: Optional[userDetailListType]
1211
- GroupDetailList: Optional[groupDetailListType]
1212
- RoleDetailList: Optional[roleDetailListType]
1213
- Policies: Optional[ManagedPolicyDetailListType]
1214
- IsTruncated: Optional[booleanType]
1215
- Marker: Optional[responseMarkerType]
1267
+ UserDetailList: userDetailListType | None
1268
+ GroupDetailList: groupDetailListType | None
1269
+ RoleDetailList: roleDetailListType | None
1270
+ Policies: ManagedPolicyDetailListType | None
1271
+ IsTruncated: booleanType | None
1272
+ Marker: responseMarkerType | None
1216
1273
 
1217
1274
 
1218
1275
  class PasswordPolicy(TypedDict, total=False):
1219
- MinimumPasswordLength: Optional[minimumPasswordLengthType]
1220
- RequireSymbols: Optional[booleanType]
1221
- RequireNumbers: Optional[booleanType]
1222
- RequireUppercaseCharacters: Optional[booleanType]
1223
- RequireLowercaseCharacters: Optional[booleanType]
1224
- AllowUsersToChangePassword: Optional[booleanType]
1225
- ExpirePasswords: Optional[booleanType]
1226
- MaxPasswordAge: Optional[maxPasswordAgeType]
1227
- PasswordReusePrevention: Optional[passwordReusePreventionType]
1228
- HardExpiry: Optional[booleanObjectType]
1276
+ MinimumPasswordLength: minimumPasswordLengthType | None
1277
+ RequireSymbols: booleanType | None
1278
+ RequireNumbers: booleanType | None
1279
+ RequireUppercaseCharacters: booleanType | None
1280
+ RequireLowercaseCharacters: booleanType | None
1281
+ AllowUsersToChangePassword: booleanType | None
1282
+ ExpirePasswords: booleanType | None
1283
+ MaxPasswordAge: maxPasswordAgeType | None
1284
+ PasswordReusePrevention: passwordReusePreventionType | None
1285
+ HardExpiry: booleanObjectType | None
1229
1286
 
1230
1287
 
1231
1288
  class GetAccountPasswordPolicyResponse(TypedDict, total=False):
1232
1289
  PasswordPolicy: PasswordPolicy
1233
1290
 
1234
1291
 
1235
- summaryMapType = Dict[summaryKeyType, summaryValueType]
1292
+ summaryMapType = dict[summaryKeyType, summaryValueType]
1236
1293
 
1237
1294
 
1238
1295
  class GetAccountSummaryResponse(TypedDict, total=False):
1239
- SummaryMap: Optional[summaryMapType]
1296
+ SummaryMap: summaryMapType | None
1240
1297
 
1241
1298
 
1242
- SimulationPolicyListType = List[policyDocumentType]
1299
+ SimulationPolicyListType = list[policyDocumentType]
1243
1300
 
1244
1301
 
1245
1302
  class GetContextKeysForCustomPolicyRequest(ServiceRequest):
@@ -1247,21 +1304,21 @@ class GetContextKeysForCustomPolicyRequest(ServiceRequest):
1247
1304
 
1248
1305
 
1249
1306
  class GetContextKeysForPolicyResponse(TypedDict, total=False):
1250
- ContextKeyNames: Optional[ContextKeyNamesResultListType]
1307
+ ContextKeyNames: ContextKeyNamesResultListType | None
1251
1308
 
1252
1309
 
1253
1310
  class GetContextKeysForPrincipalPolicyRequest(ServiceRequest):
1254
1311
  PolicySourceArn: arnType
1255
- PolicyInputList: Optional[SimulationPolicyListType]
1312
+ PolicyInputList: SimulationPolicyListType | None
1256
1313
 
1257
1314
 
1258
1315
  ReportContentType = bytes
1259
1316
 
1260
1317
 
1261
1318
  class GetCredentialReportResponse(TypedDict, total=False):
1262
- Content: Optional[ReportContentType]
1263
- ReportFormat: Optional[ReportFormatType]
1264
- GeneratedTime: Optional[dateType]
1319
+ Content: ReportContentType | None
1320
+ ReportFormat: ReportFormatType | None
1321
+ GeneratedTime: dateType | None
1265
1322
 
1266
1323
 
1267
1324
  class GetGroupPolicyRequest(ServiceRequest):
@@ -1277,18 +1334,18 @@ class GetGroupPolicyResponse(TypedDict, total=False):
1277
1334
 
1278
1335
  class GetGroupRequest(ServiceRequest):
1279
1336
  GroupName: groupNameType
1280
- Marker: Optional[markerType]
1281
- MaxItems: Optional[maxItemsType]
1337
+ Marker: markerType | None
1338
+ MaxItems: maxItemsType | None
1282
1339
 
1283
1340
 
1284
- userListType = List[User]
1341
+ userListType = list[User]
1285
1342
 
1286
1343
 
1287
1344
  class GetGroupResponse(TypedDict, total=False):
1288
1345
  Group: Group
1289
1346
  Users: userListType
1290
- IsTruncated: Optional[booleanType]
1291
- Marker: Optional[responseMarkerType]
1347
+ IsTruncated: booleanType | None
1348
+ Marker: responseMarkerType | None
1292
1349
 
1293
1350
 
1294
1351
  class GetInstanceProfileRequest(ServiceRequest):
@@ -1300,7 +1357,7 @@ class GetInstanceProfileResponse(TypedDict, total=False):
1300
1357
 
1301
1358
 
1302
1359
  class GetLoginProfileRequest(ServiceRequest):
1303
- UserName: Optional[userNameType]
1360
+ UserName: userNameType | None
1304
1361
 
1305
1362
 
1306
1363
  class GetLoginProfileResponse(TypedDict, total=False):
@@ -1309,14 +1366,14 @@ class GetLoginProfileResponse(TypedDict, total=False):
1309
1366
 
1310
1367
  class GetMFADeviceRequest(ServiceRequest):
1311
1368
  SerialNumber: serialNumberType
1312
- UserName: Optional[userNameType]
1369
+ UserName: userNameType | None
1313
1370
 
1314
1371
 
1315
1372
  class GetMFADeviceResponse(TypedDict, total=False):
1316
- UserName: Optional[userNameType]
1373
+ UserName: userNameType | None
1317
1374
  SerialNumber: serialNumberType
1318
- EnableDate: Optional[dateType]
1319
- Certifications: Optional[CertificationMapType]
1375
+ EnableDate: dateType | None
1376
+ Certifications: CertificationMapType | None
1320
1377
 
1321
1378
 
1322
1379
  class GetOpenIDConnectProviderRequest(ServiceRequest):
@@ -1324,30 +1381,30 @@ class GetOpenIDConnectProviderRequest(ServiceRequest):
1324
1381
 
1325
1382
 
1326
1383
  class GetOpenIDConnectProviderResponse(TypedDict, total=False):
1327
- Url: Optional[OpenIDConnectProviderUrlType]
1328
- ClientIDList: Optional[clientIDListType]
1329
- ThumbprintList: Optional[thumbprintListType]
1330
- CreateDate: Optional[dateType]
1331
- Tags: Optional[tagListType]
1384
+ Url: OpenIDConnectProviderUrlType | None
1385
+ ClientIDList: clientIDListType | None
1386
+ ThumbprintList: thumbprintListType | None
1387
+ CreateDate: dateType | None
1388
+ Tags: tagListType | None
1332
1389
 
1333
1390
 
1334
1391
  class GetOrganizationsAccessReportRequest(ServiceRequest):
1335
1392
  JobId: jobIDType
1336
- MaxItems: Optional[maxItemsType]
1337
- Marker: Optional[markerType]
1338
- SortKey: Optional[sortKeyType]
1393
+ MaxItems: maxItemsType | None
1394
+ Marker: markerType | None
1395
+ SortKey: sortKeyType | None
1339
1396
 
1340
1397
 
1341
1398
  class GetOrganizationsAccessReportResponse(TypedDict, total=False):
1342
1399
  JobStatus: jobStatusType
1343
1400
  JobCreationDate: dateType
1344
- JobCompletionDate: Optional[dateType]
1345
- NumberOfServicesAccessible: Optional[integerType]
1346
- NumberOfServicesNotAccessed: Optional[integerType]
1347
- AccessDetails: Optional[AccessDetails]
1348
- IsTruncated: Optional[booleanType]
1349
- Marker: Optional[markerType]
1350
- ErrorDetails: Optional[ErrorDetails]
1401
+ JobCompletionDate: dateType | None
1402
+ NumberOfServicesAccessible: integerType | None
1403
+ NumberOfServicesNotAccessed: integerType | None
1404
+ AccessDetails: AccessDetails | None
1405
+ IsTruncated: booleanType | None
1406
+ Marker: markerType | None
1407
+ ErrorDetails: ErrorDetails | None
1351
1408
 
1352
1409
 
1353
1410
  class GetPolicyRequest(ServiceRequest):
@@ -1355,7 +1412,7 @@ class GetPolicyRequest(ServiceRequest):
1355
1412
 
1356
1413
 
1357
1414
  class GetPolicyResponse(TypedDict, total=False):
1358
- Policy: Optional[Policy]
1415
+ Policy: Policy | None
1359
1416
 
1360
1417
 
1361
1418
  class GetPolicyVersionRequest(ServiceRequest):
@@ -1364,7 +1421,7 @@ class GetPolicyVersionRequest(ServiceRequest):
1364
1421
 
1365
1422
 
1366
1423
  class GetPolicyVersionResponse(TypedDict, total=False):
1367
- PolicyVersion: Optional[PolicyVersion]
1424
+ PolicyVersion: PolicyVersion | None
1368
1425
 
1369
1426
 
1370
1427
  class GetRolePolicyRequest(ServiceRequest):
@@ -1391,21 +1448,21 @@ class GetSAMLProviderRequest(ServiceRequest):
1391
1448
 
1392
1449
 
1393
1450
  class SAMLPrivateKey(TypedDict, total=False):
1394
- KeyId: Optional[privateKeyIdType]
1395
- Timestamp: Optional[dateType]
1451
+ KeyId: privateKeyIdType | None
1452
+ Timestamp: dateType | None
1396
1453
 
1397
1454
 
1398
- privateKeyList = List[SAMLPrivateKey]
1455
+ privateKeyList = list[SAMLPrivateKey]
1399
1456
 
1400
1457
 
1401
1458
  class GetSAMLProviderResponse(TypedDict, total=False):
1402
- SAMLProviderUUID: Optional[privateKeyIdType]
1403
- SAMLMetadataDocument: Optional[SAMLMetadataDocumentType]
1404
- CreateDate: Optional[dateType]
1405
- ValidUntil: Optional[dateType]
1406
- Tags: Optional[tagListType]
1407
- AssertionEncryptionMode: Optional[assertionEncryptionModeType]
1408
- PrivateKeyList: Optional[privateKeyList]
1459
+ SAMLProviderUUID: privateKeyIdType | None
1460
+ SAMLMetadataDocument: SAMLMetadataDocumentType | None
1461
+ CreateDate: dateType | None
1462
+ ValidUntil: dateType | None
1463
+ Tags: tagListType | None
1464
+ AssertionEncryptionMode: assertionEncryptionModeType | None
1465
+ PrivateKeyList: privateKeyList | None
1409
1466
 
1410
1467
 
1411
1468
  class GetSSHPublicKeyRequest(ServiceRequest):
@@ -1420,11 +1477,11 @@ class SSHPublicKey(TypedDict, total=False):
1420
1477
  Fingerprint: publicKeyFingerprintType
1421
1478
  SSHPublicKeyBody: publicKeyMaterialType
1422
1479
  Status: statusType
1423
- UploadDate: Optional[dateType]
1480
+ UploadDate: dateType | None
1424
1481
 
1425
1482
 
1426
1483
  class GetSSHPublicKeyResponse(TypedDict, total=False):
1427
- SSHPublicKey: Optional[SSHPublicKey]
1484
+ SSHPublicKey: SSHPublicKey | None
1428
1485
 
1429
1486
 
1430
1487
  class GetServerCertificateRequest(ServiceRequest):
@@ -1436,15 +1493,15 @@ class ServerCertificateMetadata(TypedDict, total=False):
1436
1493
  ServerCertificateName: serverCertificateNameType
1437
1494
  ServerCertificateId: idType
1438
1495
  Arn: arnType
1439
- UploadDate: Optional[dateType]
1440
- Expiration: Optional[dateType]
1496
+ UploadDate: dateType | None
1497
+ Expiration: dateType | None
1441
1498
 
1442
1499
 
1443
1500
  class ServerCertificate(TypedDict, total=False):
1444
1501
  ServerCertificateMetadata: ServerCertificateMetadata
1445
1502
  CertificateBody: certificateBodyType
1446
- CertificateChain: Optional[certificateChainType]
1447
- Tags: Optional[tagListType]
1503
+ CertificateChain: certificateChainType | None
1504
+ Tags: tagListType | None
1448
1505
 
1449
1506
 
1450
1507
  class GetServerCertificateResponse(TypedDict, total=False):
@@ -1453,52 +1510,52 @@ class GetServerCertificateResponse(TypedDict, total=False):
1453
1510
 
1454
1511
  class GetServiceLastAccessedDetailsRequest(ServiceRequest):
1455
1512
  JobId: jobIDType
1456
- MaxItems: Optional[maxItemsType]
1457
- Marker: Optional[markerType]
1513
+ MaxItems: maxItemsType | None
1514
+ Marker: markerType | None
1458
1515
 
1459
1516
 
1460
1517
  class TrackedActionLastAccessed(TypedDict, total=False):
1461
- ActionName: Optional[stringType]
1462
- LastAccessedEntity: Optional[arnType]
1463
- LastAccessedTime: Optional[dateType]
1464
- LastAccessedRegion: Optional[stringType]
1518
+ ActionName: stringType | None
1519
+ LastAccessedEntity: arnType | None
1520
+ LastAccessedTime: dateType | None
1521
+ LastAccessedRegion: stringType | None
1465
1522
 
1466
1523
 
1467
- TrackedActionsLastAccessed = List[TrackedActionLastAccessed]
1524
+ TrackedActionsLastAccessed = list[TrackedActionLastAccessed]
1468
1525
 
1469
1526
 
1470
1527
  class ServiceLastAccessed(TypedDict, total=False):
1471
1528
  ServiceName: serviceNameType
1472
- LastAuthenticated: Optional[dateType]
1529
+ LastAuthenticated: dateType | None
1473
1530
  ServiceNamespace: serviceNamespaceType
1474
- LastAuthenticatedEntity: Optional[arnType]
1475
- LastAuthenticatedRegion: Optional[stringType]
1476
- TotalAuthenticatedEntities: Optional[integerType]
1477
- TrackedActionsLastAccessed: Optional[TrackedActionsLastAccessed]
1531
+ LastAuthenticatedEntity: arnType | None
1532
+ LastAuthenticatedRegion: stringType | None
1533
+ TotalAuthenticatedEntities: integerType | None
1534
+ TrackedActionsLastAccessed: TrackedActionsLastAccessed | None
1478
1535
 
1479
1536
 
1480
- ServicesLastAccessed = List[ServiceLastAccessed]
1537
+ ServicesLastAccessed = list[ServiceLastAccessed]
1481
1538
 
1482
1539
 
1483
1540
  class GetServiceLastAccessedDetailsResponse(TypedDict, total=False):
1484
1541
  JobStatus: jobStatusType
1485
- JobType: Optional[AccessAdvisorUsageGranularityType]
1542
+ JobType: AccessAdvisorUsageGranularityType | None
1486
1543
  JobCreationDate: dateType
1487
1544
  ServicesLastAccessed: ServicesLastAccessed
1488
1545
  JobCompletionDate: dateType
1489
- IsTruncated: Optional[booleanType]
1490
- Marker: Optional[responseMarkerType]
1491
- Error: Optional[ErrorDetails]
1546
+ IsTruncated: booleanType | None
1547
+ Marker: responseMarkerType | None
1548
+ Error: ErrorDetails | None
1492
1549
 
1493
1550
 
1494
1551
  class GetServiceLastAccessedDetailsWithEntitiesRequest(ServiceRequest):
1495
1552
  JobId: jobIDType
1496
1553
  ServiceNamespace: serviceNamespaceType
1497
- MaxItems: Optional[maxItemsType]
1498
- Marker: Optional[markerType]
1554
+ MaxItems: maxItemsType | None
1555
+ Marker: markerType | None
1499
1556
 
1500
1557
 
1501
- entityDetailsListType = List[EntityDetails]
1558
+ entityDetailsListType = list[EntityDetails]
1502
1559
 
1503
1560
 
1504
1561
  class GetServiceLastAccessedDetailsWithEntitiesResponse(TypedDict, total=False):
@@ -1506,9 +1563,9 @@ class GetServiceLastAccessedDetailsWithEntitiesResponse(TypedDict, total=False):
1506
1563
  JobCreationDate: dateType
1507
1564
  JobCompletionDate: dateType
1508
1565
  EntityDetailsList: entityDetailsListType
1509
- IsTruncated: Optional[booleanType]
1510
- Marker: Optional[responseMarkerType]
1511
- Error: Optional[ErrorDetails]
1566
+ IsTruncated: booleanType | None
1567
+ Marker: responseMarkerType | None
1568
+ Error: ErrorDetails | None
1512
1569
 
1513
1570
 
1514
1571
  class GetServiceLinkedRoleDeletionStatusRequest(ServiceRequest):
@@ -1517,7 +1574,7 @@ class GetServiceLinkedRoleDeletionStatusRequest(ServiceRequest):
1517
1574
 
1518
1575
  class GetServiceLinkedRoleDeletionStatusResponse(TypedDict, total=False):
1519
1576
  Status: DeletionTaskStatusType
1520
- Reason: Optional[DeletionTaskFailureReasonType]
1577
+ Reason: DeletionTaskFailureReasonType | None
1521
1578
 
1522
1579
 
1523
1580
  class GetUserPolicyRequest(ServiceRequest):
@@ -1532,7 +1589,7 @@ class GetUserPolicyResponse(TypedDict, total=False):
1532
1589
 
1533
1590
 
1534
1591
  class GetUserRequest(ServiceRequest):
1535
- UserName: Optional[existingUserNameType]
1592
+ UserName: existingUserNameType | None
1536
1593
 
1537
1594
 
1538
1595
  class GetUserResponse(TypedDict, total=False):
@@ -1540,208 +1597,208 @@ class GetUserResponse(TypedDict, total=False):
1540
1597
 
1541
1598
 
1542
1599
  class ListAccessKeysRequest(ServiceRequest):
1543
- UserName: Optional[existingUserNameType]
1544
- Marker: Optional[markerType]
1545
- MaxItems: Optional[maxItemsType]
1600
+ UserName: existingUserNameType | None
1601
+ Marker: markerType | None
1602
+ MaxItems: maxItemsType | None
1546
1603
 
1547
1604
 
1548
- accessKeyMetadataListType = List[AccessKeyMetadata]
1605
+ accessKeyMetadataListType = list[AccessKeyMetadata]
1549
1606
 
1550
1607
 
1551
1608
  class ListAccessKeysResponse(TypedDict, total=False):
1552
1609
  AccessKeyMetadata: accessKeyMetadataListType
1553
- IsTruncated: Optional[booleanType]
1554
- Marker: Optional[responseMarkerType]
1610
+ IsTruncated: booleanType | None
1611
+ Marker: responseMarkerType | None
1555
1612
 
1556
1613
 
1557
1614
  class ListAccountAliasesRequest(ServiceRequest):
1558
- Marker: Optional[markerType]
1559
- MaxItems: Optional[maxItemsType]
1615
+ Marker: markerType | None
1616
+ MaxItems: maxItemsType | None
1560
1617
 
1561
1618
 
1562
- accountAliasListType = List[accountAliasType]
1619
+ accountAliasListType = list[accountAliasType]
1563
1620
 
1564
1621
 
1565
1622
  class ListAccountAliasesResponse(TypedDict, total=False):
1566
1623
  AccountAliases: accountAliasListType
1567
- IsTruncated: Optional[booleanType]
1568
- Marker: Optional[responseMarkerType]
1624
+ IsTruncated: booleanType | None
1625
+ Marker: responseMarkerType | None
1569
1626
 
1570
1627
 
1571
1628
  class ListAttachedGroupPoliciesRequest(ServiceRequest):
1572
1629
  GroupName: groupNameType
1573
- PathPrefix: Optional[policyPathType]
1574
- Marker: Optional[markerType]
1575
- MaxItems: Optional[maxItemsType]
1630
+ PathPrefix: policyPathType | None
1631
+ Marker: markerType | None
1632
+ MaxItems: maxItemsType | None
1576
1633
 
1577
1634
 
1578
1635
  class ListAttachedGroupPoliciesResponse(TypedDict, total=False):
1579
- AttachedPolicies: Optional[attachedPoliciesListType]
1580
- IsTruncated: Optional[booleanType]
1581
- Marker: Optional[responseMarkerType]
1636
+ AttachedPolicies: attachedPoliciesListType | None
1637
+ IsTruncated: booleanType | None
1638
+ Marker: responseMarkerType | None
1582
1639
 
1583
1640
 
1584
1641
  class ListAttachedRolePoliciesRequest(ServiceRequest):
1585
1642
  RoleName: roleNameType
1586
- PathPrefix: Optional[policyPathType]
1587
- Marker: Optional[markerType]
1588
- MaxItems: Optional[maxItemsType]
1643
+ PathPrefix: policyPathType | None
1644
+ Marker: markerType | None
1645
+ MaxItems: maxItemsType | None
1589
1646
 
1590
1647
 
1591
1648
  class ListAttachedRolePoliciesResponse(TypedDict, total=False):
1592
- AttachedPolicies: Optional[attachedPoliciesListType]
1593
- IsTruncated: Optional[booleanType]
1594
- Marker: Optional[responseMarkerType]
1649
+ AttachedPolicies: attachedPoliciesListType | None
1650
+ IsTruncated: booleanType | None
1651
+ Marker: responseMarkerType | None
1595
1652
 
1596
1653
 
1597
1654
  class ListAttachedUserPoliciesRequest(ServiceRequest):
1598
1655
  UserName: userNameType
1599
- PathPrefix: Optional[policyPathType]
1600
- Marker: Optional[markerType]
1601
- MaxItems: Optional[maxItemsType]
1656
+ PathPrefix: policyPathType | None
1657
+ Marker: markerType | None
1658
+ MaxItems: maxItemsType | None
1602
1659
 
1603
1660
 
1604
1661
  class ListAttachedUserPoliciesResponse(TypedDict, total=False):
1605
- AttachedPolicies: Optional[attachedPoliciesListType]
1606
- IsTruncated: Optional[booleanType]
1607
- Marker: Optional[responseMarkerType]
1662
+ AttachedPolicies: attachedPoliciesListType | None
1663
+ IsTruncated: booleanType | None
1664
+ Marker: responseMarkerType | None
1608
1665
 
1609
1666
 
1610
1667
  class ListEntitiesForPolicyRequest(ServiceRequest):
1611
1668
  PolicyArn: arnType
1612
- EntityFilter: Optional[EntityType]
1613
- PathPrefix: Optional[pathType]
1614
- PolicyUsageFilter: Optional[PolicyUsageType]
1615
- Marker: Optional[markerType]
1616
- MaxItems: Optional[maxItemsType]
1669
+ EntityFilter: EntityType | None
1670
+ PathPrefix: pathType | None
1671
+ PolicyUsageFilter: PolicyUsageType | None
1672
+ Marker: markerType | None
1673
+ MaxItems: maxItemsType | None
1617
1674
 
1618
1675
 
1619
1676
  class PolicyRole(TypedDict, total=False):
1620
- RoleName: Optional[roleNameType]
1621
- RoleId: Optional[idType]
1677
+ RoleName: roleNameType | None
1678
+ RoleId: idType | None
1622
1679
 
1623
1680
 
1624
- PolicyRoleListType = List[PolicyRole]
1681
+ PolicyRoleListType = list[PolicyRole]
1625
1682
 
1626
1683
 
1627
1684
  class PolicyUser(TypedDict, total=False):
1628
- UserName: Optional[userNameType]
1629
- UserId: Optional[idType]
1685
+ UserName: userNameType | None
1686
+ UserId: idType | None
1630
1687
 
1631
1688
 
1632
- PolicyUserListType = List[PolicyUser]
1689
+ PolicyUserListType = list[PolicyUser]
1633
1690
 
1634
1691
 
1635
1692
  class PolicyGroup(TypedDict, total=False):
1636
- GroupName: Optional[groupNameType]
1637
- GroupId: Optional[idType]
1693
+ GroupName: groupNameType | None
1694
+ GroupId: idType | None
1638
1695
 
1639
1696
 
1640
- PolicyGroupListType = List[PolicyGroup]
1697
+ PolicyGroupListType = list[PolicyGroup]
1641
1698
 
1642
1699
 
1643
1700
  class ListEntitiesForPolicyResponse(TypedDict, total=False):
1644
- PolicyGroups: Optional[PolicyGroupListType]
1645
- PolicyUsers: Optional[PolicyUserListType]
1646
- PolicyRoles: Optional[PolicyRoleListType]
1647
- IsTruncated: Optional[booleanType]
1648
- Marker: Optional[responseMarkerType]
1701
+ PolicyGroups: PolicyGroupListType | None
1702
+ PolicyUsers: PolicyUserListType | None
1703
+ PolicyRoles: PolicyRoleListType | None
1704
+ IsTruncated: booleanType | None
1705
+ Marker: responseMarkerType | None
1649
1706
 
1650
1707
 
1651
1708
  class ListGroupPoliciesRequest(ServiceRequest):
1652
1709
  GroupName: groupNameType
1653
- Marker: Optional[markerType]
1654
- MaxItems: Optional[maxItemsType]
1710
+ Marker: markerType | None
1711
+ MaxItems: maxItemsType | None
1655
1712
 
1656
1713
 
1657
- policyNameListType = List[policyNameType]
1714
+ policyNameListType = list[policyNameType]
1658
1715
 
1659
1716
 
1660
1717
  class ListGroupPoliciesResponse(TypedDict, total=False):
1661
1718
  PolicyNames: policyNameListType
1662
- IsTruncated: Optional[booleanType]
1663
- Marker: Optional[responseMarkerType]
1719
+ IsTruncated: booleanType | None
1720
+ Marker: responseMarkerType | None
1664
1721
 
1665
1722
 
1666
1723
  class ListGroupsForUserRequest(ServiceRequest):
1667
1724
  UserName: existingUserNameType
1668
- Marker: Optional[markerType]
1669
- MaxItems: Optional[maxItemsType]
1725
+ Marker: markerType | None
1726
+ MaxItems: maxItemsType | None
1670
1727
 
1671
1728
 
1672
- groupListType = List[Group]
1729
+ groupListType = list[Group]
1673
1730
 
1674
1731
 
1675
1732
  class ListGroupsForUserResponse(TypedDict, total=False):
1676
1733
  Groups: groupListType
1677
- IsTruncated: Optional[booleanType]
1678
- Marker: Optional[responseMarkerType]
1734
+ IsTruncated: booleanType | None
1735
+ Marker: responseMarkerType | None
1679
1736
 
1680
1737
 
1681
1738
  class ListGroupsRequest(ServiceRequest):
1682
- PathPrefix: Optional[pathPrefixType]
1683
- Marker: Optional[markerType]
1684
- MaxItems: Optional[maxItemsType]
1739
+ PathPrefix: pathPrefixType | None
1740
+ Marker: markerType | None
1741
+ MaxItems: maxItemsType | None
1685
1742
 
1686
1743
 
1687
1744
  class ListGroupsResponse(TypedDict, total=False):
1688
1745
  Groups: groupListType
1689
- IsTruncated: Optional[booleanType]
1690
- Marker: Optional[responseMarkerType]
1746
+ IsTruncated: booleanType | None
1747
+ Marker: responseMarkerType | None
1691
1748
 
1692
1749
 
1693
1750
  class ListInstanceProfileTagsRequest(ServiceRequest):
1694
1751
  InstanceProfileName: instanceProfileNameType
1695
- Marker: Optional[markerType]
1696
- MaxItems: Optional[maxItemsType]
1752
+ Marker: markerType | None
1753
+ MaxItems: maxItemsType | None
1697
1754
 
1698
1755
 
1699
1756
  class ListInstanceProfileTagsResponse(TypedDict, total=False):
1700
1757
  Tags: tagListType
1701
- IsTruncated: Optional[booleanType]
1702
- Marker: Optional[responseMarkerType]
1758
+ IsTruncated: booleanType | None
1759
+ Marker: responseMarkerType | None
1703
1760
 
1704
1761
 
1705
1762
  class ListInstanceProfilesForRoleRequest(ServiceRequest):
1706
1763
  RoleName: roleNameType
1707
- Marker: Optional[markerType]
1708
- MaxItems: Optional[maxItemsType]
1764
+ Marker: markerType | None
1765
+ MaxItems: maxItemsType | None
1709
1766
 
1710
1767
 
1711
1768
  class ListInstanceProfilesForRoleResponse(TypedDict, total=False):
1712
1769
  InstanceProfiles: instanceProfileListType
1713
- IsTruncated: Optional[booleanType]
1714
- Marker: Optional[responseMarkerType]
1770
+ IsTruncated: booleanType | None
1771
+ Marker: responseMarkerType | None
1715
1772
 
1716
1773
 
1717
1774
  class ListInstanceProfilesRequest(ServiceRequest):
1718
- PathPrefix: Optional[pathPrefixType]
1719
- Marker: Optional[markerType]
1720
- MaxItems: Optional[maxItemsType]
1775
+ PathPrefix: pathPrefixType | None
1776
+ Marker: markerType | None
1777
+ MaxItems: maxItemsType | None
1721
1778
 
1722
1779
 
1723
1780
  class ListInstanceProfilesResponse(TypedDict, total=False):
1724
1781
  InstanceProfiles: instanceProfileListType
1725
- IsTruncated: Optional[booleanType]
1726
- Marker: Optional[responseMarkerType]
1782
+ IsTruncated: booleanType | None
1783
+ Marker: responseMarkerType | None
1727
1784
 
1728
1785
 
1729
1786
  class ListMFADeviceTagsRequest(ServiceRequest):
1730
1787
  SerialNumber: serialNumberType
1731
- Marker: Optional[markerType]
1732
- MaxItems: Optional[maxItemsType]
1788
+ Marker: markerType | None
1789
+ MaxItems: maxItemsType | None
1733
1790
 
1734
1791
 
1735
1792
  class ListMFADeviceTagsResponse(TypedDict, total=False):
1736
1793
  Tags: tagListType
1737
- IsTruncated: Optional[booleanType]
1738
- Marker: Optional[responseMarkerType]
1794
+ IsTruncated: booleanType | None
1795
+ Marker: responseMarkerType | None
1739
1796
 
1740
1797
 
1741
1798
  class ListMFADevicesRequest(ServiceRequest):
1742
- UserName: Optional[existingUserNameType]
1743
- Marker: Optional[markerType]
1744
- MaxItems: Optional[maxItemsType]
1799
+ UserName: existingUserNameType | None
1800
+ Marker: markerType | None
1801
+ MaxItems: maxItemsType | None
1745
1802
 
1746
1803
 
1747
1804
  class MFADevice(TypedDict, total=False):
@@ -1750,25 +1807,25 @@ class MFADevice(TypedDict, total=False):
1750
1807
  EnableDate: dateType
1751
1808
 
1752
1809
 
1753
- mfaDeviceListType = List[MFADevice]
1810
+ mfaDeviceListType = list[MFADevice]
1754
1811
 
1755
1812
 
1756
1813
  class ListMFADevicesResponse(TypedDict, total=False):
1757
1814
  MFADevices: mfaDeviceListType
1758
- IsTruncated: Optional[booleanType]
1759
- Marker: Optional[responseMarkerType]
1815
+ IsTruncated: booleanType | None
1816
+ Marker: responseMarkerType | None
1760
1817
 
1761
1818
 
1762
1819
  class ListOpenIDConnectProviderTagsRequest(ServiceRequest):
1763
1820
  OpenIDConnectProviderArn: arnType
1764
- Marker: Optional[markerType]
1765
- MaxItems: Optional[maxItemsType]
1821
+ Marker: markerType | None
1822
+ MaxItems: maxItemsType | None
1766
1823
 
1767
1824
 
1768
1825
  class ListOpenIDConnectProviderTagsResponse(TypedDict, total=False):
1769
1826
  Tags: tagListType
1770
- IsTruncated: Optional[booleanType]
1771
- Marker: Optional[responseMarkerType]
1827
+ IsTruncated: booleanType | None
1828
+ Marker: responseMarkerType | None
1772
1829
 
1773
1830
 
1774
1831
  class ListOpenIDConnectProvidersRequest(ServiceRequest):
@@ -1776,14 +1833,14 @@ class ListOpenIDConnectProvidersRequest(ServiceRequest):
1776
1833
 
1777
1834
 
1778
1835
  class OpenIDConnectProviderListEntry(TypedDict, total=False):
1779
- Arn: Optional[arnType]
1836
+ Arn: arnType | None
1780
1837
 
1781
1838
 
1782
- OpenIDConnectProviderListType = List[OpenIDConnectProviderListEntry]
1839
+ OpenIDConnectProviderListType = list[OpenIDConnectProviderListEntry]
1783
1840
 
1784
1841
 
1785
1842
  class ListOpenIDConnectProvidersResponse(TypedDict, total=False):
1786
- OpenIDConnectProviderList: Optional[OpenIDConnectProviderListType]
1843
+ OpenIDConnectProviderList: OpenIDConnectProviderListType | None
1787
1844
 
1788
1845
 
1789
1846
  class ListOrganizationsFeaturesRequest(ServiceRequest):
@@ -1791,132 +1848,132 @@ class ListOrganizationsFeaturesRequest(ServiceRequest):
1791
1848
 
1792
1849
 
1793
1850
  class ListOrganizationsFeaturesResponse(TypedDict, total=False):
1794
- OrganizationId: Optional[OrganizationIdType]
1795
- EnabledFeatures: Optional[FeaturesListType]
1851
+ OrganizationId: OrganizationIdType | None
1852
+ EnabledFeatures: FeaturesListType | None
1796
1853
 
1797
1854
 
1798
1855
  class PolicyGrantingServiceAccess(TypedDict, total=False):
1799
1856
  PolicyName: policyNameType
1800
1857
  PolicyType: policyType
1801
- PolicyArn: Optional[arnType]
1802
- EntityType: Optional[policyOwnerEntityType]
1803
- EntityName: Optional[entityNameType]
1858
+ PolicyArn: arnType | None
1859
+ EntityType: policyOwnerEntityType | None
1860
+ EntityName: entityNameType | None
1804
1861
 
1805
1862
 
1806
- policyGrantingServiceAccessListType = List[PolicyGrantingServiceAccess]
1863
+ policyGrantingServiceAccessListType = list[PolicyGrantingServiceAccess]
1807
1864
 
1808
1865
 
1809
1866
  class ListPoliciesGrantingServiceAccessEntry(TypedDict, total=False):
1810
- ServiceNamespace: Optional[serviceNamespaceType]
1811
- Policies: Optional[policyGrantingServiceAccessListType]
1867
+ ServiceNamespace: serviceNamespaceType | None
1868
+ Policies: policyGrantingServiceAccessListType | None
1812
1869
 
1813
1870
 
1814
- serviceNamespaceListType = List[serviceNamespaceType]
1871
+ serviceNamespaceListType = list[serviceNamespaceType]
1815
1872
 
1816
1873
 
1817
1874
  class ListPoliciesGrantingServiceAccessRequest(ServiceRequest):
1818
- Marker: Optional[markerType]
1875
+ Marker: markerType | None
1819
1876
  Arn: arnType
1820
1877
  ServiceNamespaces: serviceNamespaceListType
1821
1878
 
1822
1879
 
1823
- listPolicyGrantingServiceAccessResponseListType = List[ListPoliciesGrantingServiceAccessEntry]
1880
+ listPolicyGrantingServiceAccessResponseListType = list[ListPoliciesGrantingServiceAccessEntry]
1824
1881
 
1825
1882
 
1826
1883
  class ListPoliciesGrantingServiceAccessResponse(TypedDict, total=False):
1827
1884
  PoliciesGrantingServiceAccess: listPolicyGrantingServiceAccessResponseListType
1828
- IsTruncated: Optional[booleanType]
1829
- Marker: Optional[responseMarkerType]
1885
+ IsTruncated: booleanType | None
1886
+ Marker: responseMarkerType | None
1830
1887
 
1831
1888
 
1832
1889
  class ListPoliciesRequest(ServiceRequest):
1833
- Scope: Optional[policyScopeType]
1834
- OnlyAttached: Optional[booleanType]
1835
- PathPrefix: Optional[policyPathType]
1836
- PolicyUsageFilter: Optional[PolicyUsageType]
1837
- Marker: Optional[markerType]
1838
- MaxItems: Optional[maxItemsType]
1890
+ Scope: policyScopeType | None
1891
+ OnlyAttached: booleanType | None
1892
+ PathPrefix: policyPathType | None
1893
+ PolicyUsageFilter: PolicyUsageType | None
1894
+ Marker: markerType | None
1895
+ MaxItems: maxItemsType | None
1839
1896
 
1840
1897
 
1841
- policyListType = List[Policy]
1898
+ policyListType = list[Policy]
1842
1899
 
1843
1900
 
1844
1901
  class ListPoliciesResponse(TypedDict, total=False):
1845
- Policies: Optional[policyListType]
1846
- IsTruncated: Optional[booleanType]
1847
- Marker: Optional[responseMarkerType]
1902
+ Policies: policyListType | None
1903
+ IsTruncated: booleanType | None
1904
+ Marker: responseMarkerType | None
1848
1905
 
1849
1906
 
1850
1907
  class ListPolicyTagsRequest(ServiceRequest):
1851
1908
  PolicyArn: arnType
1852
- Marker: Optional[markerType]
1853
- MaxItems: Optional[maxItemsType]
1909
+ Marker: markerType | None
1910
+ MaxItems: maxItemsType | None
1854
1911
 
1855
1912
 
1856
1913
  class ListPolicyTagsResponse(TypedDict, total=False):
1857
1914
  Tags: tagListType
1858
- IsTruncated: Optional[booleanType]
1859
- Marker: Optional[responseMarkerType]
1915
+ IsTruncated: booleanType | None
1916
+ Marker: responseMarkerType | None
1860
1917
 
1861
1918
 
1862
1919
  class ListPolicyVersionsRequest(ServiceRequest):
1863
1920
  PolicyArn: arnType
1864
- Marker: Optional[markerType]
1865
- MaxItems: Optional[maxItemsType]
1921
+ Marker: markerType | None
1922
+ MaxItems: maxItemsType | None
1866
1923
 
1867
1924
 
1868
1925
  class ListPolicyVersionsResponse(TypedDict, total=False):
1869
- Versions: Optional[policyDocumentVersionListType]
1870
- IsTruncated: Optional[booleanType]
1871
- Marker: Optional[responseMarkerType]
1926
+ Versions: policyDocumentVersionListType | None
1927
+ IsTruncated: booleanType | None
1928
+ Marker: responseMarkerType | None
1872
1929
 
1873
1930
 
1874
1931
  class ListRolePoliciesRequest(ServiceRequest):
1875
1932
  RoleName: roleNameType
1876
- Marker: Optional[markerType]
1877
- MaxItems: Optional[maxItemsType]
1933
+ Marker: markerType | None
1934
+ MaxItems: maxItemsType | None
1878
1935
 
1879
1936
 
1880
1937
  class ListRolePoliciesResponse(TypedDict, total=False):
1881
1938
  PolicyNames: policyNameListType
1882
- IsTruncated: Optional[booleanType]
1883
- Marker: Optional[responseMarkerType]
1939
+ IsTruncated: booleanType | None
1940
+ Marker: responseMarkerType | None
1884
1941
 
1885
1942
 
1886
1943
  class ListRoleTagsRequest(ServiceRequest):
1887
1944
  RoleName: roleNameType
1888
- Marker: Optional[markerType]
1889
- MaxItems: Optional[maxItemsType]
1945
+ Marker: markerType | None
1946
+ MaxItems: maxItemsType | None
1890
1947
 
1891
1948
 
1892
1949
  class ListRoleTagsResponse(TypedDict, total=False):
1893
1950
  Tags: tagListType
1894
- IsTruncated: Optional[booleanType]
1895
- Marker: Optional[responseMarkerType]
1951
+ IsTruncated: booleanType | None
1952
+ Marker: responseMarkerType | None
1896
1953
 
1897
1954
 
1898
1955
  class ListRolesRequest(ServiceRequest):
1899
- PathPrefix: Optional[pathPrefixType]
1900
- Marker: Optional[markerType]
1901
- MaxItems: Optional[maxItemsType]
1956
+ PathPrefix: pathPrefixType | None
1957
+ Marker: markerType | None
1958
+ MaxItems: maxItemsType | None
1902
1959
 
1903
1960
 
1904
1961
  class ListRolesResponse(TypedDict, total=False):
1905
1962
  Roles: roleListType
1906
- IsTruncated: Optional[booleanType]
1907
- Marker: Optional[responseMarkerType]
1963
+ IsTruncated: booleanType | None
1964
+ Marker: responseMarkerType | None
1908
1965
 
1909
1966
 
1910
1967
  class ListSAMLProviderTagsRequest(ServiceRequest):
1911
1968
  SAMLProviderArn: arnType
1912
- Marker: Optional[markerType]
1913
- MaxItems: Optional[maxItemsType]
1969
+ Marker: markerType | None
1970
+ MaxItems: maxItemsType | None
1914
1971
 
1915
1972
 
1916
1973
  class ListSAMLProviderTagsResponse(TypedDict, total=False):
1917
1974
  Tags: tagListType
1918
- IsTruncated: Optional[booleanType]
1919
- Marker: Optional[responseMarkerType]
1975
+ IsTruncated: booleanType | None
1976
+ Marker: responseMarkerType | None
1920
1977
 
1921
1978
 
1922
1979
  class ListSAMLProvidersRequest(ServiceRequest):
@@ -1924,22 +1981,22 @@ class ListSAMLProvidersRequest(ServiceRequest):
1924
1981
 
1925
1982
 
1926
1983
  class SAMLProviderListEntry(TypedDict, total=False):
1927
- Arn: Optional[arnType]
1928
- ValidUntil: Optional[dateType]
1929
- CreateDate: Optional[dateType]
1984
+ Arn: arnType | None
1985
+ ValidUntil: dateType | None
1986
+ CreateDate: dateType | None
1930
1987
 
1931
1988
 
1932
- SAMLProviderListType = List[SAMLProviderListEntry]
1989
+ SAMLProviderListType = list[SAMLProviderListEntry]
1933
1990
 
1934
1991
 
1935
1992
  class ListSAMLProvidersResponse(TypedDict, total=False):
1936
- SAMLProviderList: Optional[SAMLProviderListType]
1993
+ SAMLProviderList: SAMLProviderListType | None
1937
1994
 
1938
1995
 
1939
1996
  class ListSSHPublicKeysRequest(ServiceRequest):
1940
- UserName: Optional[userNameType]
1941
- Marker: Optional[markerType]
1942
- MaxItems: Optional[maxItemsType]
1997
+ UserName: userNameType | None
1998
+ Marker: markerType | None
1999
+ MaxItems: maxItemsType | None
1943
2000
 
1944
2001
 
1945
2002
  class SSHPublicKeyMetadata(TypedDict, total=False):
@@ -1949,74 +2006,74 @@ class SSHPublicKeyMetadata(TypedDict, total=False):
1949
2006
  UploadDate: dateType
1950
2007
 
1951
2008
 
1952
- SSHPublicKeyListType = List[SSHPublicKeyMetadata]
2009
+ SSHPublicKeyListType = list[SSHPublicKeyMetadata]
1953
2010
 
1954
2011
 
1955
2012
  class ListSSHPublicKeysResponse(TypedDict, total=False):
1956
- SSHPublicKeys: Optional[SSHPublicKeyListType]
1957
- IsTruncated: Optional[booleanType]
1958
- Marker: Optional[responseMarkerType]
2013
+ SSHPublicKeys: SSHPublicKeyListType | None
2014
+ IsTruncated: booleanType | None
2015
+ Marker: responseMarkerType | None
1959
2016
 
1960
2017
 
1961
2018
  class ListServerCertificateTagsRequest(ServiceRequest):
1962
2019
  ServerCertificateName: serverCertificateNameType
1963
- Marker: Optional[markerType]
1964
- MaxItems: Optional[maxItemsType]
2020
+ Marker: markerType | None
2021
+ MaxItems: maxItemsType | None
1965
2022
 
1966
2023
 
1967
2024
  class ListServerCertificateTagsResponse(TypedDict, total=False):
1968
2025
  Tags: tagListType
1969
- IsTruncated: Optional[booleanType]
1970
- Marker: Optional[responseMarkerType]
2026
+ IsTruncated: booleanType | None
2027
+ Marker: responseMarkerType | None
1971
2028
 
1972
2029
 
1973
2030
  class ListServerCertificatesRequest(ServiceRequest):
1974
- PathPrefix: Optional[pathPrefixType]
1975
- Marker: Optional[markerType]
1976
- MaxItems: Optional[maxItemsType]
2031
+ PathPrefix: pathPrefixType | None
2032
+ Marker: markerType | None
2033
+ MaxItems: maxItemsType | None
1977
2034
 
1978
2035
 
1979
- serverCertificateMetadataListType = List[ServerCertificateMetadata]
2036
+ serverCertificateMetadataListType = list[ServerCertificateMetadata]
1980
2037
 
1981
2038
 
1982
2039
  class ListServerCertificatesResponse(TypedDict, total=False):
1983
2040
  ServerCertificateMetadataList: serverCertificateMetadataListType
1984
- IsTruncated: Optional[booleanType]
1985
- Marker: Optional[responseMarkerType]
2041
+ IsTruncated: booleanType | None
2042
+ Marker: responseMarkerType | None
1986
2043
 
1987
2044
 
1988
2045
  class ListServiceSpecificCredentialsRequest(ServiceRequest):
1989
- UserName: Optional[userNameType]
1990
- ServiceName: Optional[serviceName]
1991
- AllUsers: Optional[allUsers]
1992
- Marker: Optional[markerType]
1993
- MaxItems: Optional[maxItemsType]
2046
+ UserName: userNameType | None
2047
+ ServiceName: serviceName | None
2048
+ AllUsers: allUsers | None
2049
+ Marker: markerType | None
2050
+ MaxItems: maxItemsType | None
1994
2051
 
1995
2052
 
1996
2053
  class ServiceSpecificCredentialMetadata(TypedDict, total=False):
1997
2054
  UserName: userNameType
1998
2055
  Status: statusType
1999
- ServiceUserName: Optional[serviceUserName]
2000
- ServiceCredentialAlias: Optional[serviceCredentialAlias]
2056
+ ServiceUserName: serviceUserName | None
2057
+ ServiceCredentialAlias: serviceCredentialAlias | None
2001
2058
  CreateDate: dateType
2002
- ExpirationDate: Optional[dateType]
2059
+ ExpirationDate: dateType | None
2003
2060
  ServiceSpecificCredentialId: serviceSpecificCredentialId
2004
2061
  ServiceName: serviceName
2005
2062
 
2006
2063
 
2007
- ServiceSpecificCredentialsListType = List[ServiceSpecificCredentialMetadata]
2064
+ ServiceSpecificCredentialsListType = list[ServiceSpecificCredentialMetadata]
2008
2065
 
2009
2066
 
2010
2067
  class ListServiceSpecificCredentialsResponse(TypedDict, total=False):
2011
- ServiceSpecificCredentials: Optional[ServiceSpecificCredentialsListType]
2012
- Marker: Optional[responseMarkerType]
2013
- IsTruncated: Optional[booleanType]
2068
+ ServiceSpecificCredentials: ServiceSpecificCredentialsListType | None
2069
+ Marker: responseMarkerType | None
2070
+ IsTruncated: booleanType | None
2014
2071
 
2015
2072
 
2016
2073
  class ListSigningCertificatesRequest(ServiceRequest):
2017
- UserName: Optional[existingUserNameType]
2018
- Marker: Optional[markerType]
2019
- MaxItems: Optional[maxItemsType]
2074
+ UserName: existingUserNameType | None
2075
+ Marker: markerType | None
2076
+ MaxItems: maxItemsType | None
2020
2077
 
2021
2078
 
2022
2079
  class SigningCertificate(TypedDict, total=False):
@@ -2024,67 +2081,67 @@ class SigningCertificate(TypedDict, total=False):
2024
2081
  CertificateId: certificateIdType
2025
2082
  CertificateBody: certificateBodyType
2026
2083
  Status: statusType
2027
- UploadDate: Optional[dateType]
2084
+ UploadDate: dateType | None
2028
2085
 
2029
2086
 
2030
- certificateListType = List[SigningCertificate]
2087
+ certificateListType = list[SigningCertificate]
2031
2088
 
2032
2089
 
2033
2090
  class ListSigningCertificatesResponse(TypedDict, total=False):
2034
2091
  Certificates: certificateListType
2035
- IsTruncated: Optional[booleanType]
2036
- Marker: Optional[responseMarkerType]
2092
+ IsTruncated: booleanType | None
2093
+ Marker: responseMarkerType | None
2037
2094
 
2038
2095
 
2039
2096
  class ListUserPoliciesRequest(ServiceRequest):
2040
2097
  UserName: existingUserNameType
2041
- Marker: Optional[markerType]
2042
- MaxItems: Optional[maxItemsType]
2098
+ Marker: markerType | None
2099
+ MaxItems: maxItemsType | None
2043
2100
 
2044
2101
 
2045
2102
  class ListUserPoliciesResponse(TypedDict, total=False):
2046
2103
  PolicyNames: policyNameListType
2047
- IsTruncated: Optional[booleanType]
2048
- Marker: Optional[responseMarkerType]
2104
+ IsTruncated: booleanType | None
2105
+ Marker: responseMarkerType | None
2049
2106
 
2050
2107
 
2051
2108
  class ListUserTagsRequest(ServiceRequest):
2052
2109
  UserName: existingUserNameType
2053
- Marker: Optional[markerType]
2054
- MaxItems: Optional[maxItemsType]
2110
+ Marker: markerType | None
2111
+ MaxItems: maxItemsType | None
2055
2112
 
2056
2113
 
2057
2114
  class ListUserTagsResponse(TypedDict, total=False):
2058
2115
  Tags: tagListType
2059
- IsTruncated: Optional[booleanType]
2060
- Marker: Optional[responseMarkerType]
2116
+ IsTruncated: booleanType | None
2117
+ Marker: responseMarkerType | None
2061
2118
 
2062
2119
 
2063
2120
  class ListUsersRequest(ServiceRequest):
2064
- PathPrefix: Optional[pathPrefixType]
2065
- Marker: Optional[markerType]
2066
- MaxItems: Optional[maxItemsType]
2121
+ PathPrefix: pathPrefixType | None
2122
+ Marker: markerType | None
2123
+ MaxItems: maxItemsType | None
2067
2124
 
2068
2125
 
2069
2126
  class ListUsersResponse(TypedDict, total=False):
2070
2127
  Users: userListType
2071
- IsTruncated: Optional[booleanType]
2072
- Marker: Optional[responseMarkerType]
2128
+ IsTruncated: booleanType | None
2129
+ Marker: responseMarkerType | None
2073
2130
 
2074
2131
 
2075
2132
  class ListVirtualMFADevicesRequest(ServiceRequest):
2076
- AssignmentStatus: Optional[assignmentStatusType]
2077
- Marker: Optional[markerType]
2078
- MaxItems: Optional[maxItemsType]
2133
+ AssignmentStatus: assignmentStatusType | None
2134
+ Marker: markerType | None
2135
+ MaxItems: maxItemsType | None
2079
2136
 
2080
2137
 
2081
- virtualMFADeviceListType = List[VirtualMFADevice]
2138
+ virtualMFADeviceListType = list[VirtualMFADevice]
2082
2139
 
2083
2140
 
2084
2141
  class ListVirtualMFADevicesResponse(TypedDict, total=False):
2085
2142
  VirtualMFADevices: virtualMFADeviceListType
2086
- IsTruncated: Optional[booleanType]
2087
- Marker: Optional[responseMarkerType]
2143
+ IsTruncated: booleanType | None
2144
+ Marker: responseMarkerType | None
2088
2145
 
2089
2146
 
2090
2147
  class PutGroupPolicyRequest(ServiceRequest):
@@ -2131,15 +2188,15 @@ class RemoveUserFromGroupRequest(ServiceRequest):
2131
2188
 
2132
2189
 
2133
2190
  class ResetServiceSpecificCredentialRequest(ServiceRequest):
2134
- UserName: Optional[userNameType]
2191
+ UserName: userNameType | None
2135
2192
  ServiceSpecificCredentialId: serviceSpecificCredentialId
2136
2193
 
2137
2194
 
2138
2195
  class ResetServiceSpecificCredentialResponse(TypedDict, total=False):
2139
- ServiceSpecificCredential: Optional[ServiceSpecificCredential]
2196
+ ServiceSpecificCredential: ServiceSpecificCredential | None
2140
2197
 
2141
2198
 
2142
- ResourceNameListType = List[ResourceNameType]
2199
+ ResourceNameListType = list[ResourceNameType]
2143
2200
 
2144
2201
 
2145
2202
  class ResyncMFADeviceRequest(ServiceRequest):
@@ -2160,37 +2217,37 @@ class SetSecurityTokenServicePreferencesRequest(ServiceRequest):
2160
2217
 
2161
2218
  class SimulateCustomPolicyRequest(ServiceRequest):
2162
2219
  PolicyInputList: SimulationPolicyListType
2163
- PermissionsBoundaryPolicyInputList: Optional[SimulationPolicyListType]
2220
+ PermissionsBoundaryPolicyInputList: SimulationPolicyListType | None
2164
2221
  ActionNames: ActionNameListType
2165
- ResourceArns: Optional[ResourceNameListType]
2166
- ResourcePolicy: Optional[policyDocumentType]
2167
- ResourceOwner: Optional[ResourceNameType]
2168
- CallerArn: Optional[ResourceNameType]
2169
- ContextEntries: Optional[ContextEntryListType]
2170
- ResourceHandlingOption: Optional[ResourceHandlingOptionType]
2171
- MaxItems: Optional[maxItemsType]
2172
- Marker: Optional[markerType]
2222
+ ResourceArns: ResourceNameListType | None
2223
+ ResourcePolicy: policyDocumentType | None
2224
+ ResourceOwner: ResourceNameType | None
2225
+ CallerArn: ResourceNameType | None
2226
+ ContextEntries: ContextEntryListType | None
2227
+ ResourceHandlingOption: ResourceHandlingOptionType | None
2228
+ MaxItems: maxItemsType | None
2229
+ Marker: markerType | None
2173
2230
 
2174
2231
 
2175
2232
  class SimulatePolicyResponse(TypedDict, total=False):
2176
- EvaluationResults: Optional[EvaluationResultsListType]
2177
- IsTruncated: Optional[booleanType]
2178
- Marker: Optional[responseMarkerType]
2233
+ EvaluationResults: EvaluationResultsListType | None
2234
+ IsTruncated: booleanType | None
2235
+ Marker: responseMarkerType | None
2179
2236
 
2180
2237
 
2181
2238
  class SimulatePrincipalPolicyRequest(ServiceRequest):
2182
2239
  PolicySourceArn: arnType
2183
- PolicyInputList: Optional[SimulationPolicyListType]
2184
- PermissionsBoundaryPolicyInputList: Optional[SimulationPolicyListType]
2240
+ PolicyInputList: SimulationPolicyListType | None
2241
+ PermissionsBoundaryPolicyInputList: SimulationPolicyListType | None
2185
2242
  ActionNames: ActionNameListType
2186
- ResourceArns: Optional[ResourceNameListType]
2187
- ResourcePolicy: Optional[policyDocumentType]
2188
- ResourceOwner: Optional[ResourceNameType]
2189
- CallerArn: Optional[ResourceNameType]
2190
- ContextEntries: Optional[ContextEntryListType]
2191
- ResourceHandlingOption: Optional[ResourceHandlingOptionType]
2192
- MaxItems: Optional[maxItemsType]
2193
- Marker: Optional[markerType]
2243
+ ResourceArns: ResourceNameListType | None
2244
+ ResourcePolicy: policyDocumentType | None
2245
+ ResourceOwner: ResourceNameType | None
2246
+ CallerArn: ResourceNameType | None
2247
+ ContextEntries: ContextEntryListType | None
2248
+ ResourceHandlingOption: ResourceHandlingOptionType | None
2249
+ MaxItems: maxItemsType | None
2250
+ Marker: markerType | None
2194
2251
 
2195
2252
 
2196
2253
  class TagInstanceProfileRequest(ServiceRequest):
@@ -2233,7 +2290,7 @@ class TagUserRequest(ServiceRequest):
2233
2290
  Tags: tagListType
2234
2291
 
2235
2292
 
2236
- tagKeyListType = List[tagKeyType]
2293
+ tagKeyListType = list[tagKeyType]
2237
2294
 
2238
2295
 
2239
2296
  class UntagInstanceProfileRequest(ServiceRequest):
@@ -2277,21 +2334,21 @@ class UntagUserRequest(ServiceRequest):
2277
2334
 
2278
2335
 
2279
2336
  class UpdateAccessKeyRequest(ServiceRequest):
2280
- UserName: Optional[existingUserNameType]
2337
+ UserName: existingUserNameType | None
2281
2338
  AccessKeyId: accessKeyIdType
2282
2339
  Status: statusType
2283
2340
 
2284
2341
 
2285
2342
  class UpdateAccountPasswordPolicyRequest(ServiceRequest):
2286
- MinimumPasswordLength: Optional[minimumPasswordLengthType]
2287
- RequireSymbols: Optional[booleanType]
2288
- RequireNumbers: Optional[booleanType]
2289
- RequireUppercaseCharacters: Optional[booleanType]
2290
- RequireLowercaseCharacters: Optional[booleanType]
2291
- AllowUsersToChangePassword: Optional[booleanType]
2292
- MaxPasswordAge: Optional[maxPasswordAgeType]
2293
- PasswordReusePrevention: Optional[passwordReusePreventionType]
2294
- HardExpiry: Optional[booleanObjectType]
2343
+ MinimumPasswordLength: minimumPasswordLengthType | None
2344
+ RequireSymbols: booleanType | None
2345
+ RequireNumbers: booleanType | None
2346
+ RequireUppercaseCharacters: booleanType | None
2347
+ RequireLowercaseCharacters: booleanType | None
2348
+ AllowUsersToChangePassword: booleanType | None
2349
+ MaxPasswordAge: maxPasswordAgeType | None
2350
+ PasswordReusePrevention: passwordReusePreventionType | None
2351
+ HardExpiry: booleanObjectType | None
2295
2352
 
2296
2353
 
2297
2354
  class UpdateAssumeRolePolicyRequest(ServiceRequest):
@@ -2301,14 +2358,14 @@ class UpdateAssumeRolePolicyRequest(ServiceRequest):
2301
2358
 
2302
2359
  class UpdateGroupRequest(ServiceRequest):
2303
2360
  GroupName: groupNameType
2304
- NewPath: Optional[pathType]
2305
- NewGroupName: Optional[groupNameType]
2361
+ NewPath: pathType | None
2362
+ NewGroupName: groupNameType | None
2306
2363
 
2307
2364
 
2308
2365
  class UpdateLoginProfileRequest(ServiceRequest):
2309
2366
  UserName: userNameType
2310
- Password: Optional[passwordType]
2311
- PasswordResetRequired: Optional[booleanObjectType]
2367
+ Password: passwordType | None
2368
+ PasswordResetRequired: booleanObjectType | None
2312
2369
 
2313
2370
 
2314
2371
  class UpdateOpenIDConnectProviderThumbprintRequest(ServiceRequest):
@@ -2322,13 +2379,13 @@ class UpdateRoleDescriptionRequest(ServiceRequest):
2322
2379
 
2323
2380
 
2324
2381
  class UpdateRoleDescriptionResponse(TypedDict, total=False):
2325
- Role: Optional[Role]
2382
+ Role: Role | None
2326
2383
 
2327
2384
 
2328
2385
  class UpdateRoleRequest(ServiceRequest):
2329
2386
  RoleName: roleNameType
2330
- Description: Optional[roleDescriptionType]
2331
- MaxSessionDuration: Optional[roleMaxSessionDurationType]
2387
+ Description: roleDescriptionType | None
2388
+ MaxSessionDuration: roleMaxSessionDurationType | None
2332
2389
 
2333
2390
 
2334
2391
  class UpdateRoleResponse(TypedDict, total=False):
@@ -2336,15 +2393,15 @@ class UpdateRoleResponse(TypedDict, total=False):
2336
2393
 
2337
2394
 
2338
2395
  class UpdateSAMLProviderRequest(ServiceRequest):
2339
- SAMLMetadataDocument: Optional[SAMLMetadataDocumentType]
2396
+ SAMLMetadataDocument: SAMLMetadataDocumentType | None
2340
2397
  SAMLProviderArn: arnType
2341
- AssertionEncryptionMode: Optional[assertionEncryptionModeType]
2342
- AddPrivateKey: Optional[privateKeyType]
2343
- RemovePrivateKey: Optional[privateKeyIdType]
2398
+ AssertionEncryptionMode: assertionEncryptionModeType | None
2399
+ AddPrivateKey: privateKeyType | None
2400
+ RemovePrivateKey: privateKeyIdType | None
2344
2401
 
2345
2402
 
2346
2403
  class UpdateSAMLProviderResponse(TypedDict, total=False):
2347
- SAMLProviderArn: Optional[arnType]
2404
+ SAMLProviderArn: arnType | None
2348
2405
 
2349
2406
 
2350
2407
  class UpdateSSHPublicKeyRequest(ServiceRequest):
@@ -2355,26 +2412,26 @@ class UpdateSSHPublicKeyRequest(ServiceRequest):
2355
2412
 
2356
2413
  class UpdateServerCertificateRequest(ServiceRequest):
2357
2414
  ServerCertificateName: serverCertificateNameType
2358
- NewPath: Optional[pathType]
2359
- NewServerCertificateName: Optional[serverCertificateNameType]
2415
+ NewPath: pathType | None
2416
+ NewServerCertificateName: serverCertificateNameType | None
2360
2417
 
2361
2418
 
2362
2419
  class UpdateServiceSpecificCredentialRequest(ServiceRequest):
2363
- UserName: Optional[userNameType]
2420
+ UserName: userNameType | None
2364
2421
  ServiceSpecificCredentialId: serviceSpecificCredentialId
2365
2422
  Status: statusType
2366
2423
 
2367
2424
 
2368
2425
  class UpdateSigningCertificateRequest(ServiceRequest):
2369
- UserName: Optional[existingUserNameType]
2426
+ UserName: existingUserNameType | None
2370
2427
  CertificateId: certificateIdType
2371
2428
  Status: statusType
2372
2429
 
2373
2430
 
2374
2431
  class UpdateUserRequest(ServiceRequest):
2375
2432
  UserName: existingUserNameType
2376
- NewPath: Optional[pathType]
2377
- NewUserName: Optional[userNameType]
2433
+ NewPath: pathType | None
2434
+ NewUserName: userNameType | None
2378
2435
 
2379
2436
 
2380
2437
  class UploadSSHPublicKeyRequest(ServiceRequest):
@@ -2383,25 +2440,25 @@ class UploadSSHPublicKeyRequest(ServiceRequest):
2383
2440
 
2384
2441
 
2385
2442
  class UploadSSHPublicKeyResponse(TypedDict, total=False):
2386
- SSHPublicKey: Optional[SSHPublicKey]
2443
+ SSHPublicKey: SSHPublicKey | None
2387
2444
 
2388
2445
 
2389
2446
  class UploadServerCertificateRequest(ServiceRequest):
2390
- Path: Optional[pathType]
2447
+ Path: pathType | None
2391
2448
  ServerCertificateName: serverCertificateNameType
2392
2449
  CertificateBody: certificateBodyType
2393
2450
  PrivateKey: privateKeyType
2394
- CertificateChain: Optional[certificateChainType]
2395
- Tags: Optional[tagListType]
2451
+ CertificateChain: certificateChainType | None
2452
+ Tags: tagListType | None
2396
2453
 
2397
2454
 
2398
2455
  class UploadServerCertificateResponse(TypedDict, total=False):
2399
- ServerCertificateMetadata: Optional[ServerCertificateMetadata]
2400
- Tags: Optional[tagListType]
2456
+ ServerCertificateMetadata: ServerCertificateMetadata | None
2457
+ Tags: tagListType | None
2401
2458
 
2402
2459
 
2403
2460
  class UploadSigningCertificateRequest(ServiceRequest):
2404
- UserName: Optional[existingUserNameType]
2461
+ UserName: existingUserNameType | None
2405
2462
  CertificateBody: certificateBodyType
2406
2463
 
2407
2464
 
@@ -2410,8 +2467,8 @@ class UploadSigningCertificateResponse(TypedDict, total=False):
2410
2467
 
2411
2468
 
2412
2469
  class IamApi:
2413
- service = "iam"
2414
- version = "2010-05-08"
2470
+ service: str = "iam"
2471
+ version: str = "2010-05-08"
2415
2472
 
2416
2473
  @handler("AddClientIDToOpenIDConnectProvider")
2417
2474
  def add_client_id_to_open_id_connect_provider(
@@ -2483,6 +2540,23 @@ class IamApi:
2483
2540
  ) -> None:
2484
2541
  raise NotImplementedError
2485
2542
 
2543
+ @handler("CreateDelegationRequest")
2544
+ def create_delegation_request(
2545
+ self,
2546
+ context: RequestContext,
2547
+ description: delegationRequestDescriptionType,
2548
+ permissions: DelegationPermission,
2549
+ requestor_workflow_id: requestorWorkflowIdType,
2550
+ notification_channel: notificationChannelType,
2551
+ session_duration: sessionDurationType,
2552
+ owner_account_id: accountIdType | None = None,
2553
+ request_message: requestMessageType | None = None,
2554
+ redirect_url: redirectUrlType | None = None,
2555
+ only_send_by_owner: booleanType | None = None,
2556
+ **kwargs,
2557
+ ) -> CreateDelegationRequestResponse:
2558
+ raise NotImplementedError
2559
+
2486
2560
  @handler("CreateGroup")
2487
2561
  def create_group(
2488
2562
  self,