We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
bug: Java 11 Lambda incorrect handler specification
### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Up to localstack 0.12.15 (I haven't checked with 0.12.16), Java 11 Lambda function handler was correctly specified according to [AWS docs](https://docs.aws.amazon.com/lambda/latest/dg/lambda-java.html) e.g.

```
example.Hello::handleRequest
```

With 0.12.17, instead, such specification leads to error during Lambda execution, with stacktrace:

```
2021-08-30T14:08:01:INFO:localstack.utils.run: Thread run method <function LambdaExecutor.execute.<locals>.do_execute at 0x7fc385d26560>(None) failed: Lambda process returned error status code: 1. Result: . Output:
Exception in thread "main" java.lang.ClassNotFoundException: example.Hello::handleRequest
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
        at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Unknown Source)
        at cloud.localstack.LambdaExecutor.getHandler(LambdaExecutor.java:142)
        at cloud.localstack.LambdaExecutor.main(LambdaExecutor.java:69) Traceback (most recent call last):
  File "/opt/code/localstack/localstack/utils/run.py", line 138, in run
    result = self.func(self.params, **kwargs)
  File "/opt/code/localstack/localstack/services/awslambda/lambda_executors.py", line 326, in do_execute
    return _run(func_arn=func_arn)
  File "/opt/code/localstack/localstack/utils/cloudwatch/cloudwatch_util.py", line 157, in wrapped
    raise e
  File "/opt/code/localstack/localstack/utils/cloudwatch/cloudwatch_util.py", line 153, in wrapped
    result = func(*args, **kwargs)
  File "/opt/code/localstack/localstack/services/awslambda/lambda_executors.py", line 313, in _run
    raise e
  File "/opt/code/localstack/localstack/services/awslambda/lambda_executors.py", line 299, in _run
    result = self._execute(func_arn, func_details, event, context, version)
  File "/opt/code/localstack/localstack/services/awslambda/lambda_executors.py", line 1101, in _execute
    raise InvocationException(result, log_output)
localstack.services.awslambda.lambda_executors.InvocationException: Lambda process returned error status code: 1. Result: . Output:
Exception in thread "main" java.lang.ClassNotFoundException: example.Hello::handleRequest
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
        at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Unknown Source)
        at cloud.localstack.LambdaExecutor.getHandler(LambdaExecutor.java:142)
        at cloud.localstack.LambdaExecutor.main(LambdaExecutor.java:69)
```

I would say that this line in the test case is incorrect: https://github.com/localstack/localstack/blob/master/tests/integration/test_lambda.py#L1711

### Expected Behavior

I would expect to specify Java 11 Lambda handlers as it used to be at least until localstack 0.12.15 and according to AWS docs.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

    docker run localstack/localstack

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

    awslocal s3 mb s3://mybucket


### Environment

```markdown
- OS: Ubuntu 20.04
- LocalStack: 0.12.17
```


### Anything else?

_No response_

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `localstack/constants.py`
Content:
```
1 import os
2 
3 import localstack_client.config
4 
5 import localstack
6 
7 # LocalStack version
8 VERSION = localstack.__version__
9 
10 # constant to represent the "local" region, i.e., local machine
11 REGION_LOCAL = "local"
12 
13 # dev environment
14 ENV_DEV = "dev"
15 
16 # HTTP headers used to forward proxy request URLs
17 HEADER_LOCALSTACK_EDGE_URL = "x-localstack-edge"
18 HEADER_LOCALSTACK_REQUEST_URL = "x-localstack-request-url"
19 HEADER_LOCALSTACK_TARGET = "x-localstack-target"
20 HEADER_AMZN_ERROR_TYPE = "X-Amzn-Errortype"
21 
22 # backend service ports, for services that are behind a proxy (counting down from 4566)
23 DEFAULT_PORT_EDGE = 4566
24 
25 # host name for localhost
26 LOCALHOST = "localhost"
27 LOCALHOST_IP = "127.0.0.1"
28 LOCALHOST_HOSTNAME = "localhost.localstack.cloud"
29 
30 # version of the Maven dependency with Java utility code
31 LOCALSTACK_MAVEN_VERSION = "0.2.16"
32 
33 # map of default service APIs and ports to be spun up (fetch map from localstack_client)
34 DEFAULT_SERVICE_PORTS = localstack_client.config.get_service_ports()
35 
36 # host to bind to when starting the services
37 BIND_HOST = "0.0.0.0"
38 
39 # AWS user account ID used for tests
40 if "TEST_AWS_ACCOUNT_ID" not in os.environ:
41     os.environ["TEST_AWS_ACCOUNT_ID"] = "000000000000"
42 TEST_AWS_ACCOUNT_ID = os.environ["TEST_AWS_ACCOUNT_ID"]
43 
44 # root code folder
45 MODULE_MAIN_PATH = os.path.dirname(os.path.realpath(__file__))
46 # TODO rename to "ROOT_FOLDER"!
47 LOCALSTACK_ROOT_FOLDER = os.path.realpath(os.path.join(MODULE_MAIN_PATH, ".."))
48 INSTALL_DIR_INFRA = os.path.join(MODULE_MAIN_PATH, "infra")
49 
50 # virtualenv folder
51 LOCALSTACK_VENV_FOLDER = os.path.join(LOCALSTACK_ROOT_FOLDER, ".venv")
52 if not os.path.isdir(LOCALSTACK_VENV_FOLDER):
53     # assuming this package lives here: <python>/lib/pythonX.X/site-packages/localstack/
54     LOCALSTACK_VENV_FOLDER = os.path.realpath(
55         os.path.join(LOCALSTACK_ROOT_FOLDER, "..", "..", "..")
56     )
57 
58 # API Gateway path to indicate a user request sent to the gateway
59 PATH_USER_REQUEST = "_user_request_"
60 
61 # name of LocalStack Docker image
62 DOCKER_IMAGE_NAME = "localstack/localstack"
63 DOCKER_IMAGE_NAME_FULL = "localstack/localstack-full"
64 
65 # backdoor API path used to retrieve or update config variables
66 CONFIG_UPDATE_PATH = "/?_config_"
67 
68 # environment variable name to tag local test runs
69 ENV_INTERNAL_TEST_RUN = "LOCALSTACK_INTERNAL_TEST_RUN"
70 
71 # environment variable that flags whether pro was activated. do not use for security purposes!
72 ENV_PRO_ACTIVATED = "PRO_ACTIVATED"
73 
74 # content types
75 HEADER_CONTENT_TYPE = "Content-Type"
76 APPLICATION_AMZ_JSON_1_0 = "application/x-amz-json-1.0"
77 APPLICATION_AMZ_JSON_1_1 = "application/x-amz-json-1.1"
78 APPLICATION_AMZ_CBOR_1_1 = "application/x-amz-cbor-1.1"
79 APPLICATION_CBOR = "application/cbor"
80 APPLICATION_JSON = "application/json"
81 APPLICATION_XML = "application/xml"
82 APPLICATION_OCTET_STREAM = "application/octet-stream"
83 APPLICATION_X_WWW_FORM_URLENCODED = "application/x-www-form-urlencoded"
84 
85 # strings to indicate truthy/falsy values
86 TRUE_STRINGS = ("1", "true", "True")
87 FALSE_STRINGS = ("0", "false", "False")
88 # strings with valid log levels for LS_LOG
89 LOG_LEVELS = ("trace-internal", "trace", "debug", "info", "warn", "error", "warning")
90 
91 # Lambda defaults
92 LAMBDA_TEST_ROLE = "arn:aws:iam::%s:role/lambda-test-role" % TEST_AWS_ACCOUNT_ID
93 
94 # installation constants
95 ELASTICSEARCH_URLS = {
96     "7.10.0": "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-linux-x86_64.tar.gz",
97     "7.7.0": "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz",
98     "7.4.0": "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-linux-x86_64.tar.gz",
99     "7.1.0": "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.0-linux-x86_64.tar.gz",
100     "6.7.0": "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.zip",
101 }
102 ELASTICSEARCH_DEFAULT_VERSION = "7.10.0"
103 # See https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/aes-supported-plugins.html
104 ELASTICSEARCH_PLUGIN_LIST = [
105     "analysis-icu",
106     "ingest-attachment",
107     "analysis-kuromoji",
108     "mapper-murmur3",
109     "mapper-size",
110     "analysis-phonetic",
111     "analysis-smartcn",
112     "analysis-stempel",
113     "analysis-ukrainian",
114 ]
115 # Default ES modules to exclude (save apprx 66MB in the final image)
116 ELASTICSEARCH_DELETE_MODULES = ["ingest-geoip"]
117 ELASTICMQ_JAR_URL = (
118     "https://s3-eu-west-1.amazonaws.com/softwaremill-public/elasticmq-server-1.1.0.jar"
119 )
120 STS_JAR_URL = "https://repo1.maven.org/maven2/com/amazonaws/aws-java-sdk-sts/1.11.14/aws-java-sdk-sts-1.11.14.jar"
121 STEPFUNCTIONS_ZIP_URL = "https://s3.amazonaws.com/stepfunctionslocal/StepFunctionsLocal.zip"
122 KMS_URL_PATTERN = "https://s3-eu-west-2.amazonaws.com/local-kms/localstack/v3/local-kms.<arch>.bin"
123 
124 # TODO: Temporarily using a fixed version of DDB in Alpine, as we're hitting a SIGSEGV JVM crash with latest
125 DYNAMODB_JAR_URL_ALPINE = "https://github.com/localstack/localstack-artifacts/raw/master/dynamodb-local-patch/etc/DynamoDBLocal.zip"
126 DYNAMODB_JAR_URL = "https://s3-us-west-2.amazonaws.com/dynamodb-local/dynamodb_local_latest.zip"
127 
128 # API endpoint for analytics events
129 API_ENDPOINT = os.environ.get("API_ENDPOINT") or "https://api.localstack.cloud/v1"
130 # new analytics API endpoint
131 ANALYTICS_API = os.environ.get("ANALYTICS_API") or "https://analytics.localstack.cloud/v0"
132 
133 # environment variable to indicates that this process is running the Web UI
134 LOCALSTACK_WEB_PROCESS = "LOCALSTACK_WEB_PROCESS"
135 LOCALSTACK_INFRA_PROCESS = "LOCALSTACK_INFRA_PROCESS"
136 
137 # hardcoded AWS account ID used by moto
138 MOTO_ACCOUNT_ID = TEST_AWS_ACCOUNT_ID
139 # fix moto account ID - note: keep this at the top level here
140 try:
141     from moto import core as moto_core
142     from moto.core import models as moto_core_models
143 
144     moto_core.ACCOUNT_ID = moto_core_models.ACCOUNT_ID = MOTO_ACCOUNT_ID
145 except Exception:
146     # ignore import errors
147     pass
148 
149 # default AWS region us-east-1
150 AWS_REGION_US_EAST_1 = "us-east-1"
151 
152 # default lambda registry
153 DEFAULT_LAMBDA_CONTAINER_REGISTRY = "lambci/lambda"
154 
155 # environment variable to override max pool connections
156 try:
157     MAX_POOL_CONNECTIONS = int(os.environ["MAX_POOL_CONNECTIONS"])
158 except Exception:
159     MAX_POOL_CONNECTIONS = 150
160 
161 # test credentials used for generating signature for S3 presigned URLs (to be used by external clients)
162 TEST_AWS_ACCESS_KEY_ID = "test"
163 TEST_AWS_SECRET_ACCESS_KEY = "test"
164 
165 # credentials being used for internal calls
166 INTERNAL_AWS_ACCESS_KEY_ID = "__internal_call__"
167 INTERNAL_AWS_SECRET_ACCESS_KEY = "__internal_call__"
168 
169 # trace log levels (excluding/including internal API calls), configurable via $LS_LOG
170 LS_LOG_TRACE = "trace"
171 LS_LOG_TRACE_INTERNAL = "trace-internal"
172 TRACE_LOG_LEVELS = [LS_LOG_TRACE, LS_LOG_TRACE_INTERNAL]
173 
174 # list of official docker images
175 OFFICIAL_IMAGES = [
176     "localstack/localstack",
177     "localstack/localstack-light",
178     "localstack/localstack-full",
179 ]
180 
181 # s3 virtual host name
182 S3_VIRTUAL_HOSTNAME = "s3.%s" % LOCALHOST_HOSTNAME
183 S3_STATIC_WEBSITE_HOSTNAME = "s3-website.%s" % LOCALHOST_HOSTNAME
184 
185 # port for debug py
186 DEFAULT_DEVELOP_PORT = 5678
187 
188 # Default bucket name of the s3 bucket used for local lambda development
189 DEFAULT_BUCKET_MARKER_LOCAL = "__local__"
190 
191 # user that starts the elasticsearch process if the current user is root
192 OS_USER_ELASTICSEARCH = "localstack"
193
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/localstack/constants.py b/localstack/constants.py
--- a/localstack/constants.py
+++ b/localstack/constants.py
@@ -28,7 +28,7 @@
 LOCALHOST_HOSTNAME = "localhost.localstack.cloud"
 
 # version of the Maven dependency with Java utility code
-LOCALSTACK_MAVEN_VERSION = "0.2.16"
+LOCALSTACK_MAVEN_VERSION = "0.2.17"
 
 # map of default service APIs and ports to be spun up (fetch map from localstack_client)
 DEFAULT_SERVICE_PORTS = localstack_client.config.get_service_ports()

{"golden_diff": "diff --git a/localstack/constants.py b/localstack/constants.py\n--- a/localstack/constants.py\n+++ b/localstack/constants.py\n@@ -28,7 +28,7 @@\n LOCALHOST_HOSTNAME = \"localhost.localstack.cloud\"\n \n # version of the Maven dependency with Java utility code\n-LOCALSTACK_MAVEN_VERSION = \"0.2.16\"\n+LOCALSTACK_MAVEN_VERSION = \"0.2.17\"\n \n # map of default service APIs and ports to be spun up (fetch map from localstack_client)\n DEFAULT_SERVICE_PORTS = localstack_client.config.get_service_ports()\n", "issue": "bug: Java 11 Lambda incorrect handler specification\n### Is there an existing issue for this?\n\n- [X] I have searched the existing issues\n\n### Current Behavior\n\nUp to localstack 0.12.15 (I haven't checked with 0.12.16), Java 11 Lambda function handler was correctly specified according to [AWS docs](https://docs.aws.amazon.com/lambda/latest/dg/lambda-java.html) e.g.\r\n\r\n```\r\nexample.Hello::handleRequest\r\n```\r\n\r\nWith 0.12.17, instead, such specification leads to error during Lambda execution, with stacktrace:\r\n\r\n```\r\n2021-08-30T14:08:01:INFO:localstack.utils.run: Thread run method <function LambdaExecutor.execute.<locals>.do_execute at 0x7fc385d26560>(None) failed: Lambda process returned error status code: 1. Result: . Output:\r\nException in thread \"main\" java.lang.ClassNotFoundException: example.Hello::handleRequest\r\n        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)\r\n        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)\r\n        at java.base/java.lang.ClassLoader.loadClass(Unknown Source)\r\n        at java.base/java.lang.Class.forName0(Native Method)\r\n        at java.base/java.lang.Class.forName(Unknown Source)\r\n        at cloud.localstack.LambdaExecutor.getHandler(LambdaExecutor.java:142)\r\n        at cloud.localstack.LambdaExecutor.main(LambdaExecutor.java:69) Traceback (most recent call last):\r\n  File \"/opt/code/localstack/localstack/utils/run.py\", line 138, in run\r\n    result = self.func(self.params, **kwargs)\r\n  File \"/opt/code/localstack/localstack/services/awslambda/lambda_executors.py\", line 326, in do_execute\r\n    return _run(func_arn=func_arn)\r\n  File \"/opt/code/localstack/localstack/utils/cloudwatch/cloudwatch_util.py\", line 157, in wrapped\r\n    raise e\r\n  File \"/opt/code/localstack/localstack/utils/cloudwatch/cloudwatch_util.py\", line 153, in wrapped\r\n    result = func(*args, **kwargs)\r\n  File \"/opt/code/localstack/localstack/services/awslambda/lambda_executors.py\", line 313, in _run\r\n    raise e\r\n  File \"/opt/code/localstack/localstack/services/awslambda/lambda_executors.py\", line 299, in _run\r\n    result = self._execute(func_arn, func_details, event, context, version)\r\n  File \"/opt/code/localstack/localstack/services/awslambda/lambda_executors.py\", line 1101, in _execute\r\n    raise InvocationException(result, log_output)\r\nlocalstack.services.awslambda.lambda_executors.InvocationException: Lambda process returned error status code: 1. Result: . Output:\r\nException in thread \"main\" java.lang.ClassNotFoundException: example.Hello::handleRequest\r\n        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)\r\n        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)\r\n        at java.base/java.lang.ClassLoader.loadClass(Unknown Source)\r\n        at java.base/java.lang.Class.forName0(Native Method)\r\n        at java.base/java.lang.Class.forName(Unknown Source)\r\n        at cloud.localstack.LambdaExecutor.getHandler(LambdaExecutor.java:142)\r\n        at cloud.localstack.LambdaExecutor.main(LambdaExecutor.java:69)\r\n```\r\n\r\nI would say that this line in the test case is incorrect: https://github.com/localstack/localstack/blob/master/tests/integration/test_lambda.py#L1711\n\n### Expected Behavior\n\nI would expect to specify Java 11 Lambda handlers as it used to be at least until localstack 0.12.15 and according to AWS docs.\n\n### How are you starting LocalStack?\n\nWith a docker-compose file\n\n### Steps To Reproduce\n\n#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)\r\n\r\n    docker run localstack/localstack\r\n\r\n#### Client commands (e.g., AWS SDK code snippet, or sequence of \"awslocal\" commands)\r\n\r\n    awslocal s3 mb s3://mybucket\r\n\n\n### Environment\n\n```markdown\n- OS: Ubuntu 20.04\r\n- LocalStack: 0.12.17\n```\n\n\n### Anything else?\n\n_No response_\n", "before_files": [{"content": "import os\n\nimport localstack_client.config\n\nimport localstack\n\n# LocalStack version\nVERSION = localstack.__version__\n\n# constant to represent the \"local\" region, i.e., local machine\nREGION_LOCAL = \"local\"\n\n# dev environment\nENV_DEV = \"dev\"\n\n# HTTP headers used to forward proxy request URLs\nHEADER_LOCALSTACK_EDGE_URL = \"x-localstack-edge\"\nHEADER_LOCALSTACK_REQUEST_URL = \"x-localstack-request-url\"\nHEADER_LOCALSTACK_TARGET = \"x-localstack-target\"\nHEADER_AMZN_ERROR_TYPE = \"X-Amzn-Errortype\"\n\n# backend service ports, for services that are behind a proxy (counting down from 4566)\nDEFAULT_PORT_EDGE = 4566\n\n# host name for localhost\nLOCALHOST = \"localhost\"\nLOCALHOST_IP = \"127.0.0.1\"\nLOCALHOST_HOSTNAME = \"localhost.localstack.cloud\"\n\n# version of the Maven dependency with Java utility code\nLOCALSTACK_MAVEN_VERSION = \"0.2.16\"\n\n# map of default service APIs and ports to be spun up (fetch map from localstack_client)\nDEFAULT_SERVICE_PORTS = localstack_client.config.get_service_ports()\n\n# host to bind to when starting the services\nBIND_HOST = \"0.0.0.0\"\n\n# AWS user account ID used for tests\nif \"TEST_AWS_ACCOUNT_ID\" not in os.environ:\n    os.environ[\"TEST_AWS_ACCOUNT_ID\"] = \"000000000000\"\nTEST_AWS_ACCOUNT_ID = os.environ[\"TEST_AWS_ACCOUNT_ID\"]\n\n# root code folder\nMODULE_MAIN_PATH = os.path.dirname(os.path.realpath(__file__))\n# TODO rename to \"ROOT_FOLDER\"!\nLOCALSTACK_ROOT_FOLDER = os.path.realpath(os.path.join(MODULE_MAIN_PATH, \"..\"))\nINSTALL_DIR_INFRA = os.path.join(MODULE_MAIN_PATH, \"infra\")\n\n# virtualenv folder\nLOCALSTACK_VENV_FOLDER = os.path.join(LOCALSTACK_ROOT_FOLDER, \".venv\")\nif not os.path.isdir(LOCALSTACK_VENV_FOLDER):\n    # assuming this package lives here: <python>/lib/pythonX.X/site-packages/localstack/\n    LOCALSTACK_VENV_FOLDER = os.path.realpath(\n        os.path.join(LOCALSTACK_ROOT_FOLDER, \"..\", \"..\", \"..\")\n    )\n\n# API Gateway path to indicate a user request sent to the gateway\nPATH_USER_REQUEST = \"_user_request_\"\n\n# name of LocalStack Docker image\nDOCKER_IMAGE_NAME = \"localstack/localstack\"\nDOCKER_IMAGE_NAME_FULL = \"localstack/localstack-full\"\n\n# backdoor API path used to retrieve or update config variables\nCONFIG_UPDATE_PATH = \"/?_config_\"\n\n# environment variable name to tag local test runs\nENV_INTERNAL_TEST_RUN = \"LOCALSTACK_INTERNAL_TEST_RUN\"\n\n# environment variable that flags whether pro was activated. do not use for security purposes!\nENV_PRO_ACTIVATED = \"PRO_ACTIVATED\"\n\n# content types\nHEADER_CONTENT_TYPE = \"Content-Type\"\nAPPLICATION_AMZ_JSON_1_0 = \"application/x-amz-json-1.0\"\nAPPLICATION_AMZ_JSON_1_1 = \"application/x-amz-json-1.1\"\nAPPLICATION_AMZ_CBOR_1_1 = \"application/x-amz-cbor-1.1\"\nAPPLICATION_CBOR = \"application/cbor\"\nAPPLICATION_JSON = \"application/json\"\nAPPLICATION_XML = \"application/xml\"\nAPPLICATION_OCTET_STREAM = \"application/octet-stream\"\nAPPLICATION_X_WWW_FORM_URLENCODED = \"application/x-www-form-urlencoded\"\n\n# strings to indicate truthy/falsy values\nTRUE_STRINGS = (\"1\", \"true\", \"True\")\nFALSE_STRINGS = (\"0\", \"false\", \"False\")\n# strings with valid log levels for LS_LOG\nLOG_LEVELS = (\"trace-internal\", \"trace\", \"debug\", \"info\", \"warn\", \"error\", \"warning\")\n\n# Lambda defaults\nLAMBDA_TEST_ROLE = \"arn:aws:iam::%s:role/lambda-test-role\" % TEST_AWS_ACCOUNT_ID\n\n# installation constants\nELASTICSEARCH_URLS = {\n    \"7.10.0\": \"https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-linux-x86_64.tar.gz\",\n    \"7.7.0\": \"https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz\",\n    \"7.4.0\": \"https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-linux-x86_64.tar.gz\",\n    \"7.1.0\": \"https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.0-linux-x86_64.tar.gz\",\n    \"6.7.0\": \"https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.zip\",\n}\nELASTICSEARCH_DEFAULT_VERSION = \"7.10.0\"\n# See https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/aes-supported-plugins.html\nELASTICSEARCH_PLUGIN_LIST = [\n    \"analysis-icu\",\n    \"ingest-attachment\",\n    \"analysis-kuromoji\",\n    \"mapper-murmur3\",\n    \"mapper-size\",\n    \"analysis-phonetic\",\n    \"analysis-smartcn\",\n    \"analysis-stempel\",\n    \"analysis-ukrainian\",\n]\n# Default ES modules to exclude (save apprx 66MB in the final image)\nELASTICSEARCH_DELETE_MODULES = [\"ingest-geoip\"]\nELASTICMQ_JAR_URL = (\n    \"https://s3-eu-west-1.amazonaws.com/softwaremill-public/elasticmq-server-1.1.0.jar\"\n)\nSTS_JAR_URL = \"https://repo1.maven.org/maven2/com/amazonaws/aws-java-sdk-sts/1.11.14/aws-java-sdk-sts-1.11.14.jar\"\nSTEPFUNCTIONS_ZIP_URL = \"https://s3.amazonaws.com/stepfunctionslocal/StepFunctionsLocal.zip\"\nKMS_URL_PATTERN = \"https://s3-eu-west-2.amazonaws.com/local-kms/localstack/v3/local-kms.<arch>.bin\"\n\n# TODO: Temporarily using a fixed version of DDB in Alpine, as we're hitting a SIGSEGV JVM crash with latest\nDYNAMODB_JAR_URL_ALPINE = \"https://github.com/localstack/localstack-artifacts/raw/master/dynamodb-local-patch/etc/DynamoDBLocal.zip\"\nDYNAMODB_JAR_URL = \"https://s3-us-west-2.amazonaws.com/dynamodb-local/dynamodb_local_latest.zip\"\n\n# API endpoint for analytics events\nAPI_ENDPOINT = os.environ.get(\"API_ENDPOINT\") or \"https://api.localstack.cloud/v1\"\n# new analytics API endpoint\nANALYTICS_API = os.environ.get(\"ANALYTICS_API\") or \"https://analytics.localstack.cloud/v0\"\n\n# environment variable to indicates that this process is running the Web UI\nLOCALSTACK_WEB_PROCESS = \"LOCALSTACK_WEB_PROCESS\"\nLOCALSTACK_INFRA_PROCESS = \"LOCALSTACK_INFRA_PROCESS\"\n\n# hardcoded AWS account ID used by moto\nMOTO_ACCOUNT_ID = TEST_AWS_ACCOUNT_ID\n# fix moto account ID - note: keep this at the top level here\ntry:\n    from moto import core as moto_core\n    from moto.core import models as moto_core_models\n\n    moto_core.ACCOUNT_ID = moto_core_models.ACCOUNT_ID = MOTO_ACCOUNT_ID\nexcept Exception:\n    # ignore import errors\n    pass\n\n# default AWS region us-east-1\nAWS_REGION_US_EAST_1 = \"us-east-1\"\n\n# default lambda registry\nDEFAULT_LAMBDA_CONTAINER_REGISTRY = \"lambci/lambda\"\n\n# environment variable to override max pool connections\ntry:\n    MAX_POOL_CONNECTIONS = int(os.environ[\"MAX_POOL_CONNECTIONS\"])\nexcept Exception:\n    MAX_POOL_CONNECTIONS = 150\n\n# test credentials used for generating signature for S3 presigned URLs (to be used by external clients)\nTEST_AWS_ACCESS_KEY_ID = \"test\"\nTEST_AWS_SECRET_ACCESS_KEY = \"test\"\n\n# credentials being used for internal calls\nINTERNAL_AWS_ACCESS_KEY_ID = \"__internal_call__\"\nINTERNAL_AWS_SECRET_ACCESS_KEY = \"__internal_call__\"\n\n# trace log levels (excluding/including internal API calls), configurable via $LS_LOG\nLS_LOG_TRACE = \"trace\"\nLS_LOG_TRACE_INTERNAL = \"trace-internal\"\nTRACE_LOG_LEVELS = [LS_LOG_TRACE, LS_LOG_TRACE_INTERNAL]\n\n# list of official docker images\nOFFICIAL_IMAGES = [\n    \"localstack/localstack\",\n    \"localstack/localstack-light\",\n    \"localstack/localstack-full\",\n]\n\n# s3 virtual host name\nS3_VIRTUAL_HOSTNAME = \"s3.%s\" % LOCALHOST_HOSTNAME\nS3_STATIC_WEBSITE_HOSTNAME = \"s3-website.%s\" % LOCALHOST_HOSTNAME\n\n# port for debug py\nDEFAULT_DEVELOP_PORT = 5678\n\n# Default bucket name of the s3 bucket used for local lambda development\nDEFAULT_BUCKET_MARKER_LOCAL = \"__local__\"\n\n# user that starts the elasticsearch process if the current user is root\nOS_USER_ELASTICSEARCH = \"localstack\"\n", "path": "localstack/constants.py"}], "after_files": [{"content": "import os\n\nimport localstack_client.config\n\nimport localstack\n\n# LocalStack version\nVERSION = localstack.__version__\n\n# constant to represent the \"local\" region, i.e., local machine\nREGION_LOCAL = \"local\"\n\n# dev environment\nENV_DEV = \"dev\"\n\n# HTTP headers used to forward proxy request URLs\nHEADER_LOCALSTACK_EDGE_URL = \"x-localstack-edge\"\nHEADER_LOCALSTACK_REQUEST_URL = \"x-localstack-request-url\"\nHEADER_LOCALSTACK_TARGET = \"x-localstack-target\"\nHEADER_AMZN_ERROR_TYPE = \"X-Amzn-Errortype\"\n\n# backend service ports, for services that are behind a proxy (counting down from 4566)\nDEFAULT_PORT_EDGE = 4566\n\n# host name for localhost\nLOCALHOST = \"localhost\"\nLOCALHOST_IP = \"127.0.0.1\"\nLOCALHOST_HOSTNAME = \"localhost.localstack.cloud\"\n\n# version of the Maven dependency with Java utility code\nLOCALSTACK_MAVEN_VERSION = \"0.2.17\"\n\n# map of default service APIs and ports to be spun up (fetch map from localstack_client)\nDEFAULT_SERVICE_PORTS = localstack_client.config.get_service_ports()\n\n# host to bind to when starting the services\nBIND_HOST = \"0.0.0.0\"\n\n# AWS user account ID used for tests\nif \"TEST_AWS_ACCOUNT_ID\" not in os.environ:\n    os.environ[\"TEST_AWS_ACCOUNT_ID\"] = \"000000000000\"\nTEST_AWS_ACCOUNT_ID = os.environ[\"TEST_AWS_ACCOUNT_ID\"]\n\n# root code folder\nMODULE_MAIN_PATH = os.path.dirname(os.path.realpath(__file__))\n# TODO rename to \"ROOT_FOLDER\"!\nLOCALSTACK_ROOT_FOLDER = os.path.realpath(os.path.join(MODULE_MAIN_PATH, \"..\"))\nINSTALL_DIR_INFRA = os.path.join(MODULE_MAIN_PATH, \"infra\")\n\n# virtualenv folder\nLOCALSTACK_VENV_FOLDER = os.path.join(LOCALSTACK_ROOT_FOLDER, \".venv\")\nif not os.path.isdir(LOCALSTACK_VENV_FOLDER):\n    # assuming this package lives here: <python>/lib/pythonX.X/site-packages/localstack/\n    LOCALSTACK_VENV_FOLDER = os.path.realpath(\n        os.path.join(LOCALSTACK_ROOT_FOLDER, \"..\", \"..\", \"..\")\n    )\n\n# API Gateway path to indicate a user request sent to the gateway\nPATH_USER_REQUEST = \"_user_request_\"\n\n# name of LocalStack Docker image\nDOCKER_IMAGE_NAME = \"localstack/localstack\"\nDOCKER_IMAGE_NAME_FULL = \"localstack/localstack-full\"\n\n# backdoor API path used to retrieve or update config variables\nCONFIG_UPDATE_PATH = \"/?_config_\"\n\n# environment variable name to tag local test runs\nENV_INTERNAL_TEST_RUN = \"LOCALSTACK_INTERNAL_TEST_RUN\"\n\n# environment variable that flags whether pro was activated. do not use for security purposes!\nENV_PRO_ACTIVATED = \"PRO_ACTIVATED\"\n\n# content types\nHEADER_CONTENT_TYPE = \"Content-Type\"\nAPPLICATION_AMZ_JSON_1_0 = \"application/x-amz-json-1.0\"\nAPPLICATION_AMZ_JSON_1_1 = \"application/x-amz-json-1.1\"\nAPPLICATION_AMZ_CBOR_1_1 = \"application/x-amz-cbor-1.1\"\nAPPLICATION_CBOR = \"application/cbor\"\nAPPLICATION_JSON = \"application/json\"\nAPPLICATION_XML = \"application/xml\"\nAPPLICATION_OCTET_STREAM = \"application/octet-stream\"\nAPPLICATION_X_WWW_FORM_URLENCODED = \"application/x-www-form-urlencoded\"\n\n# strings to indicate truthy/falsy values\nTRUE_STRINGS = (\"1\", \"true\", \"True\")\nFALSE_STRINGS = (\"0\", \"false\", \"False\")\n# strings with valid log levels for LS_LOG\nLOG_LEVELS = (\"trace-internal\", \"trace\", \"debug\", \"info\", \"warn\", \"error\", \"warning\")\n\n# Lambda defaults\nLAMBDA_TEST_ROLE = \"arn:aws:iam::%s:role/lambda-test-role\" % TEST_AWS_ACCOUNT_ID\n\n# installation constants\nELASTICSEARCH_URLS = {\n    \"7.10.0\": \"https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-linux-x86_64.tar.gz\",\n    \"7.7.0\": \"https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz\",\n    \"7.4.0\": \"https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-linux-x86_64.tar.gz\",\n    \"7.1.0\": \"https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.0-linux-x86_64.tar.gz\",\n    \"6.7.0\": \"https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.zip\",\n}\nELASTICSEARCH_DEFAULT_VERSION = \"7.10.0\"\n# See https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/aes-supported-plugins.html\nELASTICSEARCH_PLUGIN_LIST = [\n    \"analysis-icu\",\n    \"ingest-attachment\",\n    \"analysis-kuromoji\",\n    \"mapper-murmur3\",\n    \"mapper-size\",\n    \"analysis-phonetic\",\n    \"analysis-smartcn\",\n    \"analysis-stempel\",\n    \"analysis-ukrainian\",\n]\n# Default ES modules to exclude (save apprx 66MB in the final image)\nELASTICSEARCH_DELETE_MODULES = [\"ingest-geoip\"]\nELASTICMQ_JAR_URL = (\n    \"https://s3-eu-west-1.amazonaws.com/softwaremill-public/elasticmq-server-1.1.0.jar\"\n)\nSTS_JAR_URL = \"https://repo1.maven.org/maven2/com/amazonaws/aws-java-sdk-sts/1.11.14/aws-java-sdk-sts-1.11.14.jar\"\nSTEPFUNCTIONS_ZIP_URL = \"https://s3.amazonaws.com/stepfunctionslocal/StepFunctionsLocal.zip\"\nKMS_URL_PATTERN = \"https://s3-eu-west-2.amazonaws.com/local-kms/localstack/v3/local-kms.<arch>.bin\"\n\n# TODO: Temporarily using a fixed version of DDB in Alpine, as we're hitting a SIGSEGV JVM crash with latest\nDYNAMODB_JAR_URL_ALPINE = \"https://github.com/localstack/localstack-artifacts/raw/master/dynamodb-local-patch/etc/DynamoDBLocal.zip\"\nDYNAMODB_JAR_URL = \"https://s3-us-west-2.amazonaws.com/dynamodb-local/dynamodb_local_latest.zip\"\n\n# API endpoint for analytics events\nAPI_ENDPOINT = os.environ.get(\"API_ENDPOINT\") or \"https://api.localstack.cloud/v1\"\n# new analytics API endpoint\nANALYTICS_API = os.environ.get(\"ANALYTICS_API\") or \"https://analytics.localstack.cloud/v0\"\n\n# environment variable to indicates that this process is running the Web UI\nLOCALSTACK_WEB_PROCESS = \"LOCALSTACK_WEB_PROCESS\"\nLOCALSTACK_INFRA_PROCESS = \"LOCALSTACK_INFRA_PROCESS\"\n\n# hardcoded AWS account ID used by moto\nMOTO_ACCOUNT_ID = TEST_AWS_ACCOUNT_ID\n# fix moto account ID - note: keep this at the top level here\ntry:\n    from moto import core as moto_core\n    from moto.core import models as moto_core_models\n\n    moto_core.ACCOUNT_ID = moto_core_models.ACCOUNT_ID = MOTO_ACCOUNT_ID\nexcept Exception:\n    # ignore import errors\n    pass\n\n# default AWS region us-east-1\nAWS_REGION_US_EAST_1 = \"us-east-1\"\n\n# default lambda registry\nDEFAULT_LAMBDA_CONTAINER_REGISTRY = \"lambci/lambda\"\n\n# environment variable to override max pool connections\ntry:\n    MAX_POOL_CONNECTIONS = int(os.environ[\"MAX_POOL_CONNECTIONS\"])\nexcept Exception:\n    MAX_POOL_CONNECTIONS = 150\n\n# test credentials used for generating signature for S3 presigned URLs (to be used by external clients)\nTEST_AWS_ACCESS_KEY_ID = \"test\"\nTEST_AWS_SECRET_ACCESS_KEY = \"test\"\n\n# credentials being used for internal calls\nINTERNAL_AWS_ACCESS_KEY_ID = \"__internal_call__\"\nINTERNAL_AWS_SECRET_ACCESS_KEY = \"__internal_call__\"\n\n# trace log levels (excluding/including internal API calls), configurable via $LS_LOG\nLS_LOG_TRACE = \"trace\"\nLS_LOG_TRACE_INTERNAL = \"trace-internal\"\nTRACE_LOG_LEVELS = [LS_LOG_TRACE, LS_LOG_TRACE_INTERNAL]\n\n# list of official docker images\nOFFICIAL_IMAGES = [\n    \"localstack/localstack\",\n    \"localstack/localstack-light\",\n    \"localstack/localstack-full\",\n]\n\n# s3 virtual host name\nS3_VIRTUAL_HOSTNAME = \"s3.%s\" % LOCALHOST_HOSTNAME\nS3_STATIC_WEBSITE_HOSTNAME = \"s3-website.%s\" % LOCALHOST_HOSTNAME\n\n# port for debug py\nDEFAULT_DEVELOP_PORT = 5678\n\n# Default bucket name of the s3 bucket used for local lambda development\nDEFAULT_BUCKET_MARKER_LOCAL = \"__local__\"\n\n# user that starts the elasticsearch process if the current user is root\nOS_USER_ELASTICSEARCH = \"localstack\"\n", "path": "localstack/constants.py"}]}