Skip to content

Commit 9f6e10e

Browse files
authored
fix(core): correctly reference versionless secure parameters (#18730)
When no version is specified, the `:` at the end is not allowed. Closes #18729. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent afdc550 commit 9f6e10e

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

Diff for: packages/@aws-cdk/core/lib/secret-value.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,9 @@ export class SecretValue extends Intrinsic {
7171
* latest version of the parameter.
7272
*/
7373
public static ssmSecure(parameterName: string, version?: string): SecretValue {
74-
const parts = [parameterName, version ?? ''];
75-
return this.cfnDynamicReference(new CfnDynamicReference(CfnDynamicReferenceService.SSM_SECURE, parts.join(':')));
74+
return this.cfnDynamicReference(
75+
new CfnDynamicReference(CfnDynamicReferenceService.SSM_SECURE,
76+
version ? `${parameterName}:${version}` : parameterName));
7677
}
7778

7879
/**

Diff for: packages/@aws-cdk/core/test/secret-value.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ describe('secret value', () => {
127127
const v = SecretValue.ssmSecure('param-name');
128128

129129
// THEN
130-
expect(stack.resolve(v)).toEqual('{{resolve:ssm-secure:param-name:}}');
130+
expect(stack.resolve(v)).toEqual('{{resolve:ssm-secure:param-name}}');
131131
});
132132

133133
test('cfnDynamicReference', () => {

0 commit comments

Comments
 (0)