localstack-core 4.10.1.dev42__py3-none-any.whl → 4.11.2.dev14__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 (116) 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 +1165 -12
  4. localstack/aws/api/iam/__init__.py +227 -0
  5. localstack/aws/api/kms/__init__.py +1 -0
  6. localstack/aws/api/lambda_/__init__.py +418 -66
  7. localstack/aws/api/logs/__init__.py +312 -0
  8. localstack/aws/api/opensearch/__init__.py +89 -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 +42 -0
  12. localstack/aws/api/route53resolver/__init__.py +1 -0
  13. localstack/aws/api/s3/__init__.py +62 -0
  14. localstack/aws/api/secretsmanager/__init__.py +28 -23
  15. localstack/aws/api/stepfunctions/__init__.py +52 -10
  16. localstack/aws/api/sts/__init__.py +52 -0
  17. localstack/aws/handlers/logging.py +8 -4
  18. localstack/aws/handlers/service.py +11 -2
  19. localstack/aws/protocol/serializer.py +1 -1
  20. localstack/deprecations.py +0 -6
  21. localstack/services/acm/provider.py +4 -0
  22. localstack/services/apigateway/legacy/provider.py +28 -15
  23. localstack/services/cloudformation/engine/template_preparer.py +6 -2
  24. localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +12 -0
  25. localstack/services/cloudwatch/provider.py +10 -3
  26. localstack/services/cloudwatch/provider_v2.py +6 -3
  27. localstack/services/configservice/provider.py +5 -1
  28. localstack/services/dynamodb/provider.py +1 -0
  29. localstack/services/dynamodb/v2/provider.py +1 -0
  30. localstack/services/dynamodbstreams/provider.py +6 -0
  31. localstack/services/dynamodbstreams/v2/provider.py +6 -0
  32. localstack/services/ec2/provider.py +6 -0
  33. localstack/services/es/provider.py +6 -0
  34. localstack/services/events/provider.py +4 -0
  35. localstack/services/events/v1/provider.py +9 -0
  36. localstack/services/firehose/provider.py +5 -0
  37. localstack/services/iam/provider.py +4 -0
  38. localstack/services/kms/models.py +10 -20
  39. localstack/services/kms/provider.py +4 -0
  40. localstack/services/lambda_/api_utils.py +37 -20
  41. localstack/services/lambda_/event_source_mapping/pollers/stream_poller.py +1 -1
  42. localstack/services/lambda_/invocation/assignment.py +4 -1
  43. localstack/services/lambda_/invocation/execution_environment.py +21 -2
  44. localstack/services/lambda_/invocation/lambda_models.py +27 -2
  45. localstack/services/lambda_/invocation/lambda_service.py +51 -3
  46. localstack/services/lambda_/invocation/models.py +9 -1
  47. localstack/services/lambda_/invocation/version_manager.py +18 -3
  48. localstack/services/lambda_/provider.py +239 -95
  49. localstack/services/lambda_/resource_providers/aws_lambda_function.py +33 -1
  50. localstack/services/lambda_/runtimes.py +3 -1
  51. localstack/services/logs/provider.py +9 -0
  52. localstack/services/opensearch/provider.py +53 -3
  53. localstack/services/resource_groups/provider.py +5 -1
  54. localstack/services/resourcegroupstaggingapi/provider.py +6 -1
  55. localstack/services/s3/provider.py +28 -15
  56. localstack/services/s3/utils.py +35 -14
  57. localstack/services/s3control/provider.py +101 -2
  58. localstack/services/s3control/validation.py +50 -0
  59. localstack/services/sns/constants.py +3 -1
  60. localstack/services/sns/publisher.py +15 -6
  61. localstack/services/sns/v2/models.py +6 -0
  62. localstack/services/sns/v2/provider.py +650 -19
  63. localstack/services/sns/v2/utils.py +12 -0
  64. localstack/services/stepfunctions/asl/component/common/path/result_path.py +1 -1
  65. localstack/services/stepfunctions/asl/component/state/state_execution/execute_state.py +0 -1
  66. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py +0 -1
  67. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/lambda_eval_utils.py +8 -8
  68. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/{mock_eval_utils.py → local_mock_eval_utils.py} +13 -9
  69. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service.py +6 -6
  70. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_callback.py +1 -1
  71. localstack/services/stepfunctions/asl/component/state/state_fail/state_fail.py +4 -0
  72. localstack/services/stepfunctions/asl/component/test_state/state/base_mock.py +118 -0
  73. localstack/services/stepfunctions/asl/component/test_state/state/common.py +82 -0
  74. localstack/services/stepfunctions/asl/component/test_state/state/execution.py +139 -0
  75. localstack/services/stepfunctions/asl/component/test_state/state/map.py +77 -0
  76. localstack/services/stepfunctions/asl/component/test_state/state/task.py +44 -0
  77. localstack/services/stepfunctions/asl/eval/environment.py +30 -22
  78. localstack/services/stepfunctions/asl/eval/states.py +1 -1
  79. localstack/services/stepfunctions/asl/eval/test_state/environment.py +49 -9
  80. localstack/services/stepfunctions/asl/eval/test_state/program_state.py +22 -0
  81. localstack/services/stepfunctions/asl/jsonata/jsonata.py +5 -1
  82. localstack/services/stepfunctions/asl/parse/preprocessor.py +67 -24
  83. localstack/services/stepfunctions/asl/parse/test_state/asl_parser.py +5 -4
  84. localstack/services/stepfunctions/asl/parse/test_state/preprocessor.py +222 -31
  85. localstack/services/stepfunctions/asl/static_analyser/test_state/test_state_analyser.py +170 -22
  86. localstack/services/stepfunctions/backend/execution.py +6 -6
  87. localstack/services/stepfunctions/backend/execution_worker.py +5 -5
  88. localstack/services/stepfunctions/backend/test_state/execution.py +36 -0
  89. localstack/services/stepfunctions/backend/test_state/execution_worker.py +33 -1
  90. localstack/services/stepfunctions/backend/test_state/test_state_mock.py +127 -0
  91. localstack/services/stepfunctions/local_mocking/__init__.py +9 -0
  92. localstack/services/stepfunctions/{mocking → local_mocking}/mock_config.py +24 -17
  93. localstack/services/stepfunctions/provider.py +78 -27
  94. localstack/services/stepfunctions/test_state/mock_config.py +47 -0
  95. localstack/testing/pytest/fixtures.py +28 -0
  96. localstack/testing/snapshots/transformer_utility.py +5 -0
  97. localstack/utils/analytics/publisher.py +37 -155
  98. localstack/utils/analytics/service_request_aggregator.py +6 -4
  99. localstack/utils/aws/arns.py +7 -0
  100. localstack/utils/batching.py +258 -0
  101. localstack/utils/collections.py +23 -11
  102. localstack/version.py +2 -2
  103. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.11.2.dev14.dist-info}/METADATA +5 -5
  104. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.11.2.dev14.dist-info}/RECORD +113 -105
  105. localstack_core-4.11.2.dev14.dist-info/plux.json +1 -0
  106. localstack/services/stepfunctions/mocking/__init__.py +0 -0
  107. localstack/utils/batch_policy.py +0 -124
  108. localstack_core-4.10.1.dev42.dist-info/plux.json +0 -1
  109. /localstack/services/stepfunctions/{mocking → local_mocking}/mock_config_file.py +0 -0
  110. {localstack_core-4.10.1.dev42.data → localstack_core-4.11.2.dev14.data}/scripts/localstack +0 -0
  111. {localstack_core-4.10.1.dev42.data → localstack_core-4.11.2.dev14.data}/scripts/localstack-supervisor +0 -0
  112. {localstack_core-4.10.1.dev42.data → localstack_core-4.11.2.dev14.data}/scripts/localstack.bat +0 -0
  113. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.11.2.dev14.dist-info}/WHEEL +0 -0
  114. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.11.2.dev14.dist-info}/entry_points.txt +0 -0
  115. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.11.2.dev14.dist-info}/licenses/LICENSE.txt +0 -0
  116. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.11.2.dev14.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,31 @@ 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
+ RequestorId: accountIdType | None
973
+ RequestorName: requestorNameType | None
974
+ CreateDate: dateType | None
975
+ SessionDuration: sessionDurationType | None
976
+ RedirectUrl: redirectUrlType | None
977
+ Notes: notesType | None
978
+ RejectionReason: notesType | None
979
+ OnlySendByOwner: booleanType | None
980
+ UpdatedTime: dateType | None
981
+
982
+
901
983
  class DeleteAccessKeyRequest(ServiceRequest):
902
984
  UserName: existingUserNameType | None
903
985
  AccessKeyId: accessKeyIdType
@@ -1072,6 +1154,10 @@ class EnableOrganizationsRootSessionsResponse(TypedDict, total=False):
1072
1154
  EnabledFeatures: FeaturesListType | None
1073
1155
 
1074
1156
 
1157
+ class EnableOutboundWebIdentityFederationResponse(TypedDict, total=False):
1158
+ IssuerIdentifier: stringType | None
1159
+
1160
+
1075
1161
  class EntityInfo(TypedDict, total=False):
1076
1162
  Arn: arnType
1077
1163
  Name: userNameType
@@ -1321,6 +1407,17 @@ class GetCredentialReportResponse(TypedDict, total=False):
1321
1407
  GeneratedTime: dateType | None
1322
1408
 
1323
1409
 
1410
+ class GetDelegationRequestRequest(ServiceRequest):
1411
+ DelegationRequestId: delegationRequestIdType
1412
+ DelegationPermissionCheck: booleanType | None
1413
+
1414
+
1415
+ class GetDelegationRequestResponse(TypedDict, total=False):
1416
+ DelegationRequest: DelegationRequest | None
1417
+ PermissionCheckStatus: permissionCheckStatusType | None
1418
+ PermissionCheckResult: permissionCheckResultType | None
1419
+
1420
+
1324
1421
  class GetGroupPolicyRequest(ServiceRequest):
1325
1422
  GroupName: groupNameType
1326
1423
  PolicyName: policyNameType
@@ -1348,6 +1445,17 @@ class GetGroupResponse(TypedDict, total=False):
1348
1445
  Marker: responseMarkerType | None
1349
1446
 
1350
1447
 
1448
+ class GetHumanReadableSummaryRequest(ServiceRequest):
1449
+ EntityArn: arnType
1450
+ Locale: localeType | None
1451
+
1452
+
1453
+ class GetHumanReadableSummaryResponse(TypedDict, total=False):
1454
+ SummaryContent: summaryContentType | None
1455
+ Locale: localeType | None
1456
+ SummaryState: summaryStateType | None
1457
+
1458
+
1351
1459
  class GetInstanceProfileRequest(ServiceRequest):
1352
1460
  InstanceProfileName: instanceProfileNameType
1353
1461
 
@@ -1407,6 +1515,11 @@ class GetOrganizationsAccessReportResponse(TypedDict, total=False):
1407
1515
  ErrorDetails: ErrorDetails | None
1408
1516
 
1409
1517
 
1518
+ class GetOutboundWebIdentityFederationInfoResponse(TypedDict, total=False):
1519
+ IssuerIdentifier: stringType | None
1520
+ JwtVendingEnabled: booleanType | None
1521
+
1522
+
1410
1523
  class GetPolicyRequest(ServiceRequest):
1411
1524
  PolicyArn: arnType
1412
1525
 
@@ -1664,6 +1777,21 @@ class ListAttachedUserPoliciesResponse(TypedDict, total=False):
1664
1777
  Marker: responseMarkerType | None
1665
1778
 
1666
1779
 
1780
+ class ListDelegationRequestsRequest(ServiceRequest):
1781
+ OwnerId: ownerIdType | None
1782
+ Marker: markerType | None
1783
+ MaxItems: maxItemsType | None
1784
+
1785
+
1786
+ delegationRequestsListType = list[DelegationRequest]
1787
+
1788
+
1789
+ class ListDelegationRequestsResponse(TypedDict, total=False):
1790
+ DelegationRequests: delegationRequestsListType | None
1791
+ Marker: markerType | None
1792
+ isTruncated: booleanType | None
1793
+
1794
+
1667
1795
  class ListEntitiesForPolicyRequest(ServiceRequest):
1668
1796
  PolicyArn: arnType
1669
1797
  EntityFilter: EntityType | None
@@ -2172,6 +2300,11 @@ class PutUserPolicyRequest(ServiceRequest):
2172
2300
  PolicyDocument: policyDocumentType
2173
2301
 
2174
2302
 
2303
+ class RejectDelegationRequestRequest(ServiceRequest):
2304
+ DelegationRequestId: delegationRequestIdType
2305
+ Notes: notesType | None
2306
+
2307
+
2175
2308
  class RemoveClientIDFromOpenIDConnectProviderRequest(ServiceRequest):
2176
2309
  OpenIDConnectProviderArn: arnType
2177
2310
  ClientID: clientIDType
@@ -2206,6 +2339,10 @@ class ResyncMFADeviceRequest(ServiceRequest):
2206
2339
  AuthenticationCode2: authenticationCodeType
2207
2340
 
2208
2341
 
2342
+ class SendDelegationTokenRequest(ServiceRequest):
2343
+ DelegationRequestId: delegationRequestIdType
2344
+
2345
+
2209
2346
  class SetDefaultPolicyVersionRequest(ServiceRequest):
2210
2347
  PolicyArn: arnType
2211
2348
  VersionId: policyVersionIdType
@@ -2356,6 +2493,11 @@ class UpdateAssumeRolePolicyRequest(ServiceRequest):
2356
2493
  PolicyDocument: policyDocumentType
2357
2494
 
2358
2495
 
2496
+ class UpdateDelegationRequestRequest(ServiceRequest):
2497
+ DelegationRequestId: delegationRequestIdType
2498
+ Notes: notesType | None
2499
+
2500
+
2359
2501
  class UpdateGroupRequest(ServiceRequest):
2360
2502
  GroupName: groupNameType
2361
2503
  NewPath: pathType | None
@@ -2470,6 +2612,12 @@ class IamApi:
2470
2612
  service: str = "iam"
2471
2613
  version: str = "2010-05-08"
2472
2614
 
2615
+ @handler("AcceptDelegationRequest")
2616
+ def accept_delegation_request(
2617
+ self, context: RequestContext, delegation_request_id: delegationRequestIdType, **kwargs
2618
+ ) -> None:
2619
+ raise NotImplementedError
2620
+
2473
2621
  @handler("AddClientIDToOpenIDConnectProvider")
2474
2622
  def add_client_id_to_open_id_connect_provider(
2475
2623
  self,
@@ -2500,6 +2648,12 @@ class IamApi:
2500
2648
  ) -> None:
2501
2649
  raise NotImplementedError
2502
2650
 
2651
+ @handler("AssociateDelegationRequest")
2652
+ def associate_delegation_request(
2653
+ self, context: RequestContext, delegation_request_id: delegationRequestIdType, **kwargs
2654
+ ) -> None:
2655
+ raise NotImplementedError
2656
+
2503
2657
  @handler("AttachGroupPolicy")
2504
2658
  def attach_group_policy(
2505
2659
  self, context: RequestContext, group_name: groupNameType, policy_arn: arnType, **kwargs
@@ -2900,6 +3054,10 @@ class IamApi:
2900
3054
  ) -> DisableOrganizationsRootSessionsResponse:
2901
3055
  raise NotImplementedError
2902
3056
 
3057
+ @handler("DisableOutboundWebIdentityFederation")
3058
+ def disable_outbound_web_identity_federation(self, context: RequestContext, **kwargs) -> None:
3059
+ raise NotImplementedError
3060
+
2903
3061
  @handler("EnableMFADevice")
2904
3062
  def enable_mfa_device(
2905
3063
  self,
@@ -2924,6 +3082,12 @@ class IamApi:
2924
3082
  ) -> EnableOrganizationsRootSessionsResponse:
2925
3083
  raise NotImplementedError
2926
3084
 
3085
+ @handler("EnableOutboundWebIdentityFederation")
3086
+ def enable_outbound_web_identity_federation(
3087
+ self, context: RequestContext, **kwargs
3088
+ ) -> EnableOutboundWebIdentityFederationResponse:
3089
+ raise NotImplementedError
3090
+
2927
3091
  @handler("GenerateCredentialReport")
2928
3092
  def generate_credential_report(
2929
3093
  self, context: RequestContext, **kwargs
@@ -2999,6 +3163,16 @@ class IamApi:
2999
3163
  ) -> GetCredentialReportResponse:
3000
3164
  raise NotImplementedError
3001
3165
 
3166
+ @handler("GetDelegationRequest")
3167
+ def get_delegation_request(
3168
+ self,
3169
+ context: RequestContext,
3170
+ delegation_request_id: delegationRequestIdType,
3171
+ delegation_permission_check: booleanType | None = None,
3172
+ **kwargs,
3173
+ ) -> GetDelegationRequestResponse:
3174
+ raise NotImplementedError
3175
+
3002
3176
  @handler("GetGroup")
3003
3177
  def get_group(
3004
3178
  self,
@@ -3020,6 +3194,16 @@ class IamApi:
3020
3194
  ) -> GetGroupPolicyResponse:
3021
3195
  raise NotImplementedError
3022
3196
 
3197
+ @handler("GetHumanReadableSummary")
3198
+ def get_human_readable_summary(
3199
+ self,
3200
+ context: RequestContext,
3201
+ entity_arn: arnType,
3202
+ locale: localeType | None = None,
3203
+ **kwargs,
3204
+ ) -> GetHumanReadableSummaryResponse:
3205
+ raise NotImplementedError
3206
+
3023
3207
  @handler("GetInstanceProfile")
3024
3208
  def get_instance_profile(
3025
3209
  self, context: RequestContext, instance_profile_name: instanceProfileNameType, **kwargs
@@ -3060,6 +3244,12 @@ class IamApi:
3060
3244
  ) -> GetOrganizationsAccessReportResponse:
3061
3245
  raise NotImplementedError
3062
3246
 
3247
+ @handler("GetOutboundWebIdentityFederationInfo")
3248
+ def get_outbound_web_identity_federation_info(
3249
+ self, context: RequestContext, **kwargs
3250
+ ) -> GetOutboundWebIdentityFederationInfoResponse:
3251
+ raise NotImplementedError
3252
+
3063
3253
  @handler("GetPolicy")
3064
3254
  def get_policy(
3065
3255
  self, context: RequestContext, policy_arn: arnType, **kwargs
@@ -3217,6 +3407,17 @@ class IamApi:
3217
3407
  ) -> ListAttachedUserPoliciesResponse:
3218
3408
  raise NotImplementedError
3219
3409
 
3410
+ @handler("ListDelegationRequests")
3411
+ def list_delegation_requests(
3412
+ self,
3413
+ context: RequestContext,
3414
+ owner_id: ownerIdType | None = None,
3415
+ marker: markerType | None = None,
3416
+ max_items: maxItemsType | None = None,
3417
+ **kwargs,
3418
+ ) -> ListDelegationRequestsResponse:
3419
+ raise NotImplementedError
3420
+
3220
3421
  @handler("ListEntitiesForPolicy")
3221
3422
  def list_entities_for_policy(
3222
3423
  self,
@@ -3591,6 +3792,16 @@ class IamApi:
3591
3792
  ) -> None:
3592
3793
  raise NotImplementedError
3593
3794
 
3795
+ @handler("RejectDelegationRequest")
3796
+ def reject_delegation_request(
3797
+ self,
3798
+ context: RequestContext,
3799
+ delegation_request_id: delegationRequestIdType,
3800
+ notes: notesType | None = None,
3801
+ **kwargs,
3802
+ ) -> None:
3803
+ raise NotImplementedError
3804
+
3594
3805
  @handler("RemoveClientIDFromOpenIDConnectProvider")
3595
3806
  def remove_client_id_from_open_id_connect_provider(
3596
3807
  self,
@@ -3643,6 +3854,12 @@ class IamApi:
3643
3854
  ) -> None:
3644
3855
  raise NotImplementedError
3645
3856
 
3857
+ @handler("SendDelegationToken")
3858
+ def send_delegation_token(
3859
+ self, context: RequestContext, delegation_request_id: delegationRequestIdType, **kwargs
3860
+ ) -> None:
3861
+ raise NotImplementedError
3862
+
3646
3863
  @handler("SetDefaultPolicyVersion")
3647
3864
  def set_default_policy_version(
3648
3865
  self,
@@ -3871,6 +4088,16 @@ class IamApi:
3871
4088
  ) -> None:
3872
4089
  raise NotImplementedError
3873
4090
 
4091
+ @handler("UpdateDelegationRequest")
4092
+ def update_delegation_request(
4093
+ self,
4094
+ context: RequestContext,
4095
+ delegation_request_id: delegationRequestIdType,
4096
+ notes: notesType | None = None,
4097
+ **kwargs,
4098
+ ) -> None:
4099
+ raise NotImplementedError
4100
+
3874
4101
  @handler("UpdateGroup")
3875
4102
  def update_group(
3876
4103
  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):