localstack-core 4.7.1.dev23__py3-none-any.whl → 4.7.1.dev25__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/core.py +2 -3
- localstack/aws/api/events/__init__.py +12 -16
- localstack/aws/api/logs/__init__.py +5 -8
- localstack/aws/api/pipes/__init__.py +24 -32
- localstack/aws/api/scheduler/__init__.py +14 -16
- localstack/aws/api/stepfunctions/__init__.py +88 -114
- localstack/aws/api/support/__init__.py +8 -9
- localstack/aws/chain.py +2 -2
- localstack/aws/client.py +7 -9
- localstack/aws/connect.py +40 -39
- localstack/aws/forwarder.py +5 -4
- localstack/aws/gateway.py +1 -3
- localstack/aws/handlers/analytics.py +1 -2
- localstack/aws/handlers/cors.py +4 -5
- localstack/aws/handlers/logging.py +1 -2
- localstack/aws/handlers/metric_handler.py +3 -4
- localstack/aws/handlers/service.py +5 -5
- localstack/aws/mocking.py +15 -24
- localstack/aws/protocol/op_router.py +11 -10
- localstack/aws/protocol/parser.py +16 -17
- localstack/aws/protocol/serializer.py +37 -40
- localstack/aws/protocol/service_router.py +13 -13
- localstack/aws/protocol/validate.py +5 -5
- localstack/aws/scaffold.py +8 -9
- 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 +7 -8
- localstack/aws/spec.py +29 -30
- localstack/cli/localstack.py +6 -6
- localstack/cli/lpm.py +2 -2
- localstack/config.py +14 -15
- localstack/deprecations.py +5 -5
- localstack/dev/run/__main__.py +4 -4
- localstack/dev/run/paths.py +5 -5
- localstack/dns/models.py +2 -1
- localstack/dns/server.py +3 -2
- 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 +3 -3
- localstack/packages/api.py +5 -5
- localstack/packages/core.py +3 -3
- localstack/packages/debugpy.py +1 -3
- localstack/packages/ffmpeg.py +1 -2
- localstack/packages/java.py +38 -12
- localstack/packages/terraform.py +1 -2
- localstack/runtime/init.py +6 -7
- localstack/runtime/shutdown.py +2 -1
- localstack/services/apigateway/exporter.py +1 -2
- localstack/services/apigateway/helpers.py +6 -6
- localstack/services/apigateway/legacy/context.py +21 -21
- localstack/services/apigateway/legacy/helpers.py +20 -20
- localstack/services/apigateway/legacy/integration.py +7 -7
- localstack/services/apigateway/legacy/router_asf.py +2 -2
- localstack/services/apigateway/legacy/templates.py +5 -5
- 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/parse.py +1 -2
- localstack/services/apigateway/next_gen/execute_api/handlers/resource_router.py +1 -1
- 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 +6 -6
- localstack/services/apigateway/next_gen/execute_api/integrations/http.py +9 -9
- localstack/services/apigateway/next_gen/execute_api/variables.py +63 -63
- 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 +5 -5
- 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 +2 -2
- 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/cfn_utils.py +1 -1
- localstack/services/cloudformation/deployment_utils.py +2 -2
- localstack/services/cloudformation/engine/changes.py +3 -3
- localstack/services/cloudformation/engine/entities.py +12 -12
- localstack/services/cloudformation/engine/parameters.py +3 -3
- localstack/services/cloudformation/engine/template_deployer.py +9 -10
- localstack/services/cloudformation/engine/transformers.py +5 -4
- localstack/services/cloudformation/engine/types.py +5 -4
- localstack/services/cloudformation/engine/v2/change_set_model.py +9 -8
- localstack/services/cloudformation/engine/v2/change_set_model_describer.py +6 -6
- localstack/services/cloudformation/engine/v2/change_set_model_executor.py +9 -9
- localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +15 -14
- localstack/services/cloudformation/engine/v2/change_set_model_transform.py +5 -5
- localstack/services/cloudformation/provider_utils.py +2 -2
- localstack/services/cloudformation/resource_provider.py +10 -9
- 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/scaffolding/__main__.py +8 -7
- localstack/services/cloudformation/scaffolding/propgen.py +2 -2
- localstack/services/cloudformation/stores.py +2 -3
- localstack/services/cloudformation/v2/entities.py +7 -7
- localstack/services/cloudformation/v2/provider.py +10 -10
- localstack/services/cloudwatch/alarm_scheduler.py +7 -7
- localstack/services/cloudwatch/cloudwatch_database_helper.py +4 -5
- localstack/services/cloudwatch/models.py +5 -7
- localstack/services/cloudwatch/provider.py +12 -12
- localstack/services/cloudwatch/provider_v2.py +2 -4
- 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 +1 -2
- localstack/services/dynamodb/provider.py +7 -8
- 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/utils.py +13 -14
- localstack/services/dynamodb/v2/provider.py +6 -7
- localstack/services/dynamodbstreams/dynamodbstreams_api.py +2 -2
- localstack/services/dynamodbstreams/models.py +1 -3
- localstack/services/ec2/patches.py +4 -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 +13 -13
- 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 +17 -17
- localstack/services/ecr/resource_providers/aws_ecr_repository_plugin.py +1 -3
- localstack/services/edge.py +5 -5
- localstack/services/es/provider.py +19 -19
- 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/models.py +25 -25
- localstack/services/events/provider.py +12 -12
- 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 +5 -5
- localstack/services/events/utils.py +7 -7
- localstack/services/events/v1/models.py +1 -3
- localstack/services/events/v1/provider.py +10 -10
- localstack/services/firehose/models.py +1 -3
- localstack/services/firehose/provider.py +11 -12
- localstack/services/iam/iam_patches.py +5 -6
- localstack/services/iam/provider.py +4 -4
- 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/kinesis/kinesis_mock_server.py +7 -8
- localstack/services/kinesis/models.py +2 -3
- localstack/services/kinesis/packages.py +3 -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 +14 -17
- localstack/services/kms/provider.py +2 -3
- 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 +3 -2
- localstack/services/lambda_/api_utils.py +12 -12
- localstack/services/lambda_/custom_endpoints.py +2 -2
- localstack/services/lambda_/event_source_mapping/esm_worker_factory.py +1 -1
- 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_/invocation/assignment.py +1 -2
- localstack/services/lambda_/invocation/docker_runtime_executor.py +5 -4
- localstack/services/lambda_/invocation/execution_environment.py +4 -4
- localstack/services/lambda_/invocation/executor_endpoint.py +5 -5
- localstack/services/lambda_/invocation/internal_sqs_queue.py +1 -1
- localstack/services/lambda_/invocation/lambda_models.py +23 -23
- localstack/services/lambda_/invocation/lambda_service.py +4 -4
- localstack/services/lambda_/invocation/logs.py +2 -3
- localstack/services/lambda_/invocation/runtime_executor.py +3 -3
- localstack/services/lambda_/ldm.py +2 -3
- localstack/services/lambda_/packages.py +2 -3
- localstack/services/lambda_/provider.py +3 -3
- 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 +14 -14
- 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/logs/models.py +1 -3
- localstack/services/logs/provider.py +3 -3
- 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 +3 -3
- localstack/services/opensearch/cluster.py +13 -13
- localstack/services/opensearch/cluster_manager.py +13 -14
- localstack/services/opensearch/models.py +1 -3
- localstack/services/opensearch/packages.py +1 -2
- localstack/services/opensearch/provider.py +7 -8
- 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 +1 -3
- localstack/services/plugins.py +26 -25
- 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/cors.py +4 -4
- localstack/services/s3/models.py +72 -72
- localstack/services/s3/notifications.py +19 -19
- localstack/services/s3/presigned_url.py +6 -5
- localstack/services/s3/provider.py +13 -14
- 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 +11 -11
- localstack/services/s3/validation.py +1 -1
- localstack/services/s3/website_hosting.py +5 -5
- 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 +9 -11
- 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/provider.py +8 -8
- 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/models.py +25 -25
- localstack/services/sns/provider.py +1 -2
- localstack/services/sns/publisher.py +6 -7
- 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/sqs/models.py +21 -22
- localstack/services/sqs/provider.py +19 -18
- localstack/services/sqs/query_api.py +2 -3
- 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 +4 -4
- localstack/services/sqs/resource_providers/aws_sqs_queuepolicy_plugin.py +1 -3
- localstack/services/sqs/utils.py +3 -3
- localstack/services/ssm/provider.py +2 -3
- 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/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/jsonata/jsonata_template_binding.py +2 -2
- localstack/services/stepfunctions/asl/component/common/path/input_path.py +3 -3
- localstack/services/stepfunctions/asl/component/common/path/output_path.py +3 -3
- localstack/services/stepfunctions/asl/component/common/path/result_path.py +3 -3
- localstack/services/stepfunctions/asl/component/common/payload/payloadvalue/payloadbinding/payload_binding.py +3 -3
- localstack/services/stepfunctions/asl/component/common/retry/retrier_decl.py +8 -8
- localstack/services/stepfunctions/asl/component/common/string/string_expression.py +2 -2
- 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 +3 -3
- localstack/services/stepfunctions/asl/component/intrinsic/jsonata.py +2 -2
- localstack/services/stepfunctions/asl/component/program/program.py +8 -8
- 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/operator/implementations/is_operator.py +2 -2
- localstack/services/stepfunctions/asl/component/state/state_choice/state_choice.py +1 -3
- localstack/services/stepfunctions/asl/component/state/state_execution/execute_state.py +8 -8
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/item_reader_decl.py +6 -6
- 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/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 +10 -11
- 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 +4 -4
- localstack/services/stepfunctions/asl/component/state/state_execution/state_parallel/state_parallel.py +1 -2
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/lambda_eval_utils.py +6 -6
- 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 +15 -15
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_batch.py +5 -4
- 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 +2 -2
- 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 +2 -4
- localstack/services/stepfunctions/asl/component/state/state_pass/state_pass.py +3 -5
- 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 +15 -17
- localstack/services/stepfunctions/asl/eval/evaluation_details.py +3 -5
- localstack/services/stepfunctions/asl/eval/event/event_manager.py +9 -9
- 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 +11 -11
- localstack/services/stepfunctions/asl/eval/test_state/environment.py +3 -5
- localstack/services/stepfunctions/asl/eval/variable_store.py +3 -3
- localstack/services/stepfunctions/asl/jsonata/jsonata.py +5 -4
- localstack/services/stepfunctions/asl/parse/intrinsic/preprocessor.py +1 -2
- localstack/services/stepfunctions/asl/parse/preprocessor.py +30 -30
- localstack/services/stepfunctions/asl/parse/typed_props.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 +6 -6
- localstack/services/stepfunctions/backend/execution.py +25 -27
- localstack/services/stepfunctions/backend/execution_worker.py +7 -7
- localstack/services/stepfunctions/backend/state_machine.py +26 -26
- 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 +5 -5
- localstack/services/stepfunctions/mocking/mock_config_file.py +10 -10
- localstack/services/stepfunctions/provider.py +27 -37
- 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 +7 -7
- localstack/services/transcribe/packages.py +1 -3
- localstack/services/transcribe/provider.py +2 -2
- localstack/state/inspect.py +4 -4
- localstack/state/pickle.py +16 -15
- localstack/testing/aws/asf_utils.py +3 -2
- localstack/testing/aws/lambda_utils.py +15 -14
- localstack/testing/aws/util.py +3 -2
- localstack/testing/pytest/cloudformation/fixtures.py +3 -2
- localstack/testing/pytest/container.py +5 -4
- localstack/testing/pytest/filters.py +1 -3
- localstack/testing/pytest/fixtures.py +11 -11
- localstack/testing/pytest/marking.py +6 -6
- localstack/testing/pytest/path_filter.py +1 -1
- localstack/testing/pytest/stepfunctions/utils.py +1 -1
- localstack/testing/pytest/validation_tracking.py +3 -3
- localstack/testing/scenario/provisioning.py +11 -10
- localstack/testing/snapshots/transformer_utility.py +2 -2
- 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/metrics/registry.py +1 -1
- localstack/utils/analytics/publisher.py +4 -4
- localstack/utils/analytics/service_request_aggregator.py +3 -3
- localstack/utils/aws/arns.py +2 -2
- localstack/utils/aws/aws_responses.py +14 -21
- localstack/utils/aws/aws_stack.py +7 -11
- localstack/utils/aws/dead_letter_queue.py +3 -4
- localstack/utils/aws/message_forwarding.py +9 -11
- localstack/utils/aws/request_context.py +4 -4
- localstack/utils/aws/templating.py +3 -3
- localstack/utils/batch_policy.py +2 -2
- localstack/utils/bootstrap.py +19 -20
- localstack/utils/collections.py +16 -23
- localstack/utils/config_listener.py +2 -2
- localstack/utils/container_networking.py +3 -3
- localstack/utils/container_utils/container_client.py +72 -75
- localstack/utils/container_utils/docker_cmd_client.py +33 -33
- localstack/utils/container_utils/docker_sdk_client.py +35 -35
- localstack/utils/crypto.py +2 -3
- localstack/utils/diagnose.py +11 -11
- localstack/utils/docker_utils.py +4 -4
- localstack/utils/files.py +1 -2
- localstack/utils/functions.py +2 -2
- localstack/utils/http.py +6 -6
- localstack/utils/iputils.py +2 -1
- localstack/utils/json.py +1 -1
- localstack/utils/net.py +10 -9
- localstack/utils/objects.py +10 -10
- localstack/utils/patch.py +5 -5
- localstack/utils/platform.py +2 -2
- localstack/utils/run.py +7 -7
- localstack/utils/scheduler.py +3 -2
- localstack/utils/strings.py +2 -2
- localstack/utils/tagging.py +3 -3
- localstack/utils/testutil.py +9 -9
- localstack/utils/threads.py +2 -2
- localstack/utils/xml.py +1 -1
- localstack/version.py +2 -2
- {localstack_core-4.7.1.dev23.dist-info → localstack_core-4.7.1.dev25.dist-info}/METADATA +1 -1
- {localstack_core-4.7.1.dev23.dist-info → localstack_core-4.7.1.dev25.dist-info}/RECORD +544 -544
- localstack_core-4.7.1.dev25.dist-info/plux.json +1 -0
- localstack_core-4.7.1.dev23.dist-info/plux.json +0 -1
- {localstack_core-4.7.1.dev23.data → localstack_core-4.7.1.dev25.data}/scripts/localstack +0 -0
- {localstack_core-4.7.1.dev23.data → localstack_core-4.7.1.dev25.data}/scripts/localstack-supervisor +0 -0
- {localstack_core-4.7.1.dev23.data → localstack_core-4.7.1.dev25.data}/scripts/localstack.bat +0 -0
- {localstack_core-4.7.1.dev23.dist-info → localstack_core-4.7.1.dev25.dist-info}/WHEEL +0 -0
- {localstack_core-4.7.1.dev23.dist-info → localstack_core-4.7.1.dev25.dist-info}/entry_points.txt +0 -0
- {localstack_core-4.7.1.dev23.dist-info → localstack_core-4.7.1.dev25.dist-info}/licenses/LICENSE.txt +0 -0
- {localstack_core-4.7.1.dev23.dist-info → localstack_core-4.7.1.dev25.dist-info}/top_level.txt +0 -0
|
@@ -501,15 +501,10 @@ class CloudWatchLogsLogGroup(TypedDict, total=False):
|
|
|
501
501
|
logGroupArn: Optional[Arn]
|
|
502
502
|
|
|
503
503
|
|
|
504
|
-
EncryptionConfiguration =
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
"kmsDataKeyReusePeriodSeconds": Optional[KmsDataKeyReusePeriodSeconds],
|
|
509
|
-
"type": EncryptionType,
|
|
510
|
-
},
|
|
511
|
-
total=False,
|
|
512
|
-
)
|
|
504
|
+
class EncryptionConfiguration(TypedDict, total=False):
|
|
505
|
+
kmsKeyId: Optional[KmsKeyId]
|
|
506
|
+
kmsDataKeyReusePeriodSeconds: Optional[KmsDataKeyReusePeriodSeconds]
|
|
507
|
+
type: EncryptionType
|
|
513
508
|
|
|
514
509
|
|
|
515
510
|
class Tag(TypedDict, total=False):
|
|
@@ -567,22 +562,17 @@ class LoggingConfiguration(TypedDict, total=False):
|
|
|
567
562
|
destinations: Optional[LogDestinationList]
|
|
568
563
|
|
|
569
564
|
|
|
570
|
-
CreateStateMachineInput =
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
"versionDescription": Optional[VersionDescription],
|
|
582
|
-
"encryptionConfiguration": Optional[EncryptionConfiguration],
|
|
583
|
-
},
|
|
584
|
-
total=False,
|
|
585
|
-
)
|
|
565
|
+
class CreateStateMachineInput(TypedDict, total=False):
|
|
566
|
+
name: Name
|
|
567
|
+
definition: Definition
|
|
568
|
+
roleArn: Arn
|
|
569
|
+
type: Optional[StateMachineType]
|
|
570
|
+
loggingConfiguration: Optional[LoggingConfiguration]
|
|
571
|
+
tags: Optional[TagList]
|
|
572
|
+
tracingConfiguration: Optional[TracingConfiguration]
|
|
573
|
+
publish: Optional[Publish]
|
|
574
|
+
versionDescription: Optional[VersionDescription]
|
|
575
|
+
encryptionConfiguration: Optional[EncryptionConfiguration]
|
|
586
576
|
|
|
587
577
|
|
|
588
578
|
class CreateStateMachineOutput(TypedDict, total=False):
|
|
@@ -756,26 +746,21 @@ class DescribeStateMachineInput(ServiceRequest):
|
|
|
756
746
|
includedData: Optional[IncludedData]
|
|
757
747
|
|
|
758
748
|
|
|
759
|
-
DescribeStateMachineOutput =
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
"encryptionConfiguration": Optional[EncryptionConfiguration],
|
|
775
|
-
"variableReferences": Optional[VariableReferences],
|
|
776
|
-
},
|
|
777
|
-
total=False,
|
|
778
|
-
)
|
|
749
|
+
class DescribeStateMachineOutput(TypedDict, total=False):
|
|
750
|
+
stateMachineArn: Arn
|
|
751
|
+
name: Name
|
|
752
|
+
status: Optional[StateMachineStatus]
|
|
753
|
+
definition: Definition
|
|
754
|
+
roleArn: Arn
|
|
755
|
+
type: StateMachineType
|
|
756
|
+
creationDate: Timestamp
|
|
757
|
+
loggingConfiguration: Optional[LoggingConfiguration]
|
|
758
|
+
tracingConfiguration: Optional[TracingConfiguration]
|
|
759
|
+
label: Optional[MapRunLabel]
|
|
760
|
+
revisionId: Optional[RevisionId]
|
|
761
|
+
description: Optional[VersionDescription]
|
|
762
|
+
encryptionConfiguration: Optional[EncryptionConfiguration]
|
|
763
|
+
variableReferences: Optional[VariableReferences]
|
|
779
764
|
|
|
780
765
|
|
|
781
766
|
class EvaluationFailedEventDetails(TypedDict, total=False):
|
|
@@ -987,55 +972,50 @@ class TaskFailedEventDetails(TypedDict, total=False):
|
|
|
987
972
|
cause: Optional[SensitiveCause]
|
|
988
973
|
|
|
989
974
|
|
|
990
|
-
HistoryEvent =
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
"mapRunRedrivenEventDetails": Optional[MapRunRedrivenEventDetails],
|
|
1035
|
-
"evaluationFailedEventDetails": Optional[EvaluationFailedEventDetails],
|
|
1036
|
-
},
|
|
1037
|
-
total=False,
|
|
1038
|
-
)
|
|
975
|
+
class HistoryEvent(TypedDict, total=False):
|
|
976
|
+
timestamp: Timestamp
|
|
977
|
+
type: HistoryEventType
|
|
978
|
+
id: EventId
|
|
979
|
+
previousEventId: Optional[EventId]
|
|
980
|
+
activityFailedEventDetails: Optional[ActivityFailedEventDetails]
|
|
981
|
+
activityScheduleFailedEventDetails: Optional[ActivityScheduleFailedEventDetails]
|
|
982
|
+
activityScheduledEventDetails: Optional[ActivityScheduledEventDetails]
|
|
983
|
+
activityStartedEventDetails: Optional[ActivityStartedEventDetails]
|
|
984
|
+
activitySucceededEventDetails: Optional[ActivitySucceededEventDetails]
|
|
985
|
+
activityTimedOutEventDetails: Optional[ActivityTimedOutEventDetails]
|
|
986
|
+
taskFailedEventDetails: Optional[TaskFailedEventDetails]
|
|
987
|
+
taskScheduledEventDetails: Optional[TaskScheduledEventDetails]
|
|
988
|
+
taskStartFailedEventDetails: Optional[TaskStartFailedEventDetails]
|
|
989
|
+
taskStartedEventDetails: Optional[TaskStartedEventDetails]
|
|
990
|
+
taskSubmitFailedEventDetails: Optional[TaskSubmitFailedEventDetails]
|
|
991
|
+
taskSubmittedEventDetails: Optional[TaskSubmittedEventDetails]
|
|
992
|
+
taskSucceededEventDetails: Optional[TaskSucceededEventDetails]
|
|
993
|
+
taskTimedOutEventDetails: Optional[TaskTimedOutEventDetails]
|
|
994
|
+
executionFailedEventDetails: Optional[ExecutionFailedEventDetails]
|
|
995
|
+
executionStartedEventDetails: Optional[ExecutionStartedEventDetails]
|
|
996
|
+
executionSucceededEventDetails: Optional[ExecutionSucceededEventDetails]
|
|
997
|
+
executionAbortedEventDetails: Optional[ExecutionAbortedEventDetails]
|
|
998
|
+
executionTimedOutEventDetails: Optional[ExecutionTimedOutEventDetails]
|
|
999
|
+
executionRedrivenEventDetails: Optional[ExecutionRedrivenEventDetails]
|
|
1000
|
+
mapStateStartedEventDetails: Optional[MapStateStartedEventDetails]
|
|
1001
|
+
mapIterationStartedEventDetails: Optional[MapIterationEventDetails]
|
|
1002
|
+
mapIterationSucceededEventDetails: Optional[MapIterationEventDetails]
|
|
1003
|
+
mapIterationFailedEventDetails: Optional[MapIterationEventDetails]
|
|
1004
|
+
mapIterationAbortedEventDetails: Optional[MapIterationEventDetails]
|
|
1005
|
+
lambdaFunctionFailedEventDetails: Optional[LambdaFunctionFailedEventDetails]
|
|
1006
|
+
lambdaFunctionScheduleFailedEventDetails: Optional[LambdaFunctionScheduleFailedEventDetails]
|
|
1007
|
+
lambdaFunctionScheduledEventDetails: Optional[LambdaFunctionScheduledEventDetails]
|
|
1008
|
+
lambdaFunctionStartFailedEventDetails: Optional[LambdaFunctionStartFailedEventDetails]
|
|
1009
|
+
lambdaFunctionSucceededEventDetails: Optional[LambdaFunctionSucceededEventDetails]
|
|
1010
|
+
lambdaFunctionTimedOutEventDetails: Optional[LambdaFunctionTimedOutEventDetails]
|
|
1011
|
+
stateEnteredEventDetails: Optional[StateEnteredEventDetails]
|
|
1012
|
+
stateExitedEventDetails: Optional[StateExitedEventDetails]
|
|
1013
|
+
mapRunStartedEventDetails: Optional[MapRunStartedEventDetails]
|
|
1014
|
+
mapRunFailedEventDetails: Optional[MapRunFailedEventDetails]
|
|
1015
|
+
mapRunRedrivenEventDetails: Optional[MapRunRedrivenEventDetails]
|
|
1016
|
+
evaluationFailedEventDetails: Optional[EvaluationFailedEventDetails]
|
|
1017
|
+
|
|
1018
|
+
|
|
1039
1019
|
HistoryEventList = List[HistoryEvent]
|
|
1040
1020
|
|
|
1041
1021
|
|
|
@@ -1162,16 +1142,13 @@ class ListStateMachinesInput(ServiceRequest):
|
|
|
1162
1142
|
nextToken: Optional[PageToken]
|
|
1163
1143
|
|
|
1164
1144
|
|
|
1165
|
-
StateMachineListItem =
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
},
|
|
1173
|
-
total=False,
|
|
1174
|
-
)
|
|
1145
|
+
class StateMachineListItem(TypedDict, total=False):
|
|
1146
|
+
stateMachineArn: Arn
|
|
1147
|
+
name: Name
|
|
1148
|
+
type: StateMachineType
|
|
1149
|
+
creationDate: Timestamp
|
|
1150
|
+
|
|
1151
|
+
|
|
1175
1152
|
StateMachineList = List[StateMachineListItem]
|
|
1176
1153
|
|
|
1177
1154
|
|
|
@@ -1367,16 +1344,13 @@ class ValidateStateMachineDefinitionDiagnostic(TypedDict, total=False):
|
|
|
1367
1344
|
|
|
1368
1345
|
|
|
1369
1346
|
ValidateStateMachineDefinitionDiagnosticList = List[ValidateStateMachineDefinitionDiagnostic]
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
},
|
|
1378
|
-
total=False,
|
|
1379
|
-
)
|
|
1347
|
+
|
|
1348
|
+
|
|
1349
|
+
class ValidateStateMachineDefinitionInput(TypedDict, total=False):
|
|
1350
|
+
definition: Definition
|
|
1351
|
+
type: Optional[StateMachineType]
|
|
1352
|
+
severity: Optional[ValidateStateMachineDefinitionSeverity]
|
|
1353
|
+
maxResults: Optional[ValidateStateMachineDefinitionMaxResult]
|
|
1380
1354
|
|
|
1381
1355
|
|
|
1382
1356
|
class ValidateStateMachineDefinitionOutput(TypedDict, total=False):
|
|
@@ -209,15 +209,14 @@ class SupportedHour(TypedDict, total=False):
|
|
|
209
209
|
|
|
210
210
|
|
|
211
211
|
SupportedHoursList = List[SupportedHour]
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
)
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
class CommunicationTypeOptions(TypedDict, total=False):
|
|
215
|
+
type: Optional[Type]
|
|
216
|
+
supportedHours: Optional[SupportedHoursList]
|
|
217
|
+
datesWithoutSupport: Optional[DatesWithoutSupportList]
|
|
218
|
+
|
|
219
|
+
|
|
221
220
|
CommunicationTypeOptionsList = List[CommunicationTypeOptions]
|
|
222
221
|
|
|
223
222
|
|
localstack/aws/chain.py
CHANGED
|
@@ -5,7 +5,7 @@ The core concepts of the HandlerChain.
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
7
|
import logging
|
|
8
|
-
from
|
|
8
|
+
from collections.abc import Callable
|
|
9
9
|
|
|
10
10
|
from rolo.gateway import (
|
|
11
11
|
CompositeExceptionHandler,
|
|
@@ -29,7 +29,7 @@ ExceptionHandler = Callable[["HandlerChain", Exception, RequestContext, Response
|
|
|
29
29
|
was raised by the request handler, the RequestContext, and the Response object to be populated."""
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
HandlerChain:
|
|
32
|
+
HandlerChain: type[RoloHandlerChain[RequestContext]] = RoloHandlerChain
|
|
33
33
|
|
|
34
34
|
__all__ = [
|
|
35
35
|
"HandlerChain",
|
localstack/aws/client.py
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import io
|
|
4
4
|
import logging
|
|
5
|
-
from
|
|
6
|
-
from
|
|
5
|
+
from collections.abc import Iterable
|
|
6
|
+
from datetime import UTC, datetime
|
|
7
7
|
from urllib.parse import urlsplit
|
|
8
8
|
|
|
9
9
|
from botocore import awsrequest
|
|
@@ -130,8 +130,8 @@ class _RawStream:
|
|
|
130
130
|
|
|
131
131
|
|
|
132
132
|
def _add_modeled_error_fields(
|
|
133
|
-
response_dict:
|
|
134
|
-
parsed_response:
|
|
133
|
+
response_dict: dict,
|
|
134
|
+
parsed_response: dict,
|
|
135
135
|
operation_model: OperationModel,
|
|
136
136
|
parser: ResponseParser,
|
|
137
137
|
):
|
|
@@ -217,7 +217,7 @@ def _patch_cbor2():
|
|
|
217
217
|
# AWS breaks the CBOR spec by using the millis (instead of seconds with floating point support for millis)
|
|
218
218
|
# https://github.com/aws/aws-sdk-java-v2/issues/4661
|
|
219
219
|
value = value / 1000
|
|
220
|
-
tmp = datetime.fromtimestamp(value,
|
|
220
|
+
tmp = datetime.fromtimestamp(value, UTC)
|
|
221
221
|
except (OverflowError, OSError, ValueError) as exc:
|
|
222
222
|
raise CBORDecodeValueError("error decoding datetime from epoch") from exc
|
|
223
223
|
|
|
@@ -335,9 +335,7 @@ def parse_response(
|
|
|
335
335
|
return parsed_response
|
|
336
336
|
|
|
337
337
|
|
|
338
|
-
def parse_service_exception(
|
|
339
|
-
response: Response, parsed_response: Dict
|
|
340
|
-
) -> Optional[ServiceException]:
|
|
338
|
+
def parse_service_exception(response: Response, parsed_response: dict) -> ServiceException | None:
|
|
341
339
|
"""
|
|
342
340
|
Creates a ServiceException (one ASF can handle) from a parsed response (one that botocore would return).
|
|
343
341
|
It does not automatically raise the exception (see #raise_service_exception).
|
|
@@ -363,7 +361,7 @@ def parse_service_exception(
|
|
|
363
361
|
return service_exception
|
|
364
362
|
|
|
365
363
|
|
|
366
|
-
def raise_service_exception(response: Response, parsed_response:
|
|
364
|
+
def raise_service_exception(response: Response, parsed_response: dict) -> None:
|
|
367
365
|
"""
|
|
368
366
|
Creates and raises a ServiceException from a parsed response (one that botocore would return).
|
|
369
367
|
:param response: Un-parsed response
|
localstack/aws/connect.py
CHANGED
|
@@ -10,10 +10,11 @@ import logging
|
|
|
10
10
|
import re
|
|
11
11
|
import threading
|
|
12
12
|
from abc import ABC, abstractmethod
|
|
13
|
+
from collections.abc import Callable
|
|
13
14
|
from functools import lru_cache, partial
|
|
14
15
|
from random import choice
|
|
15
16
|
from socket import socket
|
|
16
|
-
from typing import Any,
|
|
17
|
+
from typing import Any, Generic, TypedDict, TypeVar
|
|
17
18
|
|
|
18
19
|
import dns.message
|
|
19
20
|
import dns.query
|
|
@@ -277,10 +278,10 @@ class ClientFactory(ABC):
|
|
|
277
278
|
def __call__(
|
|
278
279
|
self,
|
|
279
280
|
*,
|
|
280
|
-
region_name:
|
|
281
|
-
aws_access_key_id:
|
|
282
|
-
aws_secret_access_key:
|
|
283
|
-
aws_session_token:
|
|
281
|
+
region_name: str | None = None,
|
|
282
|
+
aws_access_key_id: str | None = None,
|
|
283
|
+
aws_secret_access_key: str | None = None,
|
|
284
|
+
aws_session_token: str | None = None,
|
|
284
285
|
endpoint_url: str = None,
|
|
285
286
|
config: Config = None,
|
|
286
287
|
) -> ServiceLevelClientFactory:
|
|
@@ -318,11 +319,11 @@ class ClientFactory(ABC):
|
|
|
318
319
|
self,
|
|
319
320
|
*,
|
|
320
321
|
role_arn: str,
|
|
321
|
-
service_principal:
|
|
322
|
-
session_name:
|
|
323
|
-
region_name:
|
|
324
|
-
endpoint_url:
|
|
325
|
-
config:
|
|
322
|
+
service_principal: ServicePrincipal | None = None,
|
|
323
|
+
session_name: str | None = None,
|
|
324
|
+
region_name: str | None = None,
|
|
325
|
+
endpoint_url: str | None = None,
|
|
326
|
+
config: Config | None = None,
|
|
326
327
|
) -> ServiceLevelClientFactory:
|
|
327
328
|
"""
|
|
328
329
|
Create a service level client factory with credentials from assuming the given role ARN.
|
|
@@ -362,12 +363,12 @@ class ClientFactory(ABC):
|
|
|
362
363
|
def get_client(
|
|
363
364
|
self,
|
|
364
365
|
service_name: str,
|
|
365
|
-
region_name:
|
|
366
|
-
aws_access_key_id:
|
|
367
|
-
aws_secret_access_key:
|
|
368
|
-
aws_session_token:
|
|
369
|
-
endpoint_url:
|
|
370
|
-
config:
|
|
366
|
+
region_name: str | None = None,
|
|
367
|
+
aws_access_key_id: str | None = None,
|
|
368
|
+
aws_secret_access_key: str | None = None,
|
|
369
|
+
aws_session_token: str | None = None,
|
|
370
|
+
endpoint_url: str | None = None,
|
|
371
|
+
config: Config | None = None,
|
|
371
372
|
):
|
|
372
373
|
raise NotImplementedError()
|
|
373
374
|
|
|
@@ -389,11 +390,11 @@ class ClientFactory(ABC):
|
|
|
389
390
|
service_name: str,
|
|
390
391
|
region_name: str,
|
|
391
392
|
use_ssl: bool,
|
|
392
|
-
verify:
|
|
393
|
-
endpoint_url:
|
|
394
|
-
aws_access_key_id:
|
|
395
|
-
aws_secret_access_key:
|
|
396
|
-
aws_session_token:
|
|
393
|
+
verify: bool | None,
|
|
394
|
+
endpoint_url: str | None,
|
|
395
|
+
aws_access_key_id: str | None,
|
|
396
|
+
aws_secret_access_key: str | None,
|
|
397
|
+
aws_session_token: str | None,
|
|
397
398
|
config: Config,
|
|
398
399
|
) -> BaseClient:
|
|
399
400
|
"""
|
|
@@ -480,12 +481,12 @@ class InternalClientFactory(ClientFactory):
|
|
|
480
481
|
def get_client(
|
|
481
482
|
self,
|
|
482
483
|
service_name: str,
|
|
483
|
-
region_name:
|
|
484
|
-
aws_access_key_id:
|
|
485
|
-
aws_secret_access_key:
|
|
486
|
-
aws_session_token:
|
|
487
|
-
endpoint_url:
|
|
488
|
-
config:
|
|
484
|
+
region_name: str | None = None,
|
|
485
|
+
aws_access_key_id: str | None = None,
|
|
486
|
+
aws_secret_access_key: str | None = None,
|
|
487
|
+
aws_session_token: str | None = None,
|
|
488
|
+
endpoint_url: str | None = None,
|
|
489
|
+
config: Config | None = None,
|
|
489
490
|
) -> BaseClient:
|
|
490
491
|
"""
|
|
491
492
|
Build and return client for connections originating within LocalStack.
|
|
@@ -535,12 +536,12 @@ class ExternalClientFactory(ClientFactory):
|
|
|
535
536
|
def get_client(
|
|
536
537
|
self,
|
|
537
538
|
service_name: str,
|
|
538
|
-
region_name:
|
|
539
|
-
aws_access_key_id:
|
|
540
|
-
aws_secret_access_key:
|
|
541
|
-
aws_session_token:
|
|
542
|
-
endpoint_url:
|
|
543
|
-
config:
|
|
539
|
+
region_name: str | None = None,
|
|
540
|
+
aws_access_key_id: str | None = None,
|
|
541
|
+
aws_secret_access_key: str | None = None,
|
|
542
|
+
aws_session_token: str | None = None,
|
|
543
|
+
endpoint_url: str | None = None,
|
|
544
|
+
config: Config | None = None,
|
|
544
545
|
) -> BaseClient:
|
|
545
546
|
"""
|
|
546
547
|
Build and return client for connections originating outside LocalStack and targeting Localstack.
|
|
@@ -604,12 +605,12 @@ class ExternalAwsClientFactory(ClientFactory):
|
|
|
604
605
|
def get_client(
|
|
605
606
|
self,
|
|
606
607
|
service_name: str,
|
|
607
|
-
region_name:
|
|
608
|
-
aws_access_key_id:
|
|
609
|
-
aws_secret_access_key:
|
|
610
|
-
aws_session_token:
|
|
611
|
-
endpoint_url:
|
|
612
|
-
config:
|
|
608
|
+
region_name: str | None = None,
|
|
609
|
+
aws_access_key_id: str | None = None,
|
|
610
|
+
aws_secret_access_key: str | None = None,
|
|
611
|
+
aws_session_token: str | None = None,
|
|
612
|
+
endpoint_url: str | None = None,
|
|
613
|
+
config: Config | None = None,
|
|
613
614
|
) -> BaseClient:
|
|
614
615
|
"""
|
|
615
616
|
Build and return client for connections originating outside LocalStack and targeting AWS.
|
localstack/aws/forwarder.py
CHANGED
|
@@ -3,7 +3,8 @@ This module contains utilities to call a backend (e.g., an external service proc
|
|
|
3
3
|
DynamoDBLocal) from a service provider.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
-
from
|
|
6
|
+
from collections.abc import Callable, Mapping
|
|
7
|
+
from typing import Any
|
|
7
8
|
|
|
8
9
|
from botocore.awsrequest import AWSPreparedRequest, prepare_request_dict
|
|
9
10
|
from botocore.config import Config as BotoConfig
|
|
@@ -54,7 +55,7 @@ class AwsRequestProxy:
|
|
|
54
55
|
self,
|
|
55
56
|
context: RequestContext,
|
|
56
57
|
service_request: ServiceRequest = None,
|
|
57
|
-
) ->
|
|
58
|
+
) -> ServiceResponse | Response | None:
|
|
58
59
|
"""Method to satisfy the ``ServiceRequestHandler`` protocol."""
|
|
59
60
|
return self.forward(context, service_request)
|
|
60
61
|
|
|
@@ -62,7 +63,7 @@ class AwsRequestProxy:
|
|
|
62
63
|
self,
|
|
63
64
|
context: RequestContext,
|
|
64
65
|
service_request: ServiceRequest = None,
|
|
65
|
-
) ->
|
|
66
|
+
) -> ServiceResponse | Response | None:
|
|
66
67
|
"""
|
|
67
68
|
Forwards the given request to the backend configured by ``endpoint_url``.
|
|
68
69
|
|
|
@@ -197,7 +198,7 @@ def create_aws_request_context(
|
|
|
197
198
|
action: str,
|
|
198
199
|
parameters: Mapping[str, Any] = None,
|
|
199
200
|
region: str = None,
|
|
200
|
-
endpoint_url:
|
|
201
|
+
endpoint_url: str | None = None,
|
|
201
202
|
) -> RequestContext:
|
|
202
203
|
"""
|
|
203
204
|
This is a stripped-down version of what the botocore client does to perform an HTTP request from a client call. A
|
localstack/aws/gateway.py
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import typing as t
|
|
2
|
-
|
|
3
1
|
from rolo.gateway import Gateway as RoloGateway
|
|
4
2
|
from rolo.response import Response
|
|
5
3
|
|
|
@@ -17,7 +15,7 @@ class Gateway(RoloGateway):
|
|
|
17
15
|
response_handlers: list[Handler] = None,
|
|
18
16
|
finalizers: list[Handler] = None,
|
|
19
17
|
exception_handlers: list[ExceptionHandler] = None,
|
|
20
|
-
context_class:
|
|
18
|
+
context_class: type[RequestContext] = None,
|
|
21
19
|
) -> None:
|
|
22
20
|
super().__init__(
|
|
23
21
|
request_handlers,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import threading
|
|
3
|
-
from typing import Optional
|
|
4
3
|
|
|
5
4
|
from localstack import config
|
|
6
5
|
from localstack.aws.api import RequestContext
|
|
@@ -52,7 +51,7 @@ class ServiceRequestCounter:
|
|
|
52
51
|
)
|
|
53
52
|
)
|
|
54
53
|
|
|
55
|
-
def _get_err_type(self, context: RequestContext, response: Response) ->
|
|
54
|
+
def _get_err_type(self, context: RequestContext, response: Response) -> str | None:
|
|
56
55
|
"""
|
|
57
56
|
Attempts to re-use the existing service_response, or parse and return the error type from the response body,
|
|
58
57
|
e.g. ``ResourceInUseException``.
|
localstack/aws/handlers/cors.py
CHANGED
|
@@ -4,7 +4,6 @@ A set of handlers which handle Cross Origin Resource Sharing (CORS).
|
|
|
4
4
|
|
|
5
5
|
import logging
|
|
6
6
|
import re
|
|
7
|
-
from typing import List, Set
|
|
8
7
|
from urllib.parse import urlparse
|
|
9
8
|
|
|
10
9
|
from werkzeug.datastructures import Headers
|
|
@@ -83,7 +82,7 @@ ALLOWED_CORS_RESPONSE_HEADERS = [
|
|
|
83
82
|
]
|
|
84
83
|
|
|
85
84
|
|
|
86
|
-
def _get_allowed_cors_internal_domains() ->
|
|
85
|
+
def _get_allowed_cors_internal_domains() -> set[str]:
|
|
87
86
|
"""
|
|
88
87
|
Construct the list of allowed internal domains for CORS enforcement purposes
|
|
89
88
|
Defined as function to allow easier testing with monkeypatch of config values
|
|
@@ -94,7 +93,7 @@ def _get_allowed_cors_internal_domains() -> Set[str]:
|
|
|
94
93
|
_ALLOWED_INTERNAL_DOMAINS = _get_allowed_cors_internal_domains()
|
|
95
94
|
|
|
96
95
|
|
|
97
|
-
def _get_allowed_cors_ports() ->
|
|
96
|
+
def _get_allowed_cors_ports() -> set[int]:
|
|
98
97
|
"""
|
|
99
98
|
Construct the list of allowed ports for CORS enforcement purposes
|
|
100
99
|
Defined as function to allow easier testing with monkeypatch of config values
|
|
@@ -105,7 +104,7 @@ def _get_allowed_cors_ports() -> Set[int]:
|
|
|
105
104
|
_ALLOWED_INTERNAL_PORTS = _get_allowed_cors_ports()
|
|
106
105
|
|
|
107
106
|
|
|
108
|
-
def _get_allowed_cors_origins() ->
|
|
107
|
+
def _get_allowed_cors_origins() -> list[str]:
|
|
109
108
|
"""Construct the list of allowed origins for CORS enforcement purposes"""
|
|
110
109
|
result = [
|
|
111
110
|
# allow access from Web app and localhost domains
|
|
@@ -210,7 +209,7 @@ class CorsEnforcer(Handler):
|
|
|
210
209
|
return True
|
|
211
210
|
|
|
212
211
|
@staticmethod
|
|
213
|
-
def _is_in_allowed_origins(allowed_origins:
|
|
212
|
+
def _is_in_allowed_origins(allowed_origins: list[str], origin: str) -> bool:
|
|
214
213
|
"""Returns true if the `origin` is in the `allowed_origins`."""
|
|
215
214
|
for allowed_origin in allowed_origins:
|
|
216
215
|
if allowed_origin == "*" or origin == allowed_origin:
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import logging
|
|
4
4
|
from functools import cached_property
|
|
5
|
-
from typing import Type
|
|
6
5
|
|
|
7
6
|
from localstack.aws.api import RequestContext, ServiceException
|
|
8
7
|
from localstack.aws.chain import ExceptionHandler, HandlerChain
|
|
@@ -71,7 +70,7 @@ class ResponseLogger:
|
|
|
71
70
|
)
|
|
72
71
|
|
|
73
72
|
# make sure loggers are loaded after logging config is loaded
|
|
74
|
-
def _prepare_logger(self, logger: logging.Logger, formatter:
|
|
73
|
+
def _prepare_logger(self, logger: logging.Logger, formatter: type):
|
|
75
74
|
if logger.isEnabledFor(logging.DEBUG):
|
|
76
75
|
logger.propagate = False
|
|
77
76
|
handler = create_default_handler(logger.level)
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import logging
|
|
2
|
-
from typing import List, Optional
|
|
3
2
|
|
|
4
3
|
from localstack import config
|
|
5
4
|
from localstack.aws.api import RequestContext
|
|
@@ -16,7 +15,7 @@ class MetricHandlerItem:
|
|
|
16
15
|
|
|
17
16
|
request_id: str
|
|
18
17
|
request_context: RequestContext
|
|
19
|
-
parameters_after_parse:
|
|
18
|
+
parameters_after_parse: list[str] | None
|
|
20
19
|
|
|
21
20
|
def __init__(self, request_contex: RequestContext) -> None:
|
|
22
21
|
super().__init__()
|
|
@@ -35,7 +34,7 @@ class Metric:
|
|
|
35
34
|
headers: str
|
|
36
35
|
parameters: str
|
|
37
36
|
status_code: int
|
|
38
|
-
response_code:
|
|
37
|
+
response_code: str | None
|
|
39
38
|
exception: str
|
|
40
39
|
origin: str
|
|
41
40
|
xfail: bool
|
|
@@ -134,7 +133,7 @@ class Metric:
|
|
|
134
133
|
|
|
135
134
|
|
|
136
135
|
class MetricHandler:
|
|
137
|
-
metric_data:
|
|
136
|
+
metric_data: list[Metric] = []
|
|
138
137
|
|
|
139
138
|
def __init__(self) -> None:
|
|
140
139
|
self.metrics_handler_items = {}
|