Skip to content

New: [AEA-6258] - Add SSM Parameter construct#619

Open
wildjames wants to merge 8 commits intomainfrom
aea-6258-ssm-parameters
Open

New: [AEA-6258] - Add SSM Parameter construct#619
wildjames wants to merge 8 commits intomainfrom
aea-6258-ssm-parameters

Conversation

@wildjames
Copy link
Contributor

Summary

  • ✨ New Feature

Details

CDK exposes a StringParameter which builds an SSM parameter. I've added an SsmParametersConstruct which takes an array of parameter definitions, and handles making the StringParameter for each, creates a policy to read the parameters, and produces relevant outputs.

Copilot AI review requested due to automatic review settings March 24, 2026 13:06
@github-actions
Copy link
Contributor

This PR is linked to a ticket in an NHS Digital JIRA Project. Here's a handy link to the ticket:

AEA-6258

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a new CDK construct for defining multiple SSM parameters in a single place, automatically generating the corresponding StringParameter resources, an IAM managed policy granting read access, and CloudFormation outputs/exports for downstream consumption.

Changes:

  • Added SsmParametersConstruct to create a bundle of SSM parameters + a read managed policy + outputs.
  • Exported the new construct from the @nhsdigital/eps-cdk-constructs entrypoint.
  • Added Vitest coverage validating parameter creation, policy generation, and output exports.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
packages/cdkConstructs/src/constructs/SsmParametersConstruct.ts New construct that synthesizes SSM parameters, an IAM read policy, and CFN outputs/exports.
packages/cdkConstructs/src/index.ts Re-export the new construct from the package entrypoint.
packages/cdkConstructs/tests/constructs/ssmParametersConstruct.test.ts New unit tests covering the synthesized resources/outputs for the construct.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
C Reliability Rating on New Code (required ≥ A)
D Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

statements: [
new PolicyStatement({
actions: ["lambda:InvokeFunction"],
resources: ["*"]

Check failure

Code scanning / SonarCloud

AWS IAM policies should limit the scope of permissions given High test

This policy is vulnerable to the "lambda:InvokeFunction" privilege escalation vector. Remove permissions or restrict the set of resources they apply to. See more on SonarQube Cloud
statements: [
new PolicyStatement({
actions: ["lambda:InvokeFunction"],
resources: ["*"]

Check failure

Code scanning / SonarCloud

AWS IAM policies should limit the scope of permissions given High test

This policy is vulnerable to the "lambda:InvokeFunction" privilege escalation vector. Remove permissions or restrict the set of resources they apply to. See more on SonarQube Cloud
statements: [
new PolicyStatement({
actions: ["lambda:InvokeFunction"],
resources: ["*"]

Check failure

Code scanning / SonarCloud

AWS IAM policies should limit the scope of permissions given High test

This policy is vulnerable to the "lambda:InvokeFunction" privilege escalation vector. Remove permissions or restrict the set of resources they apply to. See more on SonarQube Cloud
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants