localstack-core 4.10.1.dev42__py3-none-any.whl → 4.12.1.dev18__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.
Files changed (158) hide show
  1. localstack/aws/api/apigateway/__init__.py +42 -0
  2. localstack/aws/api/cloudformation/__init__.py +161 -0
  3. localstack/aws/api/ec2/__init__.py +1178 -12
  4. localstack/aws/api/iam/__init__.py +228 -0
  5. localstack/aws/api/kms/__init__.py +1 -0
  6. localstack/aws/api/lambda_/__init__.py +1034 -66
  7. localstack/aws/api/logs/__init__.py +500 -0
  8. localstack/aws/api/opensearch/__init__.py +100 -0
  9. localstack/aws/api/redshift/__init__.py +69 -0
  10. localstack/aws/api/resourcegroupstaggingapi/__init__.py +36 -0
  11. localstack/aws/api/route53/__init__.py +45 -0
  12. localstack/aws/api/route53resolver/__init__.py +1 -0
  13. localstack/aws/api/s3/__init__.py +64 -0
  14. localstack/aws/api/s3control/__init__.py +19 -0
  15. localstack/aws/api/secretsmanager/__init__.py +37 -23
  16. localstack/aws/api/stepfunctions/__init__.py +52 -10
  17. localstack/aws/api/sts/__init__.py +52 -0
  18. localstack/aws/connect.py +35 -15
  19. localstack/aws/handlers/logging.py +8 -4
  20. localstack/aws/handlers/service.py +11 -2
  21. localstack/aws/protocol/serializer.py +1 -1
  22. localstack/config.py +8 -0
  23. localstack/constants.py +3 -0
  24. localstack/deprecations.py +0 -6
  25. localstack/dev/kubernetes/__main__.py +39 -14
  26. localstack/runtime/analytics.py +11 -0
  27. localstack/services/acm/provider.py +17 -1
  28. localstack/services/apigateway/legacy/provider.py +28 -15
  29. localstack/services/cloudformation/engine/template_preparer.py +6 -2
  30. localstack/services/cloudformation/engine/v2/change_set_model.py +9 -0
  31. localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +15 -1
  32. localstack/services/cloudformation/engine/v2/change_set_resource_support_checker.py +114 -0
  33. localstack/services/cloudformation/provider.py +26 -1
  34. localstack/services/cloudformation/provider_utils.py +20 -0
  35. localstack/services/cloudformation/resource_provider.py +5 -4
  36. localstack/services/cloudformation/scaffolding/__main__.py +94 -22
  37. localstack/services/cloudformation/v2/provider.py +41 -0
  38. localstack/services/cloudwatch/provider.py +10 -3
  39. localstack/services/cloudwatch/provider_v2.py +6 -3
  40. localstack/services/configservice/provider.py +5 -1
  41. localstack/services/dynamodb/provider.py +1 -0
  42. localstack/services/dynamodb/v2/provider.py +1 -0
  43. localstack/services/dynamodbstreams/provider.py +6 -0
  44. localstack/services/dynamodbstreams/v2/provider.py +6 -0
  45. localstack/services/ec2/provider.py +6 -0
  46. localstack/services/es/provider.py +6 -0
  47. localstack/services/events/provider.py +4 -0
  48. localstack/services/events/v1/provider.py +9 -0
  49. localstack/services/firehose/provider.py +5 -0
  50. localstack/services/iam/provider.py +4 -0
  51. localstack/services/kinesis/packages.py +1 -1
  52. localstack/services/kms/models.py +16 -22
  53. localstack/services/kms/provider.py +4 -0
  54. localstack/services/lambda_/analytics.py +11 -2
  55. localstack/services/lambda_/api_utils.py +37 -20
  56. localstack/services/lambda_/event_source_mapping/pollers/stream_poller.py +1 -1
  57. localstack/services/lambda_/invocation/assignment.py +4 -1
  58. localstack/services/lambda_/invocation/event_manager.py +15 -11
  59. localstack/services/lambda_/invocation/execution_environment.py +21 -2
  60. localstack/services/lambda_/invocation/lambda_models.py +31 -2
  61. localstack/services/lambda_/invocation/lambda_service.py +62 -3
  62. localstack/services/lambda_/invocation/models.py +9 -1
  63. localstack/services/lambda_/invocation/version_manager.py +18 -3
  64. localstack/services/lambda_/provider.py +307 -106
  65. localstack/services/lambda_/resource_providers/aws_lambda_function.py +33 -1
  66. localstack/services/lambda_/runtimes.py +3 -1
  67. localstack/services/logs/provider.py +9 -0
  68. localstack/services/opensearch/packages.py +34 -20
  69. localstack/services/opensearch/provider.py +53 -3
  70. localstack/services/resource_groups/provider.py +5 -1
  71. localstack/services/resourcegroupstaggingapi/provider.py +6 -1
  72. localstack/services/route53/provider.py +7 -0
  73. localstack/services/route53resolver/provider.py +5 -0
  74. localstack/services/s3/constants.py +5 -0
  75. localstack/services/s3/exceptions.py +9 -0
  76. localstack/services/s3/models.py +9 -1
  77. localstack/services/s3/provider.py +51 -43
  78. localstack/services/s3/utils.py +81 -15
  79. localstack/services/s3control/provider.py +107 -2
  80. localstack/services/s3control/validation.py +50 -0
  81. localstack/services/scheduler/provider.py +4 -2
  82. localstack/services/secretsmanager/provider.py +4 -0
  83. localstack/services/ses/provider.py +4 -0
  84. localstack/services/sns/constants.py +16 -1
  85. localstack/services/sns/provider.py +5 -0
  86. localstack/services/sns/publisher.py +15 -6
  87. localstack/services/sns/v2/models.py +9 -0
  88. localstack/services/sns/v2/provider.py +750 -19
  89. localstack/services/sns/v2/utils.py +12 -0
  90. localstack/services/sqs/constants.py +6 -0
  91. localstack/services/sqs/provider.py +9 -1
  92. localstack/services/sqs/resource_providers/aws_sqs_queue.py +61 -46
  93. localstack/services/ssm/provider.py +6 -0
  94. localstack/services/stepfunctions/asl/component/common/path/result_path.py +1 -1
  95. localstack/services/stepfunctions/asl/component/state/state_execution/execute_state.py +0 -1
  96. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py +0 -1
  97. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/lambda_eval_utils.py +8 -8
  98. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/{mock_eval_utils.py → local_mock_eval_utils.py} +13 -9
  99. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service.py +6 -6
  100. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_callback.py +1 -1
  101. localstack/services/stepfunctions/asl/component/state/state_fail/state_fail.py +4 -0
  102. localstack/services/stepfunctions/asl/component/test_state/state/base_mock.py +118 -0
  103. localstack/services/stepfunctions/asl/component/test_state/state/common.py +82 -0
  104. localstack/services/stepfunctions/asl/component/test_state/state/execution.py +139 -0
  105. localstack/services/stepfunctions/asl/component/test_state/state/map.py +77 -0
  106. localstack/services/stepfunctions/asl/component/test_state/state/task.py +44 -0
  107. localstack/services/stepfunctions/asl/eval/environment.py +30 -22
  108. localstack/services/stepfunctions/asl/eval/states.py +1 -1
  109. localstack/services/stepfunctions/asl/eval/test_state/environment.py +49 -9
  110. localstack/services/stepfunctions/asl/eval/test_state/program_state.py +22 -0
  111. localstack/services/stepfunctions/asl/jsonata/jsonata.py +5 -1
  112. localstack/services/stepfunctions/asl/parse/preprocessor.py +67 -24
  113. localstack/services/stepfunctions/asl/parse/test_state/asl_parser.py +5 -4
  114. localstack/services/stepfunctions/asl/parse/test_state/preprocessor.py +222 -31
  115. localstack/services/stepfunctions/asl/static_analyser/test_state/test_state_analyser.py +256 -22
  116. localstack/services/stepfunctions/backend/execution.py +10 -11
  117. localstack/services/stepfunctions/backend/execution_worker.py +5 -5
  118. localstack/services/stepfunctions/backend/test_state/execution.py +36 -0
  119. localstack/services/stepfunctions/backend/test_state/execution_worker.py +33 -1
  120. localstack/services/stepfunctions/backend/test_state/test_state_mock.py +127 -0
  121. localstack/services/stepfunctions/local_mocking/__init__.py +9 -0
  122. localstack/services/stepfunctions/{mocking → local_mocking}/mock_config.py +24 -17
  123. localstack/services/stepfunctions/provider.py +83 -25
  124. localstack/services/stepfunctions/test_state/mock_config.py +47 -0
  125. localstack/services/sts/provider.py +7 -0
  126. localstack/services/support/provider.py +5 -1
  127. localstack/services/swf/provider.py +5 -1
  128. localstack/services/transcribe/provider.py +7 -0
  129. localstack/testing/aws/lambda_utils.py +1 -1
  130. localstack/testing/aws/util.py +2 -1
  131. localstack/testing/config.py +1 -0
  132. localstack/testing/pytest/fixtures.py +28 -0
  133. localstack/testing/snapshots/transformer_utility.py +5 -0
  134. localstack/utils/analytics/publisher.py +37 -155
  135. localstack/utils/analytics/service_request_aggregator.py +6 -4
  136. localstack/utils/aws/arns.py +7 -0
  137. localstack/utils/aws/client_types.py +2 -4
  138. localstack/utils/batching.py +258 -0
  139. localstack/utils/bootstrap.py +2 -2
  140. localstack/utils/catalog/catalog.py +3 -2
  141. localstack/utils/collections.py +23 -11
  142. localstack/utils/container_utils/container_client.py +22 -13
  143. localstack/utils/container_utils/docker_cmd_client.py +6 -6
  144. localstack/version.py +2 -2
  145. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/METADATA +7 -7
  146. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/RECORD +155 -146
  147. localstack_core-4.12.1.dev18.dist-info/plux.json +1 -0
  148. localstack/services/stepfunctions/mocking/__init__.py +0 -0
  149. localstack/utils/batch_policy.py +0 -124
  150. localstack_core-4.10.1.dev42.dist-info/plux.json +0 -1
  151. /localstack/services/stepfunctions/{mocking → local_mocking}/mock_config_file.py +0 -0
  152. {localstack_core-4.10.1.dev42.data → localstack_core-4.12.1.dev18.data}/scripts/localstack +0 -0
  153. {localstack_core-4.10.1.dev42.data → localstack_core-4.12.1.dev18.data}/scripts/localstack-supervisor +0 -0
  154. {localstack_core-4.10.1.dev42.data → localstack_core-4.12.1.dev18.data}/scripts/localstack.bat +0 -0
  155. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/WHEEL +0 -0
  156. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/entry_points.txt +0 -0
  157. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/licenses/LICENSE.txt +0 -0
  158. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/top_level.txt +0 -0
@@ -13,6 +13,8 @@ ContextKeyNameType = str
13
13
  ContextKeyValueType = str
14
14
  DeletionTaskIdType = str
15
15
  EvalDecisionSourceType = str
16
+ FeatureDisabledMessage = str
17
+ FeatureEnabledMessage = str
16
18
  LineNumber = int
17
19
  OpenIDConnectProviderUrlType = str
18
20
  OrganizationIdType = str
@@ -65,6 +67,7 @@ invalidUserTypeMessage = str
65
67
  jobIDType = str
66
68
  keyPairMismatchMessage = str
67
69
  limitExceededMessage = str
70
+ localeType = str
68
71
  malformedCertificateMessage = str
69
72
  malformedPolicyDocumentMessage = str
70
73
  markerType = str
@@ -72,15 +75,18 @@ maxItemsType = int
72
75
  maxPasswordAgeType = int
73
76
  minimumPasswordLengthType = int
74
77
  noSuchEntityMessage = str
78
+ notesType = str
75
79
  notificationChannelType = str
76
80
  openIdIdpCommunicationErrorExceptionMessage = str
77
81
  organizationsEntityPathType = str
78
82
  organizationsPolicyIdType = str
83
+ ownerIdType = str
79
84
  passwordPolicyViolationMessage = str
80
85
  passwordReusePreventionType = int
81
86
  passwordType = str
82
87
  pathPrefixType = str
83
88
  pathType = str
89
+ permissionType = str
84
90
  policyDescriptionType = str
85
91
  policyDocumentType = str
86
92
  policyEvaluationErrorMessage = str
@@ -98,6 +104,7 @@ publicKeyMaterialType = str
98
104
  redirectUrlType = str
99
105
  reportGenerationLimitExceededMessage = str
100
106
  requestMessageType = str
107
+ requestorNameType = str
101
108
  requestorWorkflowIdType = str
102
109
  responseMarkerType = str
103
110
  roleDescriptionType = str
@@ -117,6 +124,7 @@ serviceSpecificCredentialId = str
117
124
  serviceUserName = str
118
125
  sessionDurationType = int
119
126
  stringType = str
127
+ summaryContentType = str
120
128
  summaryValueType = int
121
129
  tagKeyType = str
122
130
  tagValueType = str
@@ -234,6 +242,18 @@ class jobStatusType(StrEnum):
234
242
  FAILED = "FAILED"
235
243
 
236
244
 
245
+ class permissionCheckResultType(StrEnum):
246
+ ALLOWED = "ALLOWED"
247
+ DENIED = "DENIED"
248
+ UNSURE = "UNSURE"
249
+
250
+
251
+ class permissionCheckStatusType(StrEnum):
252
+ COMPLETE = "COMPLETE"
253
+ IN_PROGRESS = "IN_PROGRESS"
254
+ FAILED = "FAILED"
255
+
256
+
237
257
  class policyOwnerEntityType(StrEnum):
238
258
  USER = "USER"
239
259
  ROLE = "ROLE"
@@ -258,6 +278,16 @@ class sortKeyType(StrEnum):
258
278
  LAST_AUTHENTICATED_TIME_DESCENDING = "LAST_AUTHENTICATED_TIME_DESCENDING"
259
279
 
260
280
 
281
+ class stateType(StrEnum):
282
+ UNASSIGNED = "UNASSIGNED"
283
+ ASSIGNED = "ASSIGNED"
284
+ PENDING_APPROVAL = "PENDING_APPROVAL"
285
+ FINALIZED = "FINALIZED"
286
+ ACCEPTED = "ACCEPTED"
287
+ REJECTED = "REJECTED"
288
+ EXPIRED = "EXPIRED"
289
+
290
+
261
291
  class statusType(StrEnum):
262
292
  Active = "Active"
263
293
  Inactive = "Inactive"
@@ -301,6 +331,13 @@ class summaryKeyType(StrEnum):
301
331
  RolesQuota = "RolesQuota"
302
332
 
303
333
 
334
+ class summaryStateType(StrEnum):
335
+ AVAILABLE = "AVAILABLE"
336
+ NOT_AVAILABLE = "NOT_AVAILABLE"
337
+ NOT_SUPPORTED = "NOT_SUPPORTED"
338
+ FAILED = "FAILED"
339
+
340
+
304
341
  class AccountNotManagementOrDelegatedAdministratorException(ServiceException):
305
342
  code: str = "AccountNotManagementOrDelegatedAdministratorException"
306
343
  sender_fault: bool = False
@@ -367,6 +404,18 @@ class EntityTemporarilyUnmodifiableException(ServiceException):
367
404
  status_code: int = 409
368
405
 
369
406
 
407
+ class FeatureDisabledException(ServiceException):
408
+ code: str = "FeatureDisabled"
409
+ sender_fault: bool = True
410
+ status_code: int = 404
411
+
412
+
413
+ class FeatureEnabledException(ServiceException):
414
+ code: str = "FeatureEnabled"
415
+ sender_fault: bool = True
416
+ status_code: int = 409
417
+
418
+
370
419
  class InvalidAuthenticationCodeException(ServiceException):
371
420
  code: str = "InvalidAuthenticationCode"
372
421
  sender_fault: bool = True
@@ -499,6 +548,10 @@ class UnrecognizedPublicKeyEncodingException(ServiceException):
499
548
  status_code: int = 400
500
549
 
501
550
 
551
+ class AcceptDelegationRequestRequest(ServiceRequest):
552
+ DelegationRequestId: delegationRequestIdType
553
+
554
+
502
555
  dateType = datetime
503
556
 
504
557
 
@@ -556,6 +609,10 @@ class AddUserToGroupRequest(ServiceRequest):
556
609
  ArnListType = list[arnType]
557
610
 
558
611
 
612
+ class AssociateDelegationRequestRequest(ServiceRequest):
613
+ DelegationRequestId: delegationRequestIdType
614
+
615
+
559
616
  class AttachGroupPolicyRequest(ServiceRequest):
560
617
  GroupName: groupNameType
561
618
  PolicyArn: arnType
@@ -898,6 +955,32 @@ class DeactivateMFADeviceRequest(ServiceRequest):
898
955
  SerialNumber: serialNumberType
899
956
 
900
957
 
958
+ rolePermissionRestrictionArnListType = list[arnType]
959
+
960
+
961
+ class DelegationRequest(TypedDict, total=False):
962
+ DelegationRequestId: delegationRequestIdType | None
963
+ OwnerAccountId: accountIdType | None
964
+ Description: delegationRequestDescriptionType | None
965
+ RequestMessage: requestMessageType | None
966
+ Permissions: DelegationPermission | None
967
+ PermissionPolicy: permissionType | None
968
+ RolePermissionRestrictionArns: rolePermissionRestrictionArnListType | None
969
+ OwnerId: ownerIdType | None
970
+ ApproverId: arnType | None
971
+ State: stateType | None
972
+ ExpirationTime: dateType | None
973
+ RequestorId: accountIdType | None
974
+ RequestorName: requestorNameType | None
975
+ CreateDate: dateType | None
976
+ SessionDuration: sessionDurationType | None
977
+ RedirectUrl: redirectUrlType | None
978
+ Notes: notesType | None
979
+ RejectionReason: notesType | None
980
+ OnlySendByOwner: booleanType | None
981
+ UpdatedTime: dateType | None
982
+
983
+
901
984
  class DeleteAccessKeyRequest(ServiceRequest):
902
985
  UserName: existingUserNameType | None
903
986
  AccessKeyId: accessKeyIdType
@@ -1072,6 +1155,10 @@ class EnableOrganizationsRootSessionsResponse(TypedDict, total=False):
1072
1155
  EnabledFeatures: FeaturesListType | None
1073
1156
 
1074
1157
 
1158
+ class EnableOutboundWebIdentityFederationResponse(TypedDict, total=False):
1159
+ IssuerIdentifier: stringType | None
1160
+
1161
+
1075
1162
  class EntityInfo(TypedDict, total=False):
1076
1163
  Arn: arnType
1077
1164
  Name: userNameType
@@ -1321,6 +1408,17 @@ class GetCredentialReportResponse(TypedDict, total=False):
1321
1408
  GeneratedTime: dateType | None
1322
1409
 
1323
1410
 
1411
+ class GetDelegationRequestRequest(ServiceRequest):
1412
+ DelegationRequestId: delegationRequestIdType
1413
+ DelegationPermissionCheck: booleanType | None
1414
+
1415
+
1416
+ class GetDelegationRequestResponse(TypedDict, total=False):
1417
+ DelegationRequest: DelegationRequest | None
1418
+ PermissionCheckStatus: permissionCheckStatusType | None
1419
+ PermissionCheckResult: permissionCheckResultType | None
1420
+
1421
+
1324
1422
  class GetGroupPolicyRequest(ServiceRequest):
1325
1423
  GroupName: groupNameType
1326
1424
  PolicyName: policyNameType
@@ -1348,6 +1446,17 @@ class GetGroupResponse(TypedDict, total=False):
1348
1446
  Marker: responseMarkerType | None
1349
1447
 
1350
1448
 
1449
+ class GetHumanReadableSummaryRequest(ServiceRequest):
1450
+ EntityArn: arnType
1451
+ Locale: localeType | None
1452
+
1453
+
1454
+ class GetHumanReadableSummaryResponse(TypedDict, total=False):
1455
+ SummaryContent: summaryContentType | None
1456
+ Locale: localeType | None
1457
+ SummaryState: summaryStateType | None
1458
+
1459
+
1351
1460
  class GetInstanceProfileRequest(ServiceRequest):
1352
1461
  InstanceProfileName: instanceProfileNameType
1353
1462
 
@@ -1407,6 +1516,11 @@ class GetOrganizationsAccessReportResponse(TypedDict, total=False):
1407
1516
  ErrorDetails: ErrorDetails | None
1408
1517
 
1409
1518
 
1519
+ class GetOutboundWebIdentityFederationInfoResponse(TypedDict, total=False):
1520
+ IssuerIdentifier: stringType | None
1521
+ JwtVendingEnabled: booleanType | None
1522
+
1523
+
1410
1524
  class GetPolicyRequest(ServiceRequest):
1411
1525
  PolicyArn: arnType
1412
1526
 
@@ -1664,6 +1778,21 @@ class ListAttachedUserPoliciesResponse(TypedDict, total=False):
1664
1778
  Marker: responseMarkerType | None
1665
1779
 
1666
1780
 
1781
+ class ListDelegationRequestsRequest(ServiceRequest):
1782
+ OwnerId: ownerIdType | None
1783
+ Marker: markerType | None
1784
+ MaxItems: maxItemsType | None
1785
+
1786
+
1787
+ delegationRequestsListType = list[DelegationRequest]
1788
+
1789
+
1790
+ class ListDelegationRequestsResponse(TypedDict, total=False):
1791
+ DelegationRequests: delegationRequestsListType | None
1792
+ Marker: markerType | None
1793
+ isTruncated: booleanType | None
1794
+
1795
+
1667
1796
  class ListEntitiesForPolicyRequest(ServiceRequest):
1668
1797
  PolicyArn: arnType
1669
1798
  EntityFilter: EntityType | None
@@ -2172,6 +2301,11 @@ class PutUserPolicyRequest(ServiceRequest):
2172
2301
  PolicyDocument: policyDocumentType
2173
2302
 
2174
2303
 
2304
+ class RejectDelegationRequestRequest(ServiceRequest):
2305
+ DelegationRequestId: delegationRequestIdType
2306
+ Notes: notesType | None
2307
+
2308
+
2175
2309
  class RemoveClientIDFromOpenIDConnectProviderRequest(ServiceRequest):
2176
2310
  OpenIDConnectProviderArn: arnType
2177
2311
  ClientID: clientIDType
@@ -2206,6 +2340,10 @@ class ResyncMFADeviceRequest(ServiceRequest):
2206
2340
  AuthenticationCode2: authenticationCodeType
2207
2341
 
2208
2342
 
2343
+ class SendDelegationTokenRequest(ServiceRequest):
2344
+ DelegationRequestId: delegationRequestIdType
2345
+
2346
+
2209
2347
  class SetDefaultPolicyVersionRequest(ServiceRequest):
2210
2348
  PolicyArn: arnType
2211
2349
  VersionId: policyVersionIdType
@@ -2356,6 +2494,11 @@ class UpdateAssumeRolePolicyRequest(ServiceRequest):
2356
2494
  PolicyDocument: policyDocumentType
2357
2495
 
2358
2496
 
2497
+ class UpdateDelegationRequestRequest(ServiceRequest):
2498
+ DelegationRequestId: delegationRequestIdType
2499
+ Notes: notesType | None
2500
+
2501
+
2359
2502
  class UpdateGroupRequest(ServiceRequest):
2360
2503
  GroupName: groupNameType
2361
2504
  NewPath: pathType | None
@@ -2470,6 +2613,12 @@ class IamApi:
2470
2613
  service: str = "iam"
2471
2614
  version: str = "2010-05-08"
2472
2615
 
2616
+ @handler("AcceptDelegationRequest")
2617
+ def accept_delegation_request(
2618
+ self, context: RequestContext, delegation_request_id: delegationRequestIdType, **kwargs
2619
+ ) -> None:
2620
+ raise NotImplementedError
2621
+
2473
2622
  @handler("AddClientIDToOpenIDConnectProvider")
2474
2623
  def add_client_id_to_open_id_connect_provider(
2475
2624
  self,
@@ -2500,6 +2649,12 @@ class IamApi:
2500
2649
  ) -> None:
2501
2650
  raise NotImplementedError
2502
2651
 
2652
+ @handler("AssociateDelegationRequest")
2653
+ def associate_delegation_request(
2654
+ self, context: RequestContext, delegation_request_id: delegationRequestIdType, **kwargs
2655
+ ) -> None:
2656
+ raise NotImplementedError
2657
+
2503
2658
  @handler("AttachGroupPolicy")
2504
2659
  def attach_group_policy(
2505
2660
  self, context: RequestContext, group_name: groupNameType, policy_arn: arnType, **kwargs
@@ -2900,6 +3055,10 @@ class IamApi:
2900
3055
  ) -> DisableOrganizationsRootSessionsResponse:
2901
3056
  raise NotImplementedError
2902
3057
 
3058
+ @handler("DisableOutboundWebIdentityFederation")
3059
+ def disable_outbound_web_identity_federation(self, context: RequestContext, **kwargs) -> None:
3060
+ raise NotImplementedError
3061
+
2903
3062
  @handler("EnableMFADevice")
2904
3063
  def enable_mfa_device(
2905
3064
  self,
@@ -2924,6 +3083,12 @@ class IamApi:
2924
3083
  ) -> EnableOrganizationsRootSessionsResponse:
2925
3084
  raise NotImplementedError
2926
3085
 
3086
+ @handler("EnableOutboundWebIdentityFederation")
3087
+ def enable_outbound_web_identity_federation(
3088
+ self, context: RequestContext, **kwargs
3089
+ ) -> EnableOutboundWebIdentityFederationResponse:
3090
+ raise NotImplementedError
3091
+
2927
3092
  @handler("GenerateCredentialReport")
2928
3093
  def generate_credential_report(
2929
3094
  self, context: RequestContext, **kwargs
@@ -2999,6 +3164,16 @@ class IamApi:
2999
3164
  ) -> GetCredentialReportResponse:
3000
3165
  raise NotImplementedError
3001
3166
 
3167
+ @handler("GetDelegationRequest")
3168
+ def get_delegation_request(
3169
+ self,
3170
+ context: RequestContext,
3171
+ delegation_request_id: delegationRequestIdType,
3172
+ delegation_permission_check: booleanType | None = None,
3173
+ **kwargs,
3174
+ ) -> GetDelegationRequestResponse:
3175
+ raise NotImplementedError
3176
+
3002
3177
  @handler("GetGroup")
3003
3178
  def get_group(
3004
3179
  self,
@@ -3020,6 +3195,16 @@ class IamApi:
3020
3195
  ) -> GetGroupPolicyResponse:
3021
3196
  raise NotImplementedError
3022
3197
 
3198
+ @handler("GetHumanReadableSummary")
3199
+ def get_human_readable_summary(
3200
+ self,
3201
+ context: RequestContext,
3202
+ entity_arn: arnType,
3203
+ locale: localeType | None = None,
3204
+ **kwargs,
3205
+ ) -> GetHumanReadableSummaryResponse:
3206
+ raise NotImplementedError
3207
+
3023
3208
  @handler("GetInstanceProfile")
3024
3209
  def get_instance_profile(
3025
3210
  self, context: RequestContext, instance_profile_name: instanceProfileNameType, **kwargs
@@ -3060,6 +3245,12 @@ class IamApi:
3060
3245
  ) -> GetOrganizationsAccessReportResponse:
3061
3246
  raise NotImplementedError
3062
3247
 
3248
+ @handler("GetOutboundWebIdentityFederationInfo")
3249
+ def get_outbound_web_identity_federation_info(
3250
+ self, context: RequestContext, **kwargs
3251
+ ) -> GetOutboundWebIdentityFederationInfoResponse:
3252
+ raise NotImplementedError
3253
+
3063
3254
  @handler("GetPolicy")
3064
3255
  def get_policy(
3065
3256
  self, context: RequestContext, policy_arn: arnType, **kwargs
@@ -3217,6 +3408,17 @@ class IamApi:
3217
3408
  ) -> ListAttachedUserPoliciesResponse:
3218
3409
  raise NotImplementedError
3219
3410
 
3411
+ @handler("ListDelegationRequests")
3412
+ def list_delegation_requests(
3413
+ self,
3414
+ context: RequestContext,
3415
+ owner_id: ownerIdType | None = None,
3416
+ marker: markerType | None = None,
3417
+ max_items: maxItemsType | None = None,
3418
+ **kwargs,
3419
+ ) -> ListDelegationRequestsResponse:
3420
+ raise NotImplementedError
3421
+
3220
3422
  @handler("ListEntitiesForPolicy")
3221
3423
  def list_entities_for_policy(
3222
3424
  self,
@@ -3591,6 +3793,16 @@ class IamApi:
3591
3793
  ) -> None:
3592
3794
  raise NotImplementedError
3593
3795
 
3796
+ @handler("RejectDelegationRequest")
3797
+ def reject_delegation_request(
3798
+ self,
3799
+ context: RequestContext,
3800
+ delegation_request_id: delegationRequestIdType,
3801
+ notes: notesType | None = None,
3802
+ **kwargs,
3803
+ ) -> None:
3804
+ raise NotImplementedError
3805
+
3594
3806
  @handler("RemoveClientIDFromOpenIDConnectProvider")
3595
3807
  def remove_client_id_from_open_id_connect_provider(
3596
3808
  self,
@@ -3643,6 +3855,12 @@ class IamApi:
3643
3855
  ) -> None:
3644
3856
  raise NotImplementedError
3645
3857
 
3858
+ @handler("SendDelegationToken")
3859
+ def send_delegation_token(
3860
+ self, context: RequestContext, delegation_request_id: delegationRequestIdType, **kwargs
3861
+ ) -> None:
3862
+ raise NotImplementedError
3863
+
3646
3864
  @handler("SetDefaultPolicyVersion")
3647
3865
  def set_default_policy_version(
3648
3866
  self,
@@ -3871,6 +4089,16 @@ class IamApi:
3871
4089
  ) -> None:
3872
4090
  raise NotImplementedError
3873
4091
 
4092
+ @handler("UpdateDelegationRequest")
4093
+ def update_delegation_request(
4094
+ self,
4095
+ context: RequestContext,
4096
+ delegation_request_id: delegationRequestIdType,
4097
+ notes: notesType | None = None,
4098
+ **kwargs,
4099
+ ) -> None:
4100
+ raise NotImplementedError
4101
+
3874
4102
  @handler("UpdateGroup")
3875
4103
  def update_group(
3876
4104
  self,
@@ -187,6 +187,7 @@ class KeyMaterialState(StrEnum):
187
187
  NON_CURRENT = "NON_CURRENT"
188
188
  CURRENT = "CURRENT"
189
189
  PENDING_ROTATION = "PENDING_ROTATION"
190
+ PENDING_MULTI_REGION_IMPORT_AND_ROTATION = "PENDING_MULTI_REGION_IMPORT_AND_ROTATION"
190
191
 
191
192
 
192
193
  class KeySpec(StrEnum):