8000 Merge branch 'master' into use-java-package · localstack/localstack@207477f · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 207477f

Browse files
Merge branch 'master' into use-java-package
2 parents 00f90dc + 68366d1 commit 207477f

File tree

12 files changed

+33
-20
lines changed

12 files changed

+33
-20
lines changed

Dockerfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,12 +154,18 @@ RUN SETUPTOOLS_SCM_PRETEND_VERSION_FOR_LOCALSTACK_CORE=${LOCALSTACK_BUILD_VERSIO
154154
RUN --mount=type=cache,target=/root/.cache \
155155
--mount=type=cache,target=/var/lib/localstack/cache \
156156
source .venv/bin/activate && \
157+
python -m localstack.cli.lpm install java --version 11 && \
157158
python -m localstack.cli.lpm install \
158159
lambda-runtime \
159160
dynamodb-local && \
160161
chown -R localstack:localstack /usr/lib/localstack && \
161162
chmod -R 777 /usr/lib/localstack
162163

164+
# Set up Java
165+
ENV JAVA_HOME /usr/lib/localstack/java/11
166+
RUN ln -s $JAVA_HOME/bin/java /usr/bin/java
167+
ENV PATH="${PATH}:${JAVA_HOME}/bin"
168+
163169
# link the python package installer virtual environments into the localstack venv
164170
RUN echo /var/lib/localstack/lib/python-packages/lib/python3.11/site-packages > localstack-var-python-packages-venv.pth && \
165171
mv localstack-var-python-packages-venv.pth .venv/lib/python*/site-packages/

localstack-core/localstack/constants.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
LOCALHOST_IP = "127.0.0.1"
2121
LOCALHOST_HOSTNAME = "localhost.localstack.cloud"
2222

23+
# User-agent string used in outgoing HTTP requests made by LocalStack
24+
USER_AGENT_STRING = f"localstack/{VERSION}"
25+
2326
# version of the Maven dependency with Java utility code
2427
LOCALSTACK_MAVEN_VERSION = "0.2.21"
2528
MAVEN_REPO_URL = "https://repo1.maven.org/maven2"

localstack-core/localstack/packages/java.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import requests
66

7+
from localstack.constants import USER_AGENT_STRING
78
from localstack.packages import InstallTarget, Package
89
from localstack.packages.core import ArchiveDownloadAndExtractInstaller
910
from localstack.utils.files import rm_rf
@@ -100,7 +101,8 @@ def _download_url_latest_release(self) -> str:
100101
f"https://api.adoptium.net/v3/assets/latest/{self.version}/hotspot?"
101102
f"os=linux&architecture={self.arch}&image_type=jdk"
102103
)
103-
response = requests.get(endpoint, headers={"user-agent": "example/0.0.0"}).json()
104+
# Override user-agent because Adoptium API denies service to `requests` library
105+
response = requests.get(endpoint, headers={"user-agent": USER_AGENT_STRING}).json()
104106
return response[0]["binary"]["package"]["link"]
105107

106108
def _download_url_fallback(self) -> str:

localstack-core/localstack/services/lambda_/event_source_mapping/senders/lambda_sender.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ def send_events(self, events: list[dict]) -> dict:
4949
**optional_qualifier,
5050
)
5151
payload = json.load(invoke_result["Payload"])
52-
if "FunctionError" in invoke_result:
53-
function_error = invoke_result["FunctionError"]
52+
if function_error := invoke_result.get("FunctionError"):
5453
LOG.debug(
5554
"Pipe target function %s failed with FunctionError %s. Payload: %s",
5655
self.target_arn,
@@ -85,8 +84,6 @@ def send_events(self, events: list[dict]) -> dict:
8584
"requestId": invoke_result["ResponseMetadata"]["RequestId"],
8685
"exceptionType": "BadRequest",
8786
"resourceArn": self.target_arn,
88-
"functionError": function_error,
89-
"executedVersion": invoke_result.get("ExecutedVersion", "$LATEST"),
9087
}
9188
raise PartialFailureSenderError(error=error, partial_failure_payload=payload)
9289

localstack-core/localstack/utils/aws/client_types.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
from mypy_boto3_opensearch import OpenSearchServiceClient
7676
from mypy_boto3_organizations import OrganizationsClient
7777
from mypy_boto3_pi import PIClient
78+
from mypy_boto3_pinpoint import PinpointClient
7879
from mypy_boto3_pipes import EventBridgePipesClient
7980
from mypy_boto3_qldb import QLDBClient
8081
from mypy_boto3_qldb_session import QLDBSessionClient
@@ -196,6 +197,7 @@ class TypedServiceClientFactory(abc.ABC):
196197
opensearch: Union["OpenSearchServiceClient", "MetadataRequestInjector[OpenSearchServiceClient]"]
197198
organizations: Union["OrganizationsClient", "MetadataRequestInjector[OrganizationsClient]"]
198199
pi: Union["PIClient", "MetadataRequestInjector[PIClient]"]
200+
pinpoint: Union["PinpointClient", "MetadataRequestInjector[PinpointClient]"]
199201
pipes: Union["EventBridgePipesClient", "MetadataRequestInjector[EventBridgePipesClient]"]
200202
qldb: Union["QLDBClient", "MetadataRequestInjector[QLDBClient]"]
201203
qldb_session: Union["QLDBSessionClient", "MetadataRequestInjector[QLDBSessionClient]"]

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ typehint = [
137137
# typehint is an optional extension of the dev dependencies
138138
"localstack-core[dev]",
139139
# pinned / updated by ASF update action
140-
"boto3-stubs[acm,acm-pca,amplify,apigateway,apigatewayv2,appconfig,appconfigdata,application-autoscaling,appsync,athena,autoscaling,backup,batch,ce,cloudcontrol,cloudformation,cloudfront,cloudtrail,cloudwatch,codecommit,cognito-identity,cognito-idp,dms,docdb,dynamodb,dynamodbstreams,ec2,ecr,ecs,efs,eks,elasticache,elasticbeanstalk,elbv2,emr,emr-serverless,es,events,firehose,fis,glacier,glue,iam,identitystore,iot,iot-data,iotanalytics,iotwireless,kafka,kinesis,kinesisanalytics,kinesisanalyticsv2,kms,lakeformation,lambda,logs,managedblockchain,mediaconvert,mediastore,mq,mwaa,neptune,opensearch,organizations,pi,pipes,qldb,qldb-session,rds,rds-data,redshift,redshift-data,resource-groups,resourcegroupstaggingapi,route53,route53resolver,s3,s3control,sagemaker,sagemaker-runtime,secretsmanager,serverlessrepo,servicediscovery,ses,sesv2,sns,sqs,ssm,sso-admin,stepfunctions,sts,timestream-query,timestream-write,transcribe,wafv2,xray]",
140+
"boto3-stubs[acm,acm-pca,amplify,apigateway,apigatewayv2,appconfig,appconfigdata,application-autoscaling,appsync,athena,autoscaling,backup,batch,ce,cloudcontrol,cloudformation,cloudfront,cloudtrail,cloudwatch,codecommit,cognito-identity,cognito-idp,dms,docdb,dynamodb,dynamodbstreams,ec2,ecr,ecs,efs,eks,elasticache,elasticbeanstalk,elbv2,emr,emr-serverless,es,events,firehose,fis,glacier,glue,iam,identitystore,iot,iot-data,iotanalytics,iotwireless,kafka,kinesis,kinesisanalytics,kinesisanalyticsv2,kms,lakeformation,lambda,logs,managedblockchain,mediaconvert,mediastore,mq,mwaa,neptune,opensearch,organizations,pi,pipes,pinpoint,qldb,qldb-session,rds,rds-data,redshift,redshift-data,resource-groups,resourcegroupstaggingapi,route53,route53resolver,s3,s3control,sagemaker,sagemaker-runtime,secretsmanager,serverlessrepo,servicediscovery,ses,sesv2,sns,sqs,ssm,sso-admin,stepfunctions,sts,timestream-query,timestream-write,transcribe,wafv2,xray]",
141141
]
142142

143143
[tool.setuptools]

requirements-base-runtime.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ requests-aws4auth==1.3.1
162162
# via localstack-core (pyproject.toml)
163163
rfc3339-validator==0.1.4
164164
# via openapi-schema-validator
165-
rich==13.8.0
165+
rich==13.8.1
166166
# via localstack-core (pyproject.toml)
167167
rolo==0.7.1
168168
# via localstack-core (pyproject.toml)

requirements-basic.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ pyyaml==6.0.2
4848
# via localstack-core (pyproject.toml)
4949
requests==2.32.3
5050
# via localstack-core (pyproject.toml)
51-
rich==13.8.0
51+
rich==13.8.1
5252
# via localstack-core (pyproject.toml)
5353
semver==3.0.2
5454
# via localstack-core (pyproject.toml)

requirements-dev.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ pyparsing==3.1.4
355355
# via moto-ext
356356
pyproject-hooks==1.1.0
357357
# via build
358-
pytest==8.3.2
358+
pytest==8.3.3
359359
# via
360360
# localstack-core
361361
# pytest-rerunfailures
@@ -418,7 +418,7 @@ responses==0.25.3
418418
# via moto-ext
419419
rfc3339-validator==0.1.4
420420
# via openapi-schema-validator
421-
rich==13.8.0
421+
rich==13.8.1
422422
# via
423423
# localstack-core
424424
# localstack-core (pyproject.toml)

requirements-runtime.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ responses==0.25.3
302302
# via moto-ext
303303
rfc3339-validator==0.1.4
304304
# via openapi-schema-validator
305-
rich==13.8.0
305+
rich==13.8.1
306306
# via
307307
# localstack-core
308308
# localstack-core (pyproject.toml)

requirements-test.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ pyparsing==3.1.4
323323
# via moto-ext
324324
pyproject-hooks==1.1.0
325325
# via build
326-
pytest==8.3.2
326+
pytest==8.3.3
327327
# via
328328
# localstack-core (pyproject.toml)
329329
# pytest-rerunfailures
@@ -384,7 +384,7 @@ responses==0.25.3
384384
# via moto-ext
385385
rfc3339-validator==0.1.4
386386
# via openapi-schema-validator
387-
rich==13.8.0
387+
rich==13.8.1
388388
# via
389389
# localstack-core
390390
# localstack-core (pyproject.toml)

requirements-typehint.txt

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ boto3==1.35.14
5353
# aws-sam-translator
5454
# localstack-core
5555
# moto-ext
56-
boto3-stubs==1.35.15
56+
boto3-stubs==1.35.16
5757
# via localstack-core (pyproject.toml)
5858
botocore==1.35.14
5959
# via
@@ -64,7 +64,7 @@ botocore==1.35.14
6464
# localstack-snapshot
6565
# moto-ext
6666
# s3transfer
67-
botocore-stubs==1.35.15
67+
botocore-stubs==1.35.16
6868
# via boto3-stubs
6969
build==1.2.2
7070
# via
@@ -305,7 +305,7 @@ mypy-boto3-cloudwatch==1.35.0
305305
# via boto3-stubs
306306
mypy-boto3-codecommit==1.35.0
307307
# via boto3-stubs
308-
mypy-boto3-cognito-identity==1.35.0
308+
mypy-boto3-cognito-identity==1.35.16
309309
# via boto3-stubs
310310
mypy-boto3-cognito-idp==1.35.0
311311
# via boto3-stubs
@@ -395,7 +395,9 @@ mypy-boto3-organizations==1.35.5
395395
# via boto3-stubs
396396
mypy-boto3-pi==1.35.0
397397
# via boto3-stubs
398-
mypy-boto3-pipes==1.35.0
398+
mypy-boto3-pinpoint==1.35.0
399+
# via boto3-stubs
400+
mypy-boto3-pipes==1.35.16
399401
# via boto3-stubs
400402
mypy-boto3-qldb==1.35.0
401403
# via boto3-stubs
@@ -417,7 +419,7 @@ mypy-boto3-route53==1.35.4
417419
# via boto3-stubs
418420
mypy-boto3-route53resolver==1.35.0
419421
# via boto3-stubs
420-
mypy-boto3-s3==1.35.2
422+
mypy-boto3-s3==1.35.16
421423
# via boto3-stubs
422424
mypy-boto3-s3control==1.35.12
423425
# via boto3-stubs
@@ -551,7 +553,7 @@ pyparsing==3.1.4
551553
# via moto-ext
552554
pyproject-hooks==1.1.0
553555
# via build
554-
pytest==8.3.2
556+
pytest==8.3.3
555557
# via
556558
# localstack-core
557559
# pytest-rerunfailures
@@ -614,7 +616,7 @@ responses==0.25.3
614616
# via moto-ext
615617
rfc3339-validator==0.1.4
616618
# via openapi-schema-validator
617-
rich==13.8.0
619+
rich==13.8.1
618620
# via
619621
# localstack-core
620622
# localstack-core (pyproject.toml)
@@ -740,6 +742,7 @@ typing-extensions==4.12.2
740742
# mypy-boto3-opensearch
741743
# mypy-boto3-organizations
742744
# mypy-boto3-pi
745+
# mypy-boto3-pinpoint
743746
# mypy-boto3-pipes
744747
# mypy-boto3-qldb
745748
# mypy-boto3-qldb-session

0 commit comments

Comments
 (0)
0