Skip to content

Commit 30596fe

Browse files
authored
fix(lambda): corrected environment variable naming for params and secrets extension (#26016)
This PR corrects a bug where environment variable keys being generated as part of the lambda parameters and secrets extension were being generated at 'PARAMETERS_AND_SECRETS_...' instead of 'PARAMETERS_SECRETS_...'. Note: existing unit tests were updated to reflect changes to environment variable keys. Closes #26011 ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent acfdbfa commit 30596fe

File tree

10 files changed

+95
-90
lines changed

10 files changed

+95
-90
lines changed

packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.params-and-secrets.js.snapshot/Stack1.assets.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
}
1515
}
1616
},
17-
"64fb6d6ac3e1f7cda4cb6336b78f1be8f0e1f6c6323b232c8e04430a803085a2": {
17+
"750190a0dbe80dfcab9c761fced7db8ca431c751df10b9c2aa9e73d18a6f1414": {
1818
"source": {
1919
"path": "Stack1.template.json",
2020
"packaging": "file"
2121
},
2222
"destinations": {
2323
"current_account-current_region": {
2424
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
25-
"objectKey": "64fb6d6ac3e1f7cda4cb6336b78f1be8f0e1f6c6323b232c8e04430a803085a2.json",
25+
"objectKey": "750190a0dbe80dfcab9c761fced7db8ca431c751df10b9c2aa9e73d18a6f1414.json",
2626
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
2727
}
2828
}

packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.params-and-secrets.js.snapshot/Stack1.template.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -125,11 +125,11 @@
125125
],
126126
"Environment": {
127127
"Variables": {
128-
"PARAMETERS_AND_SECRETS_EXTENSION_CACHE_ENABLED": "true",
129-
"PARAMETERS_AND_SECRETS_EXTENSION_CACHE_SIZE": "100",
130-
"PARAMETERS_AND_SECRETS_EXTENSION_HTTP_PORT": "2773",
131-
"PARAMETERS_AND_SECRETS_EXTENSION_LOG_LEVEL": "info",
132-
"PARAMETERS_AND_SECRETS_EXTENSION_MAX_CONNECTIONS": "3",
128+
"PARAMETERS_SECRETS_EXTENSION_CACHE_ENABLED": "true",
129+
"PARAMETERS_SECRETS_EXTENSION_CACHE_SIZE": "100",
130+
"PARAMETERS_SECRETS_EXTENSION_HTTP_PORT": "8080",
131+
"PARAMETERS_SECRETS_EXTENSION_LOG_LEVEL": "debug",
132+
"PARAMETERS_SECRETS_EXTENSION_MAX_CONNECTIONS": "5",
133133
"SECRETS_MANAGER_TIMEOUT_MILLIS": "0",
134134
"SECRETS_MANAGER_TTL": "100",
135135
"SSM_PARAMETER_STORE_TIMEOUT_MILLIS": "0",

packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.params-and-secrets.js.snapshot/Stack2.assets.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
}
1515
}
1616
},
17-
"6e1695d4618774814bd2b919c4dfbc4e9eee44fc0caea11b6c60b543848088a8": {
17+
"fc5442e0fcfb1c7fdef66ec049ee0905d02bb13f4fc9fbeb317bec60ec5fef09": {
1818
"source": {
1919
"path": "Stack2.template.json",
2020
"packaging": "file"
2121
},
2222
"destinations": {
2323
"current_account-current_region": {
2424
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
25-
"objectKey": "6e1695d4618774814bd2b919c4dfbc4e9eee44fc0caea11b6c60b543848088a8.json",
25+
"objectKey": "fc5442e0fcfb1c7fdef66ec049ee0905d02bb13f4fc9fbeb317bec60ec5fef09.json",
2626
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
2727
}
2828
}

packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.params-and-secrets.js.snapshot/Stack2.template.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -125,11 +125,11 @@
125125
],
126126
"Environment": {
127127
"Variables": {
128-
"PARAMETERS_AND_SECRETS_EXTENSION_CACHE_ENABLED": "true",
129-
"PARAMETERS_AND_SECRETS_EXTENSION_CACHE_SIZE": "100",
130-
"PARAMETERS_AND_SECRETS_EXTENSION_HTTP_PORT": "2773",
131-
"PARAMETERS_AND_SECRETS_EXTENSION_LOG_LEVEL": "info",
132-
"PARAMETERS_AND_SECRETS_EXTENSION_MAX_CONNECTIONS": "3",
128+
"PARAMETERS_SECRETS_EXTENSION_CACHE_ENABLED": "true",
129+
"PARAMETERS_SECRETS_EXTENSION_CACHE_SIZE": "100",
130+
"PARAMETERS_SECRETS_EXTENSION_HTTP_PORT": "8080",
131+
"PARAMETERS_SECRETS_EXTENSION_LOG_LEVEL": "debug",
132+
"PARAMETERS_SECRETS_EXTENSION_MAX_CONNECTIONS": "5",
133133
"SECRETS_MANAGER_TIMEOUT_MILLIS": "0",
134134
"SECRETS_MANAGER_TTL": "100",
135135
"SSM_PARAMETER_STORE_TIMEOUT_MILLIS": "0",

packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.params-and-secrets.js.snapshot/manifest.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"validateOnSynth": false,
1818
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
1919
"cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
20-
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/64fb6d6ac3e1f7cda4cb6336b78f1be8f0e1f6c6323b232c8e04430a803085a2.json",
20+
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/750190a0dbe80dfcab9c761fced7db8ca431c751df10b9c2aa9e73d18a6f1414.json",
2121
"requiresBootstrapStackVersion": 6,
2222
"bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
2323
"additionalDependencies": [
@@ -100,7 +100,7 @@
100100
"validateOnSynth": false,
101101
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
102102
"cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
103-
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/6e1695d4618774814bd2b919c4dfbc4e9eee44fc0caea11b6c60b543848088a8.json",
103+
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/fc5442e0fcfb1c7fdef66ec049ee0905d02bb13f4fc9fbeb317bec60ec5fef09.json",
104104
"requiresBootstrapStackVersion": 6,
105105
"bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
106106
"additionalDependencies": [

packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.params-and-secrets.js.snapshot/tree.json

+12-12
Original file line numberDiff line numberDiff line change
@@ -244,11 +244,11 @@
244244
],
245245
"environment": {
246246
"variables": {
247-
"PARAMETERS_AND_SECRETS_EXTENSION_CACHE_ENABLED": "true",
248-
"PARAMETERS_AND_SECRETS_EXTENSION_CACHE_SIZE": "100",
249-
"PARAMETERS_AND_SECRETS_EXTENSION_HTTP_PORT": "2773",
250-
"PARAMETERS_AND_SECRETS_EXTENSION_LOG_LEVEL": "info",
251-
"PARAMETERS_AND_SECRETS_EXTENSION_MAX_CONNECTIONS": "3",
247+
"PARAMETERS_SECRETS_EXTENSION_CACHE_ENABLED": "true",
248+
"PARAMETERS_SECRETS_EXTENSION_CACHE_SIZE": "100",
249+
"PARAMETERS_SECRETS_EXTENSION_HTTP_PORT": "8080",
250+
"PARAMETERS_SECRETS_EXTENSION_LOG_LEVEL": "debug",
251+
"PARAMETERS_SECRETS_EXTENSION_MAX_CONNECTIONS": "5",
252252
"SECRETS_MANAGER_TIMEOUT_MILLIS": "0",
253253
"SECRETS_MANAGER_TTL": "100",
254254
"SSM_PARAMETER_STORE_TIMEOUT_MILLIS": "0",
@@ -559,11 +559,11 @@
559559
],
560560
"environment": {
561561
"variables": {
562-
"PARAMETERS_AND_SECRETS_EXTENSION_CACHE_ENABLED": "true",
563-
"PARAMETERS_AND_SECRETS_EXTENSION_CACHE_SIZE": "100",
564-
"PARAMETERS_AND_SECRETS_EXTENSION_HTTP_PORT": "2773",
565-
"PARAMETERS_AND_SECRETS_EXTENSION_LOG_LEVEL": "info",
566-
"PARAMETERS_AND_SECRETS_EXTENSION_MAX_CONNECTIONS": "3",
562+
"PARAMETERS_SECRETS_EXTENSION_CACHE_ENABLED": "true",
563+
"PARAMETERS_SECRETS_EXTENSION_CACHE_SIZE": "100",
564+
"PARAMETERS_SECRETS_EXTENSION_HTTP_PORT": "8080",
565+
"PARAMETERS_SECRETS_EXTENSION_LOG_LEVEL": "debug",
566+
"PARAMETERS_SECRETS_EXTENSION_MAX_CONNECTIONS": "5",
567567
"SECRETS_MANAGER_TIMEOUT_MILLIS": "0",
568568
"SECRETS_MANAGER_TTL": "100",
569569
"SSM_PARAMETER_STORE_TIMEOUT_MILLIS": "0",
@@ -647,7 +647,7 @@
647647
"path": "IntegTest/DefaultTest/Default",
648648
"constructInfo": {
649649
"fqn": "constructs.Construct",
650-
"version": "10.2.26"
650+
"version": "10.2.52"
651651
}
652652
},
653653
"DeployAssert": {
@@ -693,7 +693,7 @@
693693
"path": "Tree",
694694
"constructInfo": {
695695
"fqn": "constructs.Construct",
696-
"version": "10.2.26"
696+
"version": "10.2.52"
697697
}
698698
}
699699
},

packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/integ.params-and-secrets.ts

+5
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
Code,
1313
ParamsAndSecretsLayerVersion,
1414
ParamsAndSecretsVersions,
15+
ParamsAndSecretsLogLevel,
1516
} from 'aws-cdk-lib/aws-lambda';
1617

1718
const app = new cdk.App();
@@ -32,6 +33,10 @@ class StackUnderTest extends Stack {
3233

3334
const paramsAndSecrets = ParamsAndSecretsLayerVersion.fromVersion(ParamsAndSecretsVersions.V1_0_103, {
3435
cacheSize: 100,
36+
cacheEnabled: true,
37+
httpPort: 8080,
38+
logLevel: ParamsAndSecretsLogLevel.DEBUG,
39+
maxConnections: 5,
3540
secretsManagerTtl: cdk.Duration.seconds(100),
3641
parameterStoreTtl: cdk.Duration.seconds(100),
3742
});

packages/@aws-cdk-testing/framework-integ/test/aws-lambda/test/params-and-secrets-handler/index.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ def handler(event, context):
77
headers = {'X-Aws-Parameters-Secrets-Token': session_token}
88

99
# request to parameter store
10-
parameter_url = 'http://localhost:2773/systemsmanager/parameters/get?name=email_url'
10+
parameter_url = 'http://localhost:8080/systemsmanager/parameters/get?name=email_url'
1111
response = requests.get(parameter_url, headers=headers)
1212
print(f'response status code from HTTP for parameters request was {response.status_code}')
1313
print(f'response json is {response.json()}')
1414

1515
# request to secrets manager
16-
secrets_url = 'https://localhost:2773/secretsmanager/get?secretId=MySecret'
16+
secrets_url = 'https://localhost:8080/secretsmanager/get?secretId=MySecret'
1717
response = requests.get(secrets_url, headers=headers)
1818
print(f'response status code from HTTP for secrets request was {response.status_code}')
1919
print(f'response json is {response.json()}')

packages/aws-cdk-lib/aws-lambda/lib/params-and-secrets-layers.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -219,11 +219,11 @@ export abstract class ParamsAndSecretsLayerVersion {
219219
}
220220

221221
return {
222-
PARAMETERS_AND_SECRETS_EXTENSION_CACHE_ENABLED: this.options.cacheEnabled ?? true,
223-
PARAMETERS_AND_SECRETS_EXTENSION_CACHE_SIZE: this.options.cacheSize ?? 1000,
224-
PARAMETERS_AND_SECRETS_EXTENSION_HTTP_PORT: this.options.httpPort ?? 2773,
225-
PARAMETERS_AND_SECRETS_EXTENSION_LOG_LEVEL: this.options.logLevel ?? ParamsAndSecretsLogLevel.INFO,
226-
PARAMETERS_AND_SECRETS_EXTENSION_MAX_CONNECTIONS: this.options.maxConnections ?? 3,
222+
PARAMETERS_SECRETS_EXTENSION_CACHE_ENABLED: this.options.cacheEnabled ?? true,
223+
PARAMETERS_SECRETS_EXTENSION_CACHE_SIZE: this.options.cacheSize ?? 1000,
224+
PARAMETERS_SECRETS_EXTENSION_HTTP_PORT: this.options.httpPort ?? 2773,
225+
PARAMETERS_SECRETS_EXTENSION_LOG_LEVEL: this.options.logLevel ?? ParamsAndSecretsLogLevel.INFO,
226+
PARAMETERS_SECRETS_EXTENSION_MAX_CONNECTIONS: this.options.maxConnections ?? 3,
227227
SECRETS_MANAGER_TIMEOUT_MILLIS: this.options.secretsManagerTimeout?.toMilliseconds() ?? 0,
228228
SECRETS_MANAGER_TTL: this.options.secretsManagerTtl?.toSeconds() ?? 300,
229229
SSM_PARAMETER_STORE_TIMEOUT_MILLIS: this.options.parameterStoreTimeout?.toMilliseconds() ?? 0,

0 commit comments

Comments
 (0)