localstack-core 4.6.1.dev60__py3-none-any.whl → 4.10.1.dev12__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.
- localstack/aws/api/apigateway/__init__.py +87 -110
- localstack/aws/api/cloudformation/__init__.py +18 -4
- localstack/aws/api/cloudwatch/__init__.py +41 -1
- localstack/aws/api/config/__init__.py +4 -0
- localstack/aws/api/core.py +8 -5
- localstack/aws/api/dynamodb/__init__.py +30 -0
- localstack/aws/api/ec2/__init__.py +1545 -66
- localstack/aws/api/events/__init__.py +12 -16
- localstack/aws/api/iam/__init__.py +7 -0
- localstack/aws/api/kinesis/__init__.py +19 -0
- localstack/aws/api/kms/__init__.py +6 -0
- localstack/aws/api/lambda_/__init__.py +36 -23
- localstack/aws/api/logs/__init__.py +20 -8
- localstack/aws/api/opensearch/__init__.py +16 -0
- localstack/aws/api/pipes/__init__.py +24 -32
- localstack/aws/api/redshift/__init__.py +9 -3
- localstack/aws/api/route53/__init__.py +5 -0
- localstack/aws/api/s3/__init__.py +12 -0
- localstack/aws/api/s3control/__init__.py +56 -0
- localstack/aws/api/scheduler/__init__.py +14 -16
- localstack/aws/api/ssm/__init__.py +2 -0
- localstack/aws/api/stepfunctions/__init__.py +88 -114
- localstack/aws/api/support/__init__.py +8 -9
- localstack/aws/api/transcribe/__init__.py +17 -0
- localstack/aws/chain.py +2 -2
- localstack/aws/client.py +14 -11
- localstack/aws/connect.py +42 -41
- localstack/aws/forwarder.py +57 -9
- localstack/aws/gateway.py +1 -3
- localstack/aws/handlers/analytics.py +2 -3
- localstack/aws/handlers/cors.py +4 -5
- localstack/aws/handlers/internal_requests.py +6 -1
- localstack/aws/handlers/logging.py +13 -4
- localstack/aws/handlers/metric_handler.py +44 -5
- localstack/aws/handlers/service.py +48 -28
- localstack/aws/mocking.py +18 -27
- localstack/aws/patches.py +2 -2
- localstack/aws/protocol/op_router.py +11 -10
- localstack/aws/protocol/parser.py +475 -49
- localstack/aws/protocol/serializer.py +723 -106
- localstack/aws/protocol/service_router.py +133 -33
- localstack/aws/protocol/validate.py +6 -6
- localstack/aws/scaffold.py +9 -10
- localstack/aws/serving/edge.py +5 -6
- localstack/aws/serving/hypercorn.py +2 -2
- localstack/aws/serving/twisted.py +1 -2
- localstack/aws/serving/werkzeug.py +2 -2
- localstack/aws/skeleton.py +12 -11
- localstack/aws/spec-patches.json +58 -0
- localstack/aws/spec.py +66 -46
- localstack/cli/exceptions.py +1 -1
- localstack/cli/localstack.py +11 -11
- localstack/cli/lpm.py +4 -5
- localstack/cli/plugins.py +1 -1
- localstack/cli/profiles.py +1 -2
- localstack/config.py +44 -30
- localstack/constants.py +4 -29
- localstack/deprecations.py +5 -5
- localstack/dev/kubernetes/__main__.py +130 -7
- localstack/dev/run/__main__.py +5 -5
- localstack/dev/run/configurators.py +1 -4
- localstack/dev/run/paths.py +6 -6
- localstack/dns/models.py +2 -1
- localstack/dns/plugins.py +5 -1
- localstack/dns/server.py +16 -6
- localstack/http/dispatcher.py +1 -2
- localstack/http/response.py +2 -2
- localstack/http/router.py +1 -1
- localstack/http/trace.py +2 -1
- localstack/logging/format.py +6 -6
- localstack/packages/api.py +13 -12
- localstack/packages/core.py +4 -4
- localstack/packages/debugpy.py +1 -3
- localstack/packages/ffmpeg.py +1 -2
- localstack/packages/java.py +38 -12
- localstack/packages/plugins.py +0 -8
- localstack/runtime/analytics.py +3 -0
- localstack/runtime/hooks.py +1 -1
- localstack/runtime/init.py +8 -9
- localstack/runtime/main.py +5 -5
- localstack/runtime/patches.py +2 -2
- localstack/runtime/shutdown.py +2 -1
- localstack/services/apigateway/exporter.py +1 -2
- localstack/services/apigateway/helpers.py +7 -10
- localstack/services/apigateway/legacy/context.py +21 -21
- localstack/services/apigateway/legacy/helpers.py +27 -28
- localstack/services/apigateway/legacy/integration.py +11 -10
- localstack/services/apigateway/legacy/invocations.py +6 -5
- localstack/services/apigateway/legacy/provider.py +148 -68
- localstack/services/apigateway/legacy/router_asf.py +2 -2
- localstack/services/apigateway/legacy/templates.py +6 -6
- localstack/services/apigateway/models.py +16 -16
- localstack/services/apigateway/next_gen/execute_api/api.py +2 -2
- localstack/services/apigateway/next_gen/execute_api/context.py +25 -25
- localstack/services/apigateway/next_gen/execute_api/handlers/api_key_validation.py +2 -5
- localstack/services/apigateway/next_gen/execute_api/handlers/method_request.py +7 -2
- localstack/services/apigateway/next_gen/execute_api/handlers/parse.py +1 -2
- localstack/services/apigateway/next_gen/execute_api/handlers/resource_router.py +2 -3
- localstack/services/apigateway/next_gen/execute_api/header_utils.py +1 -1
- localstack/services/apigateway/next_gen/execute_api/helpers.py +2 -2
- localstack/services/apigateway/next_gen/execute_api/integrations/aws.py +9 -6
- localstack/services/apigateway/next_gen/execute_api/integrations/http.py +12 -12
- localstack/services/apigateway/next_gen/execute_api/router.py +31 -0
- localstack/services/apigateway/next_gen/execute_api/template_mapping.py +2 -2
- localstack/services/apigateway/next_gen/execute_api/test_invoke.py +114 -9
- localstack/services/apigateway/next_gen/execute_api/variables.py +63 -63
- localstack/services/apigateway/next_gen/provider.py +5 -0
- localstack/services/apigateway/resource_providers/aws_apigateway_account.py +3 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_account_plugin.py +1 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_apikey.py +14 -14
- localstack/services/apigateway/resource_providers/aws_apigateway_apikey_plugin.py +1 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_basepathmapping.py +5 -5
- localstack/services/apigateway/resource_providers/aws_apigateway_basepathmapping_plugin.py +1 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_deployment.py +46 -46
- localstack/services/apigateway/resource_providers/aws_apigateway_deployment_plugin.py +1 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_domainname.py +18 -18
- localstack/services/apigateway/resource_providers/aws_apigateway_domainname_plugin.py +1 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_gatewayresponse.py +7 -7
- localstack/services/apigateway/resource_providers/aws_apigateway_gatewayresponse_plugin.py +1 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_method.py +36 -36
- localstack/services/apigateway/resource_providers/aws_apigateway_method_plugin.py +1 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_model.py +6 -6
- localstack/services/apigateway/resource_providers/aws_apigateway_model_plugin.py +1 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_requestvalidator.py +6 -6
- localstack/services/apigateway/resource_providers/aws_apigateway_requestvalidator_plugin.py +1 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_resource.py +6 -6
- localstack/services/apigateway/resource_providers/aws_apigateway_resource_plugin.py +1 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_restapi.py +26 -26
- localstack/services/apigateway/resource_providers/aws_apigateway_restapi_plugin.py +1 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_stage.py +33 -33
- localstack/services/apigateway/resource_providers/aws_apigateway_stage_plugin.py +1 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_usageplan.py +18 -18
- localstack/services/apigateway/resource_providers/aws_apigateway_usageplan_plugin.py +1 -3
- localstack/services/apigateway/resource_providers/aws_apigateway_usageplankey.py +5 -5
- localstack/services/apigateway/resource_providers/aws_apigateway_usageplankey_plugin.py +1 -3
- localstack/services/cdk/resource_providers/cdk_metadata.py +4 -3
- localstack/services/cdk/resource_providers/cdk_metadata_plugin.py +1 -3
- localstack/services/certificatemanager/resource_providers/aws_certificatemanager_certificate.py +14 -14
- localstack/services/certificatemanager/resource_providers/aws_certificatemanager_certificate_plugin.py +1 -3
- localstack/services/cloudformation/api_utils.py +4 -8
- localstack/services/cloudformation/cfn_utils.py +2 -2
- localstack/services/cloudformation/deployment_utils.py +14 -12
- localstack/services/cloudformation/engine/changes.py +3 -3
- localstack/services/cloudformation/engine/entities.py +27 -17
- localstack/services/cloudformation/engine/parameters.py +4 -4
- localstack/services/cloudformation/engine/template_deployer.py +15 -14
- localstack/services/cloudformation/engine/template_utils.py +34 -12
- localstack/services/cloudformation/engine/transformers.py +11 -8
- localstack/services/cloudformation/engine/types.py +5 -4
- localstack/services/cloudformation/engine/v2/change_set_model.py +336 -39
- localstack/services/cloudformation/engine/v2/change_set_model_describer.py +96 -17
- localstack/services/cloudformation/engine/v2/change_set_model_executor.py +289 -136
- localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +315 -146
- localstack/services/cloudformation/engine/v2/change_set_model_transform.py +380 -105
- localstack/services/cloudformation/engine/v2/change_set_model_validator.py +183 -0
- localstack/services/cloudformation/engine/v2/change_set_model_visitor.py +6 -0
- localstack/services/cloudformation/engine/v2/resolving.py +102 -0
- localstack/services/cloudformation/engine/yaml_parser.py +9 -2
- localstack/services/cloudformation/provider.py +11 -6
- localstack/services/cloudformation/provider_utils.py +34 -4
- localstack/services/cloudformation/resource_provider.py +31 -21
- localstack/services/cloudformation/resource_providers/aws_cloudformation_macro.py +7 -7
- localstack/services/cloudformation/resource_providers/aws_cloudformation_macro_plugin.py +1 -3
- localstack/services/cloudformation/resource_providers/aws_cloudformation_stack.py +9 -9
- localstack/services/cloudformation/resource_providers/aws_cloudformation_stack_plugin.py +1 -3
- localstack/services/cloudformation/resource_providers/aws_cloudformation_waitcondition.py +6 -6
- localstack/services/cloudformation/resource_providers/aws_cloudformation_waitcondition_plugin.py +1 -3
- localstack/services/cloudformation/resource_providers/aws_cloudformation_waitconditionhandle.py +2 -2
- localstack/services/cloudformation/resource_providers/aws_cloudformation_waitconditionhandle_plugin.py +1 -3
- localstack/services/cloudformation/resources.py +24149 -0
- localstack/services/cloudformation/scaffolding/__main__.py +13 -12
- localstack/services/cloudformation/scaffolding/propgen.py +2 -2
- localstack/services/cloudformation/service_models.py +2 -2
- localstack/services/cloudformation/stores.py +33 -22
- localstack/services/cloudformation/v2/entities.py +103 -88
- localstack/services/cloudformation/v2/provider.py +872 -131
- localstack/services/cloudformation/v2/types.py +38 -0
- localstack/services/cloudformation/v2/utils.py +4 -1
- localstack/services/cloudwatch/alarm_scheduler.py +11 -8
- localstack/services/cloudwatch/cloudwatch_database_helper.py +4 -5
- localstack/services/cloudwatch/models.py +5 -7
- localstack/services/cloudwatch/provider.py +30 -25
- localstack/services/cloudwatch/provider_v2.py +27 -32
- localstack/services/cloudwatch/resource_providers/aws_cloudwatch_alarm.py +40 -40
- localstack/services/cloudwatch/resource_providers/aws_cloudwatch_alarm_plugin.py +1 -3
- localstack/services/cloudwatch/resource_providers/aws_cloudwatch_compositealarm.py +12 -12
- localstack/services/cloudwatch/resource_providers/aws_cloudwatch_compositealarm_plugin.py +1 -3
- localstack/services/dynamodb/packages.py +3 -3
- localstack/services/dynamodb/provider.py +159 -18
- localstack/services/dynamodb/resource_providers/aws_dynamodb_globaltable.py +63 -63
- localstack/services/dynamodb/resource_providers/aws_dynamodb_globaltable_plugin.py +1 -3
- localstack/services/dynamodb/resource_providers/aws_dynamodb_table.py +57 -57
- localstack/services/dynamodb/resource_providers/aws_dynamodb_table_plugin.py +1 -3
- localstack/services/dynamodb/server.py +2 -2
- localstack/services/dynamodb/utils.py +13 -14
- localstack/services/dynamodb/v2/provider.py +157 -18
- localstack/services/dynamodbstreams/dynamodbstreams_api.py +2 -2
- localstack/services/dynamodbstreams/models.py +1 -3
- localstack/services/ec2/patches.py +26 -5
- localstack/services/ec2/provider.py +3 -3
- localstack/services/ec2/resource_providers/aws_ec2_dhcpoptions.py +10 -10
- localstack/services/ec2/resource_providers/aws_ec2_dhcpoptions_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_instance.py +96 -96
- localstack/services/ec2/resource_providers/aws_ec2_instance_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_internetgateway.py +5 -5
- localstack/services/ec2/resource_providers/aws_ec2_internetgateway_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_keypair.py +10 -10
- localstack/services/ec2/resource_providers/aws_ec2_keypair_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_natgateway.py +13 -13
- localstack/services/ec2/resource_providers/aws_ec2_natgateway_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_networkacl.py +6 -6
- localstack/services/ec2/resource_providers/aws_ec2_networkacl_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_prefixlist.py +14 -14
- localstack/services/ec2/resource_providers/aws_ec2_prefixlist_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_route.py +15 -15
- localstack/services/ec2/resource_providers/aws_ec2_route_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_routetable.py +6 -6
- localstack/services/ec2/resource_providers/aws_ec2_routetable_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_securitygroup.py +29 -29
- localstack/services/ec2/resource_providers/aws_ec2_securitygroup_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_subnet.py +19 -19
- localstack/services/ec2/resource_providers/aws_ec2_subnet_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_subnetroutetableassociation.py +4 -4
- localstack/services/ec2/resource_providers/aws_ec2_subnetroutetableassociation_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_transitgateway.py +16 -16
- localstack/services/ec2/resource_providers/aws_ec2_transitgateway_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_transitgatewayattachment.py +9 -9
- localstack/services/ec2/resource_providers/aws_ec2_transitgatewayattachment_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_vpc.py +15 -15
- localstack/services/ec2/resource_providers/aws_ec2_vpc_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_vpcendpoint.py +29 -22
- localstack/services/ec2/resource_providers/aws_ec2_vpcendpoint_plugin.py +1 -3
- localstack/services/ec2/resource_providers/aws_ec2_vpcgatewayattachment.py +5 -5
- localstack/services/ec2/resource_providers/aws_ec2_vpcgatewayattachment_plugin.py +1 -3
- localstack/services/ecr/resource_providers/aws_ecr_repository.py +22 -19
- localstack/services/ecr/resource_providers/aws_ecr_repository_plugin.py +1 -3
- localstack/services/edge.py +6 -6
- localstack/services/es/provider.py +21 -21
- localstack/services/events/archive.py +2 -2
- localstack/services/events/connection.py +5 -5
- localstack/services/events/event_bus.py +9 -9
- localstack/services/events/event_rule_engine.py +31 -13
- localstack/services/events/models.py +29 -30
- localstack/services/events/provider.py +29 -26
- localstack/services/events/replay.py +3 -3
- localstack/services/events/resource_providers/aws_events_apidestination.py +8 -8
- localstack/services/events/resource_providers/aws_events_apidestination_plugin.py +1 -3
- localstack/services/events/resource_providers/aws_events_connection.py +27 -27
- localstack/services/events/resource_providers/aws_events_connection_plugin.py +1 -3
- localstack/services/events/resource_providers/aws_events_eventbus.py +9 -9
- localstack/services/events/resource_providers/aws_events_eventbus_plugin.py +1 -3
- localstack/services/events/resource_providers/aws_events_eventbuspolicy.py +11 -11
- localstack/services/events/resource_providers/aws_events_eventbuspolicy_plugin.py +1 -3
- localstack/services/events/resource_providers/aws_events_rule.py +82 -82
- localstack/services/events/resource_providers/aws_events_rule_plugin.py +1 -3
- localstack/services/events/rule.py +15 -15
- localstack/services/events/target.py +21 -13
- localstack/services/events/utils.py +7 -7
- localstack/services/events/v1/models.py +1 -3
- localstack/services/events/v1/provider.py +15 -15
- localstack/services/firehose/models.py +1 -3
- localstack/services/firehose/provider.py +25 -16
- localstack/services/iam/iam_patches.py +5 -6
- localstack/services/iam/provider.py +14 -119
- localstack/services/iam/resource_providers/aws_iam_accesskey.py +6 -6
- localstack/services/iam/resource_providers/aws_iam_accesskey_plugin.py +1 -3
- localstack/services/iam/resource_providers/aws_iam_group.py +9 -9
- localstack/services/iam/resource_providers/aws_iam_group_plugin.py +1 -3
- localstack/services/iam/resource_providers/aws_iam_instanceprofile.py +5 -5
- localstack/services/iam/resource_providers/aws_iam_instanceprofile_plugin.py +1 -3
- localstack/services/iam/resource_providers/aws_iam_managedpolicy.py +9 -9
- localstack/services/iam/resource_providers/aws_iam_managedpolicy_plugin.py +1 -3
- localstack/services/iam/resource_providers/aws_iam_policy.py +7 -7
- localstack/services/iam/resource_providers/aws_iam_policy_plugin.py +1 -3
- localstack/services/iam/resource_providers/aws_iam_role.py +16 -16
- localstack/services/iam/resource_providers/aws_iam_role_plugin.py +1 -3
- localstack/services/iam/resource_providers/aws_iam_servercertificate.py +10 -10
- localstack/services/iam/resource_providers/aws_iam_servercertificate_plugin.py +1 -3
- localstack/services/iam/resource_providers/aws_iam_servicelinkedrole.py +5 -5
- localstack/services/iam/resource_providers/aws_iam_servicelinkedrole_plugin.py +1 -3
- localstack/services/iam/resource_providers/aws_iam_user.py +17 -17
- localstack/services/iam/resource_providers/aws_iam_user_plugin.py +1 -3
- localstack/services/iam/resources/policy_simulator.py +133 -0
- localstack/services/kinesis/kinesis_mock_server.py +7 -8
- localstack/services/kinesis/models.py +17 -5
- localstack/services/kinesis/packages.py +3 -3
- localstack/services/kinesis/provider.py +86 -3
- localstack/services/kinesis/resource_providers/aws_kinesis_stream.py +13 -13
- localstack/services/kinesis/resource_providers/aws_kinesis_stream_plugin.py +1 -3
- localstack/services/kinesis/resource_providers/aws_kinesis_streamconsumer.py +7 -7
- localstack/services/kinesis/resource_providers/aws_kinesis_streamconsumer_plugin.py +1 -3
- localstack/services/kinesisfirehose/resource_providers/aws_kinesisfirehose_deliverystream.py +191 -191
- localstack/services/kinesisfirehose/resource_providers/aws_kinesisfirehose_deliverystream_plugin.py +1 -3
- localstack/services/kms/models.py +21 -18
- localstack/services/kms/provider.py +62 -26
- localstack/services/kms/resource_providers/aws_kms_alias.py +3 -3
- localstack/services/kms/resource_providers/aws_kms_alias_plugin.py +1 -3
- localstack/services/kms/resource_providers/aws_kms_key.py +14 -14
- localstack/services/kms/resource_providers/aws_kms_key_plugin.py +1 -3
- localstack/services/kms/utils.py +4 -3
- localstack/services/lambda_/api_utils.py +19 -16
- localstack/services/lambda_/custom_endpoints.py +2 -2
- localstack/services/lambda_/event_source_mapping/esm_worker_factory.py +4 -7
- localstack/services/lambda_/event_source_mapping/pipe_utils.py +2 -2
- localstack/services/lambda_/event_source_mapping/pollers/stream_poller.py +1 -1
- localstack/services/lambda_/event_source_mapping/senders/sender_utils.py +2 -1
- localstack/services/lambda_/hooks.py +6 -1
- localstack/services/lambda_/invocation/assignment.py +1 -2
- localstack/services/lambda_/invocation/docker_runtime_executor.py +7 -11
- localstack/services/lambda_/invocation/event_manager.py +1 -1
- localstack/services/lambda_/invocation/execution_environment.py +4 -4
- localstack/services/lambda_/invocation/executor_endpoint.py +8 -11
- localstack/services/lambda_/invocation/internal_sqs_queue.py +6 -10
- localstack/services/lambda_/invocation/lambda_models.py +33 -30
- localstack/services/lambda_/invocation/lambda_service.py +12 -5
- localstack/services/lambda_/invocation/logs.py +2 -3
- localstack/services/lambda_/invocation/runtime_executor.py +3 -3
- localstack/services/lambda_/invocation/version_manager.py +31 -8
- localstack/services/lambda_/ldm.py +14 -0
- localstack/services/lambda_/packages.py +3 -4
- localstack/services/lambda_/provider.py +9 -26
- localstack/services/lambda_/provider_utils.py +1 -1
- localstack/services/lambda_/resource_providers/aws_lambda_codesigningconfig.py +8 -8
- localstack/services/lambda_/resource_providers/aws_lambda_codesigningconfig_plugin.py +1 -3
- localstack/services/lambda_/resource_providers/aws_lambda_eventinvokeconfig.py +11 -11
- localstack/services/lambda_/resource_providers/aws_lambda_eventinvokeconfig_plugin.py +1 -3
- localstack/services/lambda_/resource_providers/aws_lambda_eventsourcemapping.py +39 -39
- localstack/services/lambda_/resource_providers/aws_lambda_eventsourcemapping_plugin.py +1 -3
- localstack/services/lambda_/resource_providers/aws_lambda_function.py +54 -54
- localstack/services/lambda_/resource_providers/aws_lambda_function_plugin.py +1 -3
- localstack/services/lambda_/resource_providers/aws_lambda_layerversion.py +11 -11
- localstack/services/lambda_/resource_providers/aws_lambda_layerversion_plugin.py +1 -3
- localstack/services/lambda_/resource_providers/aws_lambda_layerversionpermission.py +6 -6
- localstack/services/lambda_/resource_providers/aws_lambda_layerversionpermission_plugin.py +1 -3
- localstack/services/lambda_/resource_providers/aws_lambda_permission.py +10 -10
- localstack/services/lambda_/resource_providers/aws_lambda_permission_plugin.py +1 -3
- localstack/services/lambda_/resource_providers/aws_lambda_url.py +15 -15
- localstack/services/lambda_/resource_providers/aws_lambda_url_plugin.py +1 -3
- localstack/services/lambda_/resource_providers/aws_lambda_version.py +8 -8
- localstack/services/lambda_/resource_providers/aws_lambda_version_plugin.py +1 -3
- localstack/services/lambda_/resource_providers/lambda_alias.py +12 -12
- localstack/services/lambda_/resource_providers/lambda_alias_plugin.py +1 -3
- localstack/services/lambda_/runtimes.py +1 -3
- localstack/services/lambda_/urlrouter.py +14 -1
- localstack/services/logs/models.py +1 -3
- localstack/services/logs/provider.py +39 -22
- localstack/services/logs/resource_providers/aws_logs_loggroup.py +9 -9
- localstack/services/logs/resource_providers/aws_logs_loggroup_plugin.py +1 -3
- localstack/services/logs/resource_providers/aws_logs_logstream.py +4 -4
- localstack/services/logs/resource_providers/aws_logs_logstream_plugin.py +1 -3
- localstack/services/logs/resource_providers/aws_logs_subscriptionfilter.py +7 -7
- localstack/services/logs/resource_providers/aws_logs_subscriptionfilter_plugin.py +1 -3
- localstack/services/moto.py +5 -4
- localstack/services/opensearch/cluster.py +28 -20
- localstack/services/opensearch/cluster_manager.py +13 -14
- localstack/services/opensearch/models.py +1 -3
- localstack/services/opensearch/packages.py +27 -9
- localstack/services/opensearch/provider.py +15 -10
- localstack/services/opensearch/resource_providers/aws_elasticsearch_domain.py +61 -61
- localstack/services/opensearch/resource_providers/aws_elasticsearch_domain_plugin.py +1 -3
- localstack/services/opensearch/resource_providers/aws_opensearchservice_domain.py +89 -89
- localstack/services/opensearch/resource_providers/aws_opensearchservice_domain_plugin.py +1 -3
- localstack/services/opensearch/versions.py +57 -10
- localstack/services/plugins.py +37 -32
- localstack/services/providers.py +10 -2
- localstack/services/redshift/provider.py +0 -21
- localstack/services/redshift/resource_providers/aws_redshift_cluster.py +57 -57
- localstack/services/redshift/resource_providers/aws_redshift_cluster_plugin.py +1 -3
- localstack/services/resource_groups/resource_providers/aws_resourcegroups_group.py +21 -21
- localstack/services/resource_groups/resource_providers/aws_resourcegroups_group_plugin.py +1 -3
- localstack/services/route53/models.py +1 -3
- localstack/services/route53/provider.py +1 -2
- localstack/services/route53/resource_providers/aws_route53_healthcheck.py +6 -6
- localstack/services/route53/resource_providers/aws_route53_healthcheck_plugin.py +1 -3
- localstack/services/route53/resource_providers/aws_route53_recordset.py +27 -27
- localstack/services/route53/resource_providers/aws_route53_recordset_plugin.py +1 -3
- localstack/services/route53resolver/models.py +8 -10
- localstack/services/route53resolver/provider.py +12 -12
- localstack/services/s3/codec.py +2 -2
- localstack/services/s3/constants.py +5 -2
- localstack/services/s3/cors.py +8 -8
- localstack/services/s3/models.py +73 -73
- localstack/services/s3/notifications.py +74 -58
- localstack/services/s3/presigned_url.py +41 -59
- localstack/services/s3/provider.py +86 -29
- localstack/services/s3/resource_providers/aws_s3_bucket.py +180 -180
- localstack/services/s3/resource_providers/aws_s3_bucket_plugin.py +1 -3
- localstack/services/s3/resource_providers/aws_s3_bucketpolicy.py +4 -4
- localstack/services/s3/resource_providers/aws_s3_bucketpolicy_plugin.py +1 -3
- localstack/services/s3/storage/core.py +4 -3
- localstack/services/s3/storage/ephemeral.py +7 -6
- localstack/services/s3/utils.py +51 -31
- localstack/services/s3/validation.py +47 -33
- localstack/services/s3/website_hosting.py +9 -7
- localstack/services/scheduler/resource_providers/aws_scheduler_schedule.py +60 -60
- localstack/services/scheduler/resource_providers/aws_scheduler_schedule_plugin.py +1 -3
- localstack/services/scheduler/resource_providers/aws_scheduler_schedulegroup.py +9 -9
- localstack/services/scheduler/resource_providers/aws_scheduler_schedulegroup_plugin.py +1 -3
- localstack/services/secretsmanager/provider.py +10 -12
- localstack/services/secretsmanager/resource_providers/aws_secretsmanager_resourcepolicy.py +5 -5
- localstack/services/secretsmanager/resource_providers/aws_secretsmanager_resourcepolicy_plugin.py +1 -3
- localstack/services/secretsmanager/resource_providers/aws_secretsmanager_rotationschedule.py +21 -21
- localstack/services/secretsmanager/resource_providers/aws_secretsmanager_rotationschedule_plugin.py +1 -3
- localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secret.py +23 -23
- localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secret_plugin.py +1 -3
- localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secrettargetattachment.py +5 -5
- localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secrettargetattachment_plugin.py +1 -3
- localstack/services/ses/models.py +8 -1
- localstack/services/ses/provider.py +128 -55
- localstack/services/ses/resource_providers/aws_ses_emailidentity.py +21 -21
- localstack/services/ses/resource_providers/aws_ses_emailidentity_plugin.py +1 -3
- localstack/services/sns/constants.py +7 -1
- localstack/services/sns/executor.py +9 -2
- localstack/services/sns/models.py +25 -25
- localstack/services/sns/provider.py +9 -7
- localstack/services/sns/publisher.py +37 -23
- localstack/services/sns/resource_providers/aws_sns_subscription.py +13 -13
- localstack/services/sns/resource_providers/aws_sns_subscription_plugin.py +1 -3
- localstack/services/sns/resource_providers/aws_sns_topic.py +16 -16
- localstack/services/sns/resource_providers/aws_sns_topic_plugin.py +1 -3
- localstack/services/sns/resource_providers/aws_sns_topicpolicy.py +4 -4
- localstack/services/sns/resource_providers/aws_sns_topicpolicy_plugin.py +1 -3
- localstack/services/sns/v2/models.py +167 -0
- localstack/services/sns/v2/provider.py +867 -0
- localstack/services/sns/v2/utils.py +130 -0
- localstack/services/sqs/constants.py +2 -2
- localstack/services/sqs/developer_api.py +205 -0
- localstack/services/sqs/models.py +71 -36
- localstack/services/sqs/provider.py +56 -332
- localstack/services/sqs/query_api.py +8 -5
- localstack/services/sqs/resource_providers/aws_sqs_queue.py +21 -21
- localstack/services/sqs/resource_providers/aws_sqs_queue_plugin.py +1 -3
- localstack/services/sqs/resource_providers/aws_sqs_queuepolicy.py +7 -5
- localstack/services/sqs/resource_providers/aws_sqs_queuepolicy_plugin.py +1 -3
- localstack/services/sqs/utils.py +123 -4
- localstack/services/ssm/provider.py +3 -4
- localstack/services/ssm/resource_providers/aws_ssm_maintenancewindow.py +15 -15
- localstack/services/ssm/resource_providers/aws_ssm_maintenancewindow_plugin.py +1 -3
- localstack/services/ssm/resource_providers/aws_ssm_maintenancewindowtarget.py +10 -10
- localstack/services/ssm/resource_providers/aws_ssm_maintenancewindowtarget_plugin.py +1 -3
- localstack/services/ssm/resource_providers/aws_ssm_maintenancewindowtask.py +48 -48
- localstack/services/ssm/resource_providers/aws_ssm_maintenancewindowtask_plugin.py +1 -3
- localstack/services/ssm/resource_providers/aws_ssm_parameter.py +10 -10
- localstack/services/ssm/resource_providers/aws_ssm_parameter_plugin.py +1 -3
- localstack/services/ssm/resource_providers/aws_ssm_patchbaseline.py +29 -29
- localstack/services/ssm/resource_providers/aws_ssm_patchbaseline_plugin.py +1 -3
- localstack/services/stepfunctions/asl/antlt4utils/antlr4utils.py +3 -4
- localstack/services/stepfunctions/asl/component/common/assign/assign_decl.py +1 -1
- localstack/services/stepfunctions/asl/component/common/assign/assign_decl_binding.py +1 -1
- localstack/services/stepfunctions/asl/component/common/assign/assign_template_value_array.py +1 -1
- localstack/services/stepfunctions/asl/component/common/assign/assign_template_value_object.py +1 -1
- localstack/services/stepfunctions/asl/component/common/catch/catcher_decl.py +9 -9
- localstack/services/stepfunctions/asl/component/common/error_name/custom_error_name.py +2 -2
- localstack/services/stepfunctions/asl/component/common/error_name/error_name.py +4 -4
- localstack/services/stepfunctions/asl/component/common/error_name/failure_event.py +8 -8
- localstack/services/stepfunctions/asl/component/common/error_name/states_error_name_type.py +1 -1
- localstack/services/stepfunctions/asl/component/common/jsonata/jsonata_template_binding.py +2 -2
- localstack/services/stepfunctions/asl/component/common/jsonata/jsonata_template_value_array.py +1 -1
- localstack/services/stepfunctions/asl/component/common/jsonata/jsonata_template_value_object.py +1 -1
- localstack/services/stepfunctions/asl/component/common/path/input_path.py +4 -4
- localstack/services/stepfunctions/asl/component/common/path/output_path.py +4 -4
- localstack/services/stepfunctions/asl/component/common/path/result_path.py +3 -3
- localstack/services/stepfunctions/asl/component/common/payload/payloadvalue/payloadarr/payload_arr.py +1 -1
- localstack/services/stepfunctions/asl/component/common/payload/payloadvalue/payloadbinding/payload_binding.py +3 -3
- localstack/services/stepfunctions/asl/component/common/payload/payloadvalue/payloadtmpl/payload_tmpl.py +1 -1
- localstack/services/stepfunctions/asl/component/common/retry/retrier_decl.py +8 -8
- localstack/services/stepfunctions/asl/component/common/string/string_expression.py +3 -3
- localstack/services/stepfunctions/asl/component/common/timeouts/timeout.py +3 -3
- localstack/services/stepfunctions/asl/component/eval_component.py +2 -3
- localstack/services/stepfunctions/asl/component/intrinsic/argument/argument.py +4 -4
- localstack/services/stepfunctions/asl/component/intrinsic/function/statesfunction/array/array_partition.py +1 -1
- localstack/services/stepfunctions/asl/component/intrinsic/function/statesfunction/generic/string_format.py +1 -1
- localstack/services/stepfunctions/asl/component/intrinsic/function/statesfunction/states_function_array.py +1 -1
- localstack/services/stepfunctions/asl/component/intrinsic/function/statesfunction/states_function_format.py +1 -1
- localstack/services/stepfunctions/asl/component/intrinsic/jsonata.py +3 -3
- localstack/services/stepfunctions/asl/component/intrinsic/member.py +1 -1
- localstack/services/stepfunctions/asl/component/program/program.py +9 -9
- localstack/services/stepfunctions/asl/component/program/states.py +1 -1
- localstack/services/stepfunctions/asl/component/state/state.py +10 -11
- localstack/services/stepfunctions/asl/component/state/state_choice/choice_rule.py +11 -11
- localstack/services/stepfunctions/asl/component/state/state_choice/comparison/comparison.py +5 -11
- localstack/services/stepfunctions/asl/component/state/state_choice/comparison/operator/implementations/is_operator.py +2 -2
- localstack/services/stepfunctions/asl/component/state/state_choice/state_choice.py +3 -5
- localstack/services/stepfunctions/asl/component/state/state_execution/execute_state.py +9 -9
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/item_reader_decl.py +7 -7
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/reader_config/reader_config_decl.py +5 -5
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/resource_eval/resource_eval_s3.py +2 -1
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/resource_eval/resource_output_transformer/resource_output_transformer_csv.py +2 -2
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/distributed_iteration_component.py +8 -8
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/inline_iteration_component.py +7 -7
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/distributed_item_processor_worker.py +4 -4
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/inline_item_processor_worker.py +5 -5
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/map_run_record.py +10 -10
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_component.py +3 -3
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_declaration.py +3 -3
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_worker.py +2 -2
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/distributed_iterator_worker.py +3 -5
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/inline_iterator.py +1 -2
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/inline_iterator_worker.py +5 -5
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/job.py +9 -9
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/result_writer/resource_eval/resource_eval_s3.py +2 -1
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py +12 -13
- localstack/services/stepfunctions/asl/component/state/state_execution/state_parallel/branch_worker.py +3 -3
- localstack/services/stepfunctions/asl/component/state/state_execution/state_parallel/branches_decl.py +7 -7
- localstack/services/stepfunctions/asl/component/state/state_execution/state_parallel/state_parallel.py +2 -3
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/lambda_eval_utils.py +7 -7
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/resource.py +3 -3
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service.py +10 -10
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_api_gateway.py +18 -18
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_aws_sdk.py +1 -1
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_batch.py +8 -7
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_callback.py +18 -17
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_dynamodb.py +2 -2
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_ecs.py +5 -4
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_events.py +4 -4
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_glue.py +7 -6
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_lambda.py +4 -4
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_sfn.py +9 -8
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_sns.py +2 -2
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_sqs.py +4 -4
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/state_task.py +5 -5
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/state_task_lambda.py +2 -2
- localstack/services/stepfunctions/asl/component/state/state_fail/state_fail.py +3 -5
- localstack/services/stepfunctions/asl/component/state/state_pass/state_pass.py +5 -7
- localstack/services/stepfunctions/asl/component/state/state_succeed/state_succeed.py +1 -1
- localstack/services/stepfunctions/asl/component/state/state_wait/state_wait.py +1 -1
- localstack/services/stepfunctions/asl/component/state/state_wait/wait_function/timestamp.py +2 -2
- localstack/services/stepfunctions/asl/eval/callback/callback.py +18 -18
- localstack/services/stepfunctions/asl/eval/environment.py +22 -24
- localstack/services/stepfunctions/asl/eval/evaluation_details.py +3 -5
- localstack/services/stepfunctions/asl/eval/event/event_manager.py +10 -10
- localstack/services/stepfunctions/asl/eval/event/logging.py +3 -3
- localstack/services/stepfunctions/asl/eval/program_state.py +8 -8
- localstack/services/stepfunctions/asl/eval/states.py +12 -12
- localstack/services/stepfunctions/asl/eval/test_state/environment.py +3 -5
- localstack/services/stepfunctions/asl/eval/variable_store.py +6 -6
- localstack/services/stepfunctions/asl/jsonata/jsonata.py +7 -6
- localstack/services/stepfunctions/asl/parse/asl_parser.py +1 -1
- localstack/services/stepfunctions/asl/parse/intrinsic/preprocessor.py +2 -3
- localstack/services/stepfunctions/asl/parse/preprocessor.py +44 -44
- localstack/services/stepfunctions/asl/parse/typed_props.py +2 -2
- localstack/services/stepfunctions/asl/static_analyser/intrinsic/variable_names_intrinsic_static_analyser.py +1 -1
- localstack/services/stepfunctions/asl/static_analyser/variable_references_static_analyser.py +2 -2
- localstack/services/stepfunctions/asl/utils/encoding.py +2 -2
- localstack/services/stepfunctions/asl/utils/json_path.py +2 -2
- localstack/services/stepfunctions/backend/activity.py +4 -4
- localstack/services/stepfunctions/backend/alias.py +8 -8
- localstack/services/stepfunctions/backend/execution.py +29 -30
- localstack/services/stepfunctions/backend/execution_worker.py +7 -7
- localstack/services/stepfunctions/backend/state_machine.py +28 -28
- localstack/services/stepfunctions/backend/test_state/execution.py +3 -4
- localstack/services/stepfunctions/backend/test_state/execution_worker.py +1 -3
- localstack/services/stepfunctions/mocking/mock_config.py +9 -9
- localstack/services/stepfunctions/mocking/mock_config_file.py +10 -10
- localstack/services/stepfunctions/packages.py +14 -5
- localstack/services/stepfunctions/provider.py +34 -44
- localstack/services/stepfunctions/quotas.py +2 -3
- localstack/services/stepfunctions/resource_providers/aws_stepfunctions_activity.py +6 -6
- localstack/services/stepfunctions/resource_providers/aws_stepfunctions_activity_plugin.py +1 -3
- localstack/services/stepfunctions/resource_providers/aws_stepfunctions_statemachine.py +25 -25
- localstack/services/stepfunctions/resource_providers/aws_stepfunctions_statemachine_plugin.py +1 -3
- localstack/services/stepfunctions/stepfunctions_utils.py +1 -2
- localstack/services/stores.py +8 -8
- localstack/services/transcribe/packages.py +1 -3
- localstack/services/transcribe/provider.py +8 -3
- localstack/state/codecs.py +61 -0
- localstack/state/core.py +11 -5
- localstack/state/inspect.py +4 -4
- localstack/state/pickle.py +36 -23
- localstack/testing/aws/asf_utils.py +3 -2
- localstack/testing/aws/cloudformation_utils.py +1 -1
- localstack/testing/aws/lambda_utils.py +15 -14
- localstack/testing/aws/util.py +3 -2
- localstack/testing/pytest/cloudformation/fixtures.py +68 -18
- localstack/testing/pytest/container.py +5 -5
- localstack/testing/pytest/filters.py +1 -3
- localstack/testing/pytest/fixtures.py +188 -49
- localstack/testing/pytest/in_memory_localstack.py +1 -3
- localstack/testing/pytest/marking.py +42 -15
- localstack/testing/pytest/path_filter.py +1 -1
- localstack/testing/pytest/stepfunctions/fixtures.py +4 -4
- localstack/testing/pytest/stepfunctions/utils.py +11 -10
- localstack/testing/pytest/util.py +1 -1
- localstack/testing/pytest/validation_tracking.py +3 -4
- localstack/testing/scenario/provisioning.py +11 -10
- localstack/testing/snapshots/transformer_utility.py +8 -3
- localstack/testing/testselection/matching.py +2 -2
- localstack/testing/testselection/opt_out.py +1 -1
- localstack/testing/testselection/scripts/filter_by_test_selection.py +1 -1
- localstack/testing/testselection/scripts/generate_test_selection.py +1 -1
- localstack/testing/testselection/testselection.py +2 -2
- localstack/utils/analytics/cli.py +2 -3
- localstack/utils/analytics/client.py +5 -5
- localstack/utils/analytics/events.py +2 -2
- localstack/utils/analytics/metadata.py +6 -4
- localstack/utils/analytics/metrics/counter.py +11 -18
- localstack/utils/analytics/metrics/registry.py +2 -2
- localstack/utils/analytics/publisher.py +4 -5
- localstack/utils/analytics/service_providers.py +19 -0
- localstack/utils/analytics/service_request_aggregator.py +4 -4
- localstack/utils/archives.py +12 -12
- localstack/utils/asyncio.py +2 -2
- localstack/utils/aws/arns.py +26 -31
- localstack/utils/aws/aws_responses.py +21 -28
- localstack/utils/aws/aws_stack.py +7 -12
- localstack/utils/aws/dead_letter_queue.py +4 -9
- localstack/utils/aws/message_forwarding.py +8 -11
- localstack/utils/aws/request_context.py +5 -6
- localstack/utils/aws/resources.py +1 -1
- localstack/utils/aws/templating.py +4 -4
- localstack/utils/batch_policy.py +4 -4
- localstack/utils/bootstrap.py +37 -30
- localstack/utils/catalog/catalog.py +139 -0
- localstack/utils/catalog/catalog_loader.py +119 -0
- localstack/utils/catalog/common.py +58 -0
- localstack/utils/catalog/plugins.py +28 -0
- localstack/utils/cloudwatch/cloudwatch_util.py +5 -5
- localstack/utils/collections.py +33 -27
- localstack/utils/config_listener.py +2 -2
- localstack/utils/container_networking.py +5 -6
- localstack/utils/container_utils/container_client.py +156 -160
- localstack/utils/container_utils/docker_cmd_client.py +97 -81
- localstack/utils/container_utils/docker_sdk_client.py +75 -72
- localstack/utils/crypto.py +12 -13
- localstack/utils/diagnose.py +11 -12
- localstack/utils/docker_utils.py +11 -7
- localstack/utils/files.py +34 -15
- localstack/utils/functions.py +5 -4
- localstack/utils/http.py +14 -14
- localstack/utils/iputils.py +2 -1
- localstack/utils/json.py +21 -7
- localstack/utils/kinesis/kinesis_connector.py +2 -1
- localstack/utils/net.py +25 -17
- localstack/utils/no_exit_argument_parser.py +2 -2
- localstack/utils/numbers.py +9 -2
- localstack/utils/objects.py +15 -14
- localstack/utils/patch.py +14 -7
- localstack/utils/platform.py +2 -2
- localstack/utils/run.py +15 -14
- localstack/utils/scheduler.py +13 -12
- localstack/utils/server/tcp_proxy.py +2 -2
- localstack/utils/serving.py +3 -4
- localstack/utils/strings.py +15 -16
- localstack/utils/sync.py +126 -1
- localstack/utils/tagging.py +10 -8
- localstack/utils/testutil.py +17 -17
- localstack/utils/threads.py +3 -3
- localstack/utils/time.py +12 -4
- localstack/utils/urls.py +1 -3
- localstack/utils/xml.py +1 -1
- localstack/utils/xray/traceid.py +1 -1
- localstack/version.py +16 -3
- {localstack_core-4.6.1.dev60.dist-info → localstack_core-4.10.1.dev12.dist-info}/METADATA +18 -13
- {localstack_core-4.6.1.dev60.dist-info → localstack_core-4.10.1.dev12.dist-info}/RECORD +663 -655
- {localstack_core-4.6.1.dev60.dist-info → localstack_core-4.10.1.dev12.dist-info}/entry_points.txt +8 -4
- localstack_core-4.10.1.dev12.dist-info/plux.json +1 -0
- localstack/packages/terraform.py +0 -47
- localstack/services/cloudformation/deploy.html +0 -144
- localstack/services/cloudformation/deploy_ui.py +0 -47
- localstack/services/cloudformation/plugins.py +0 -12
- localstack/services/lambda_/lambda_debug_mode/ldm.py +0 -375
- localstack/services/lambda_/lambda_debug_mode/ldm_config_file.py +0 -178
- localstack/services/lambda_/lambda_debug_mode/ldm_types.py +0 -11
- localstack/services/lambda_/lambda_debug_mode/ldm_utils.py +0 -43
- localstack_core-4.6.1.dev60.dist-info/plux.json +0 -1
- /localstack/{services/lambda_/lambda_debug_mode/__init__.py → testing/pytest/cloudformation/transformers.py} +0 -0
- {localstack_core-4.6.1.dev60.data → localstack_core-4.10.1.dev12.data}/scripts/localstack +0 -0
- {localstack_core-4.6.1.dev60.data → localstack_core-4.10.1.dev12.data}/scripts/localstack-supervisor +0 -0
- {localstack_core-4.6.1.dev60.data → localstack_core-4.10.1.dev12.data}/scripts/localstack.bat +0 -0
- {localstack_core-4.6.1.dev60.dist-info → localstack_core-4.10.1.dev12.dist-info}/WHEEL +0 -0
- {localstack_core-4.6.1.dev60.dist-info → localstack_core-4.10.1.dev12.dist-info}/licenses/LICENSE.txt +0 -0
- {localstack_core-4.6.1.dev60.dist-info → localstack_core-4.10.1.dev12.dist-info}/top_level.txt +0 -0
|
@@ -289,22 +289,21 @@ class ApiStage(TypedDict, total=False):
|
|
|
289
289
|
|
|
290
290
|
|
|
291
291
|
ListOfARNs = List[ProviderARN]
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
)
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
class Authorizer(TypedDict, total=False):
|
|
295
|
+
id: Optional[String]
|
|
296
|
+
name: Optional[String]
|
|
297
|
+
type: Optional[AuthorizerType]
|
|
298
|
+
providerARNs: Optional[ListOfARNs]
|
|
299
|
+
authType: Optional[String]
|
|
300
|
+
authorizerUri: Optional[String]
|
|
301
|
+
authorizerCredentials: Optional[String]
|
|
302
|
+
identitySource: Optional[String]
|
|
303
|
+
identityValidationExpression: Optional[String]
|
|
304
|
+
authorizerResultTtlInSeconds: Optional[NullableInteger]
|
|
305
|
+
|
|
306
|
+
|
|
308
307
|
ListOfAuthorizer = List[Authorizer]
|
|
309
308
|
|
|
310
309
|
|
|
@@ -373,22 +372,17 @@ class CreateApiKeyRequest(ServiceRequest):
|
|
|
373
372
|
tags: Optional[MapOfStringToString]
|
|
374
373
|
|
|
375
374
|
|
|
376
|
-
CreateAuthorizerRequest =
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
"identityValidationExpression": Optional[String],
|
|
388
|
-
"authorizerResultTtlInSeconds": Optional[NullableInteger],
|
|
389
|
-
},
|
|
390
|
-
total=False,
|
|
391
|
-
)
|
|
375
|
+
class CreateAuthorizerRequest(TypedDict, total=False):
|
|
376
|
+
restApiId: String
|
|
377
|
+
name: String
|
|
378
|
+
type: AuthorizerType
|
|
379
|
+
providerARNs: Optional[ListOfARNs]
|
|
380
|
+
authType: Optional[String]
|
|
381
|
+
authorizerUri: Optional[String]
|
|
382
|
+
authorizerCredentials: Optional[String]
|
|
383
|
+
identitySource: Optional[String]
|
|
384
|
+
identityValidationExpression: Optional[String]
|
|
385
|
+
authorizerResultTtlInSeconds: Optional[NullableInteger]
|
|
392
386
|
|
|
393
387
|
|
|
394
388
|
class CreateBasePathMappingRequest(ServiceRequest):
|
|
@@ -417,17 +411,12 @@ class CreateDeploymentRequest(ServiceRequest):
|
|
|
417
411
|
tracingEnabled: Optional[NullableBoolean]
|
|
418
412
|
|
|
419
413
|
|
|
420
|
-
DocumentationPartLocation =
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
"statusCode": Optional[DocumentationPartLocationStatusCode],
|
|
427
|
-
"name": Optional[String],
|
|
428
|
-
},
|
|
429
|
-
total=False,
|
|
430
|
-
)
|
|
414
|
+
class DocumentationPartLocation(TypedDict, total=False):
|
|
415
|
+
type: DocumentationPartType
|
|
416
|
+
path: Optional[String]
|
|
417
|
+
method: Optional[String]
|
|
418
|
+
statusCode: Optional[DocumentationPartLocationStatusCode]
|
|
419
|
+
name: Optional[String]
|
|
431
420
|
|
|
432
421
|
|
|
433
422
|
class CreateDocumentationPartRequest(ServiceRequest):
|
|
@@ -889,19 +878,14 @@ class GetDocumentationPartRequest(ServiceRequest):
|
|
|
889
878
|
documentationPartId: String
|
|
890
879
|
|
|
891
880
|
|
|
892
|
-
GetDocumentationPartsRequest =
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
"limit": Optional[NullableInteger],
|
|
901
|
-
"locationStatus": Optional[LocationStatusType],
|
|
902
|
-
},
|
|
903
|
-
total=False,
|
|
904
|
-
)
|
|
881
|
+
class GetDocumentationPartsRequest(TypedDict, total=False):
|
|
882
|
+
restApiId: String
|
|
883
|
+
type: Optional[DocumentationPartType]
|
|
884
|
+
nameQuery: Optional[String]
|
|
885
|
+
path: Optional[String]
|
|
886
|
+
position: Optional[String]
|
|
887
|
+
limit: Optional[NullableInteger]
|
|
888
|
+
locationStatus: Optional[LocationStatusType]
|
|
905
889
|
|
|
906
890
|
|
|
907
891
|
class GetDocumentationVersionRequest(ServiceRequest):
|
|
@@ -1131,27 +1115,26 @@ class IntegrationResponse(TypedDict, total=False):
|
|
|
1131
1115
|
|
|
1132
1116
|
|
|
1133
1117
|
MapOfIntegrationResponse = Dict[String, IntegrationResponse]
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
)
|
|
1118
|
+
|
|
1119
|
+
|
|
1120
|
+
class Integration(TypedDict, total=False):
|
|
1121
|
+
type: Optional[IntegrationType]
|
|
1122
|
+
httpMethod: Optional[String]
|
|
1123
|
+
uri: Optional[String]
|
|
1124
|
+
connectionType: Optional[ConnectionType]
|
|
1125
|
+
connectionId: Optional[String]
|
|
1126
|
+
credentials: Optional[String]
|
|
1127
|
+
requestParameters: Optional[MapOfStringToString]
|
|
1128
|
+
requestTemplates: Optional[MapOfStringToString]
|
|
1129
|
+
passthroughBehavior: Optional[String]
|
|
1130
|
+
contentHandling: Optional[ContentHandlingStrategy]
|
|
1131
|
+
timeoutInMillis: Optional[Integer]
|
|
1132
|
+
cacheNamespace: Optional[String]
|
|
1133
|
+
cacheKeyParameters: Optional[ListOfString]
|
|
1134
|
+
integrationResponses: Optional[MapOfIntegrationResponse]
|
|
1135
|
+
tlsConfig: Optional[TlsConfig]
|
|
1136
|
+
|
|
1137
|
+
|
|
1155
1138
|
Long = int
|
|
1156
1139
|
ListOfLong = List[Long]
|
|
1157
1140
|
|
|
@@ -1319,16 +1302,15 @@ class UsagePlan(TypedDict, total=False):
|
|
|
1319
1302
|
|
|
1320
1303
|
|
|
1321
1304
|
ListOfUsagePlan = List[UsagePlan]
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
)
|
|
1305
|
+
|
|
1306
|
+
|
|
1307
|
+
class UsagePlanKey(TypedDict, total=False):
|
|
1308
|
+
id: Optional[String]
|
|
1309
|
+
type: Optional[String]
|
|
1310
|
+
value: Optional[String]
|
|
1311
|
+
name: Optional[String]
|
|
1312
|
+
|
|
1313
|
+
|
|
1332
1314
|
ListOfUsagePlanKey = List[UsagePlanKey]
|
|
1333
1315
|
|
|
1334
1316
|
|
|
@@ -1360,29 +1342,24 @@ class PutGatewayResponseRequest(ServiceRequest):
|
|
|
1360
1342
|
responseTemplates: Optional[MapOfStringToString]
|
|
1361
1343
|
|
|
1362
1344
|
|
|
1363
|
-
PutIntegrationRequest =
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
"timeoutInMillis": Optional[NullableInteger],
|
|
1382
|
-
"tlsConfig": Optional[TlsConfig],
|
|
1383
|
-
},
|
|
1384
|
-
total=False,
|
|
1385
|
-
)
|
|
1345
|
+
class PutIntegrationRequest(TypedDict, total=False):
|
|
1346
|
+
restApiId: String
|
|
1347
|
+
resourceId: String
|
|
1348
|
+
httpMethod: String
|
|
1349
|
+
type: IntegrationType
|
|
1350
|
+
integrationHttpMethod: Optional[String]
|
|
1351
|
+
uri: Optional[String]
|
|
1352
|
+
connectionType: Optional[ConnectionType]
|
|
1353
|
+
connectionId: Optional[String]
|
|
1354
|
+
credentials: Optional[String]
|
|
1355
|
+
requestParameters: Optional[MapOfStringToString]
|
|
1356
|
+
requestTemplates: Optional[MapOfStringToString]
|
|
1357
|
+
passthroughBehavior: Optional[String]
|
|
1358
|
+
cacheNamespace: Optional[String]
|
|
1359
|
+
cacheKeyParameters: Optional[ListOfString]
|
|
1360
|
+
contentHandling: Optional[ContentHandlingStrategy]
|
|
1361
|
+
timeoutInMillis: Optional[NullableInteger]
|
|
1362
|
+
tlsConfig: Optional[TlsConfig]
|
|
1386
1363
|
|
|
1387
1364
|
|
|
1388
1365
|
class PutIntegrationResponseRequest(ServiceRequest):
|
|
@@ -47,10 +47,12 @@ FailureTolerancePercentage = int
|
|
|
47
47
|
GeneratedTemplateId = str
|
|
48
48
|
GeneratedTemplateName = str
|
|
49
49
|
HookInvocationCount = int
|
|
50
|
+
HookInvocationId = str
|
|
50
51
|
HookResultId = str
|
|
51
52
|
HookStatusReason = str
|
|
52
53
|
HookTargetTypeName = str
|
|
53
54
|
HookType = str
|
|
55
|
+
HookTypeArn = str
|
|
54
56
|
HookTypeConfigurationVersionId = str
|
|
55
57
|
HookTypeName = str
|
|
56
58
|
HookTypeVersionId = str
|
|
@@ -720,6 +722,7 @@ class WarningType(StrEnum):
|
|
|
720
722
|
UNSUPPORTED_PROPERTIES = "UNSUPPORTED_PROPERTIES"
|
|
721
723
|
MUTUALLY_EXCLUSIVE_TYPES = "MUTUALLY_EXCLUSIVE_TYPES"
|
|
722
724
|
EXCLUDED_PROPERTIES = "EXCLUDED_PROPERTIES"
|
|
725
|
+
EXCLUDED_RESOURCES = "EXCLUDED_RESOURCES"
|
|
723
726
|
|
|
724
727
|
|
|
725
728
|
class AlreadyExistsException(ServiceException):
|
|
@@ -1603,6 +1606,7 @@ class StackEvent(TypedDict, total=False):
|
|
|
1603
1606
|
HookStatus: Optional[HookStatus]
|
|
1604
1607
|
HookStatusReason: Optional[HookStatusReason]
|
|
1605
1608
|
HookInvocationPoint: Optional[HookInvocationPoint]
|
|
1609
|
+
HookInvocationId: Optional[HookInvocationId]
|
|
1606
1610
|
HookFailureMode: Optional[HookFailureMode]
|
|
1607
1611
|
DetailedStatus: Optional[DetailedStatus]
|
|
1608
1612
|
|
|
@@ -2118,6 +2122,7 @@ class GetTemplateSummaryOutput(TypedDict, total=False):
|
|
|
2118
2122
|
|
|
2119
2123
|
|
|
2120
2124
|
class HookResultSummary(TypedDict, total=False):
|
|
2125
|
+
HookResultId: Optional[HookInvocationId]
|
|
2121
2126
|
InvocationPoint: Optional[HookInvocationPoint]
|
|
2122
2127
|
FailureMode: Optional[HookFailureMode]
|
|
2123
2128
|
TypeName: Optional[HookTypeName]
|
|
@@ -2125,6 +2130,11 @@ class HookResultSummary(TypedDict, total=False):
|
|
|
2125
2130
|
TypeConfigurationVersionId: Optional[HookTypeConfigurationVersionId]
|
|
2126
2131
|
Status: Optional[HookStatus]
|
|
2127
2132
|
HookStatusReason: Optional[HookStatusReason]
|
|
2133
|
+
InvokedAt: Optional[Timestamp]
|
|
2134
|
+
TargetType: Optional[ListHookResultsTargetType]
|
|
2135
|
+
TargetId: Optional[HookResultId]
|
|
2136
|
+
TypeArn: Optional[HookTypeArn]
|
|
2137
|
+
HookExecutionTarget: Optional[HookResultId]
|
|
2128
2138
|
|
|
2129
2139
|
|
|
2130
2140
|
HookResultSummaries = List[HookResultSummary]
|
|
@@ -2195,8 +2205,10 @@ class ListGeneratedTemplatesOutput(TypedDict, total=False):
|
|
|
2195
2205
|
|
|
2196
2206
|
|
|
2197
2207
|
class ListHookResultsInput(ServiceRequest):
|
|
2198
|
-
TargetType: ListHookResultsTargetType
|
|
2199
|
-
TargetId: HookResultId
|
|
2208
|
+
TargetType: Optional[ListHookResultsTargetType]
|
|
2209
|
+
TargetId: Optional[HookResultId]
|
|
2210
|
+
TypeArn: Optional[HookTypeArn]
|
|
2211
|
+
Status: Optional[HookStatus]
|
|
2200
2212
|
NextToken: Optional[NextToken]
|
|
2201
2213
|
|
|
2202
2214
|
|
|
@@ -3456,8 +3468,10 @@ class CloudformationApi:
|
|
|
3456
3468
|
def list_hook_results(
|
|
3457
3469
|
self,
|
|
3458
3470
|
context: RequestContext,
|
|
3459
|
-
target_type: ListHookResultsTargetType,
|
|
3460
|
-
target_id: HookResultId,
|
|
3471
|
+
target_type: ListHookResultsTargetType | None = None,
|
|
3472
|
+
target_id: HookResultId | None = None,
|
|
3473
|
+
type_arn: HookTypeArn | None = None,
|
|
3474
|
+
status: HookStatus | None = None,
|
|
3461
3475
|
next_token: NextToken | None = None,
|
|
3462
3476
|
**kwargs,
|
|
3463
3477
|
) -> ListHookResultsOutput:
|
|
@@ -16,7 +16,10 @@ AlarmRule = str
|
|
|
16
16
|
AmazonResourceName = str
|
|
17
17
|
AnomalyDetectorMetricStat = str
|
|
18
18
|
AnomalyDetectorMetricTimezone = str
|
|
19
|
+
AttributeName = str
|
|
20
|
+
AttributeValue = str
|
|
19
21
|
AwsQueryErrorMessage = str
|
|
22
|
+
ContributorId = str
|
|
20
23
|
DashboardArn = str
|
|
21
24
|
DashboardBody = str
|
|
22
25
|
DashboardErrorMessage = str
|
|
@@ -136,6 +139,8 @@ class HistoryItemType(StrEnum):
|
|
|
136
139
|
ConfigurationUpdate = "ConfigurationUpdate"
|
|
137
140
|
StateUpdate = "StateUpdate"
|
|
138
141
|
Action = "Action"
|
|
142
|
+
AlarmContributorStateUpdate = "AlarmContributorStateUpdate"
|
|
143
|
+
AlarmContributorAction = "AlarmContributorAction"
|
|
139
144
|
|
|
140
145
|
|
|
141
146
|
class MetricStreamOutputFormat(StrEnum):
|
|
@@ -213,7 +218,7 @@ class ConcurrentModificationException(ServiceException):
|
|
|
213
218
|
class ConflictException(ServiceException):
|
|
214
219
|
code: str = "ConflictException"
|
|
215
220
|
sender_fault: bool = False
|
|
216
|
-
status_code: int =
|
|
221
|
+
status_code: int = 409
|
|
217
222
|
|
|
218
223
|
|
|
219
224
|
class DashboardValidationMessage(TypedDict, total=False):
|
|
@@ -300,15 +305,28 @@ class ResourceNotFoundException(ServiceException):
|
|
|
300
305
|
|
|
301
306
|
|
|
302
307
|
Timestamp = datetime
|
|
308
|
+
ContributorAttributes = Dict[AttributeName, AttributeValue]
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
class AlarmContributor(TypedDict, total=False):
|
|
312
|
+
ContributorId: ContributorId
|
|
313
|
+
ContributorAttributes: ContributorAttributes
|
|
314
|
+
StateReason: StateReason
|
|
315
|
+
StateTransitionedTimestamp: Optional[Timestamp]
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
AlarmContributors = List[AlarmContributor]
|
|
303
319
|
|
|
304
320
|
|
|
305
321
|
class AlarmHistoryItem(TypedDict, total=False):
|
|
306
322
|
AlarmName: Optional[AlarmName]
|
|
323
|
+
AlarmContributorId: Optional[ContributorId]
|
|
307
324
|
AlarmType: Optional[AlarmType]
|
|
308
325
|
Timestamp: Optional[Timestamp]
|
|
309
326
|
HistoryItemType: Optional[HistoryItemType]
|
|
310
327
|
HistorySummary: Optional[HistorySummary]
|
|
311
328
|
HistoryData: Optional[HistoryData]
|
|
329
|
+
AlarmContributorAttributes: Optional[ContributorAttributes]
|
|
312
330
|
|
|
313
331
|
|
|
314
332
|
AlarmHistoryItems = List[AlarmHistoryItem]
|
|
@@ -505,8 +523,19 @@ class DeleteMetricStreamOutput(TypedDict, total=False):
|
|
|
505
523
|
pass
|
|
506
524
|
|
|
507
525
|
|
|
526
|
+
class DescribeAlarmContributorsInput(ServiceRequest):
|
|
527
|
+
AlarmName: AlarmName
|
|
528
|
+
NextToken: Optional[NextToken]
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
class DescribeAlarmContributorsOutput(TypedDict, total=False):
|
|
532
|
+
AlarmContributors: AlarmContributors
|
|
533
|
+
NextToken: Optional[NextToken]
|
|
534
|
+
|
|
535
|
+
|
|
508
536
|
class DescribeAlarmHistoryInput(ServiceRequest):
|
|
509
537
|
AlarmName: Optional[AlarmName]
|
|
538
|
+
AlarmContributorId: Optional[ContributorId]
|
|
510
539
|
AlarmTypes: Optional[AlarmTypes]
|
|
511
540
|
HistoryItemType: Optional[HistoryItemType]
|
|
512
541
|
StartDate: Optional[Timestamp]
|
|
@@ -1179,11 +1208,22 @@ class CloudwatchApi:
|
|
|
1179
1208
|
) -> DeleteMetricStreamOutput:
|
|
1180
1209
|
raise NotImplementedError
|
|
1181
1210
|
|
|
1211
|
+
@handler("DescribeAlarmContributors")
|
|
1212
|
+
def describe_alarm_contributors(
|
|
1213
|
+
self,
|
|
1214
|
+
context: RequestContext,
|
|
1215
|
+
alarm_name: AlarmName,
|
|
1216
|
+
next_token: NextToken | None = None,
|
|
1217
|
+
**kwargs,
|
|
1218
|
+
) -> DescribeAlarmContributorsOutput:
|
|
1219
|
+
raise NotImplementedError
|
|
1220
|
+
|
|
1182
1221
|
@handler("DescribeAlarmHistory")
|
|
1183
1222
|
def describe_alarm_history(
|
|
1184
1223
|
self,
|
|
1185
1224
|
context: RequestContext,
|
|
1186
1225
|
alarm_name: AlarmName | None = None,
|
|
1226
|
+
alarm_contributor_id: ContributorId | None = None,
|
|
1187
1227
|
alarm_types: AlarmTypes | None = None,
|
|
1188
1228
|
history_item_type: HistoryItemType | None = None,
|
|
1189
1229
|
start_date: Timestamp | None = None,
|
|
@@ -291,12 +291,16 @@ class RemediationExecutionState(StrEnum):
|
|
|
291
291
|
IN_PROGRESS = "IN_PROGRESS"
|
|
292
292
|
SUCCEEDED = "SUCCEEDED"
|
|
293
293
|
FAILED = "FAILED"
|
|
294
|
+
UNKNOWN = "UNKNOWN"
|
|
294
295
|
|
|
295
296
|
|
|
296
297
|
class RemediationExecutionStepState(StrEnum):
|
|
297
298
|
SUCCEEDED = "SUCCEEDED"
|
|
298
299
|
PENDING = "PENDING"
|
|
299
300
|
FAILED = "FAILED"
|
|
301
|
+
IN_PROGRESS = "IN_PROGRESS"
|
|
302
|
+
EXITED = "EXITED"
|
|
303
|
+
UNKNOWN = "UNKNOWN"
|
|
300
304
|
|
|
301
305
|
|
|
302
306
|
class RemediationTargetType(StrEnum):
|
localstack/aws/api/core.py
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import functools
|
|
2
|
+
from collections.abc import Callable
|
|
2
3
|
from typing import (
|
|
3
4
|
Any,
|
|
4
|
-
Callable,
|
|
5
5
|
NamedTuple,
|
|
6
6
|
ParamSpec,
|
|
7
7
|
Protocol,
|
|
8
|
-
Type,
|
|
9
8
|
TypedDict,
|
|
10
9
|
TypeVar,
|
|
11
10
|
)
|
|
@@ -14,6 +13,7 @@ from botocore.model import OperationModel, ServiceModel
|
|
|
14
13
|
from rolo.gateway import RequestContext as RoloRequestContext
|
|
15
14
|
|
|
16
15
|
from localstack.aws.connect import InternalRequestParameters
|
|
16
|
+
from localstack.aws.spec import ProtocolName
|
|
17
17
|
from localstack.http import Request, Response
|
|
18
18
|
from localstack.utils.strings import long_uid
|
|
19
19
|
|
|
@@ -42,7 +42,7 @@ class ServiceException(Exception):
|
|
|
42
42
|
message: str
|
|
43
43
|
|
|
44
44
|
def __init__(self, *args: Any, **kwargs: Any):
|
|
45
|
-
super(
|
|
45
|
+
super().__init__(*args)
|
|
46
46
|
|
|
47
47
|
if len(args) >= 1:
|
|
48
48
|
self.message = args[0]
|
|
@@ -61,13 +61,13 @@ class CommonServiceException(ServiceException):
|
|
|
61
61
|
"""
|
|
62
62
|
|
|
63
63
|
def __init__(self, code: str, message: str, status_code: int = 400, sender_fault: bool = False):
|
|
64
|
-
super(
|
|
64
|
+
super().__init__(message)
|
|
65
65
|
self.code = code
|
|
66
66
|
self.status_code = status_code
|
|
67
67
|
self.sender_fault = sender_fault
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
Operation =
|
|
70
|
+
Operation = type[ServiceRequest]
|
|
71
71
|
|
|
72
72
|
|
|
73
73
|
class ServiceOperation(NamedTuple):
|
|
@@ -89,6 +89,8 @@ class RequestContext(RoloRequestContext):
|
|
|
89
89
|
"""The underlying incoming HTTP request."""
|
|
90
90
|
service: ServiceModel | None
|
|
91
91
|
"""The botocore ServiceModel of the service the request is made to."""
|
|
92
|
+
protocol: ProtocolName | None
|
|
93
|
+
"""The botocore Protocol for the service the request is made to."""
|
|
92
94
|
operation: OperationModel | None
|
|
93
95
|
"""The botocore OperationModel of the AWS operation being invoked."""
|
|
94
96
|
region: str
|
|
@@ -113,6 +115,7 @@ class RequestContext(RoloRequestContext):
|
|
|
113
115
|
def __init__(self, request: Request):
|
|
114
116
|
super().__init__(request)
|
|
115
117
|
self.service = None
|
|
118
|
+
self.protocol = None
|
|
116
119
|
self.operation = None
|
|
117
120
|
self.region = None # type: ignore[assignment] # type=str, because we know it will always be set downstream
|
|
118
121
|
self.partition = "aws" # Sensible default - will be overwritten by region-handler
|
|
@@ -8,6 +8,7 @@ ArchivalReason = str
|
|
|
8
8
|
AttributeName = str
|
|
9
9
|
AutoScalingPolicyName = str
|
|
10
10
|
AutoScalingRoleArn = str
|
|
11
|
+
AvailabilityErrorMessage = str
|
|
11
12
|
Backfilling = bool
|
|
12
13
|
BackupArn = str
|
|
13
14
|
BackupName = str
|
|
@@ -61,10 +62,12 @@ PartiQLStatement = str
|
|
|
61
62
|
PolicyRevisionId = str
|
|
62
63
|
PositiveIntegerObject = int
|
|
63
64
|
ProjectionExpression = str
|
|
65
|
+
Reason = str
|
|
64
66
|
RecoveryPeriodInDays = int
|
|
65
67
|
RegionName = str
|
|
66
68
|
ReplicaStatusDescription = str
|
|
67
69
|
ReplicaStatusPercentProgress = str
|
|
70
|
+
Resource = str
|
|
68
71
|
ResourceArnString = str
|
|
69
72
|
ResourcePolicy = str
|
|
70
73
|
RestoreInProgress = bool
|
|
@@ -169,6 +172,11 @@ class ContributorInsightsAction(StrEnum):
|
|
|
169
172
|
DISABLE = "DISABLE"
|
|
170
173
|
|
|
171
174
|
|
|
175
|
+
class ContributorInsightsMode(StrEnum):
|
|
176
|
+
ACCESSED_AND_THROTTLED_KEYS = "ACCESSED_AND_THROTTLED_KEYS"
|
|
177
|
+
THROTTLED_KEYS = "THROTTLED_KEYS"
|
|
178
|
+
|
|
179
|
+
|
|
172
180
|
class ContributorInsightsStatus(StrEnum):
|
|
173
181
|
ENABLING = "ENABLING"
|
|
174
182
|
ENABLED = "ENABLED"
|
|
@@ -509,10 +517,19 @@ class PolicyNotFoundException(ServiceException):
|
|
|
509
517
|
status_code: int = 400
|
|
510
518
|
|
|
511
519
|
|
|
520
|
+
class ThrottlingReason(TypedDict, total=False):
|
|
521
|
+
reason: Optional[Reason]
|
|
522
|
+
resource: Optional[Resource]
|
|
523
|
+
|
|
524
|
+
|
|
525
|
+
ThrottlingReasonList = List[ThrottlingReason]
|
|
526
|
+
|
|
527
|
+
|
|
512
528
|
class ProvisionedThroughputExceededException(ServiceException):
|
|
513
529
|
code: str = "ProvisionedThroughputExceededException"
|
|
514
530
|
sender_fault: bool = False
|
|
515
531
|
status_code: int = 400
|
|
532
|
+
ThrottlingReasons: Optional[ThrottlingReasonList]
|
|
516
533
|
|
|
517
534
|
|
|
518
535
|
class ReplicaAlreadyExistsException(ServiceException):
|
|
@@ -537,6 +554,7 @@ class RequestLimitExceeded(ServiceException):
|
|
|
537
554
|
code: str = "RequestLimitExceeded"
|
|
538
555
|
sender_fault: bool = False
|
|
539
556
|
status_code: int = 400
|
|
557
|
+
ThrottlingReasons: Optional[ThrottlingReasonList]
|
|
540
558
|
|
|
541
559
|
|
|
542
560
|
class ResourceInUseException(ServiceException):
|
|
@@ -569,6 +587,13 @@ class TableNotFoundException(ServiceException):
|
|
|
569
587
|
status_code: int = 400
|
|
570
588
|
|
|
571
589
|
|
|
590
|
+
class ThrottlingException(ServiceException):
|
|
591
|
+
code: str = "ThrottlingException"
|
|
592
|
+
sender_fault: bool = False
|
|
593
|
+
status_code: int = 400
|
|
594
|
+
throttlingReasons: Optional[ThrottlingReasonList]
|
|
595
|
+
|
|
596
|
+
|
|
572
597
|
class CancellationReason(TypedDict, total=False):
|
|
573
598
|
Item: Optional[AttributeMap]
|
|
574
599
|
Code: Optional[Code]
|
|
@@ -981,6 +1006,7 @@ class ContributorInsightsSummary(TypedDict, total=False):
|
|
|
981
1006
|
TableName: Optional[TableName]
|
|
982
1007
|
IndexName: Optional[IndexName]
|
|
983
1008
|
ContributorInsightsStatus: Optional[ContributorInsightsStatus]
|
|
1009
|
+
ContributorInsightsMode: Optional[ContributorInsightsMode]
|
|
984
1010
|
|
|
985
1011
|
|
|
986
1012
|
ContributorInsightsSummaries = List[ContributorInsightsSummary]
|
|
@@ -1375,6 +1401,7 @@ class DescribeContributorInsightsOutput(TypedDict, total=False):
|
|
|
1375
1401
|
ContributorInsightsStatus: Optional[ContributorInsightsStatus]
|
|
1376
1402
|
LastUpdateDateTime: Optional[LastUpdateDateTime]
|
|
1377
1403
|
FailureException: Optional[FailureException]
|
|
1404
|
+
ContributorInsightsMode: Optional[ContributorInsightsMode]
|
|
1378
1405
|
|
|
1379
1406
|
|
|
1380
1407
|
class DescribeEndpointsRequest(ServiceRequest):
|
|
@@ -2200,12 +2227,14 @@ class UpdateContributorInsightsInput(ServiceRequest):
|
|
|
2200
2227
|
TableName: TableArn
|
|
2201
2228
|
IndexName: Optional[IndexName]
|
|
2202
2229
|
ContributorInsightsAction: ContributorInsightsAction
|
|
2230
|
+
ContributorInsightsMode: Optional[ContributorInsightsMode]
|
|
2203
2231
|
|
|
2204
2232
|
|
|
2205
2233
|
class UpdateContributorInsightsOutput(TypedDict, total=False):
|
|
2206
2234
|
TableName: Optional[TableName]
|
|
2207
2235
|
IndexName: Optional[IndexName]
|
|
2208
2236
|
ContributorInsightsStatus: Optional[ContributorInsightsStatus]
|
|
2237
|
+
ContributorInsightsMode: Optional[ContributorInsightsMode]
|
|
2209
2238
|
|
|
2210
2239
|
|
|
2211
2240
|
class UpdateGlobalTableInput(ServiceRequest):
|
|
@@ -2858,6 +2887,7 @@ class DynamodbApi:
|
|
|
2858
2887
|
table_name: TableArn,
|
|
2859
2888
|
contributor_insights_action: ContributorInsightsAction,
|
|
2860
2889
|
index_name: IndexName | None = None,
|
|
2890
|
+
contributor_insights_mode: ContributorInsightsMode | None = None,
|
|
2861
2891
|
**kwargs,
|
|
2862
2892
|
) -> UpdateContributorInsightsOutput:
|
|
2863
2893
|
raise NotImplementedError
|