Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
3297769
Define the infrastucture. Dummy lambda that runs frequently
wildjames Jan 8, 2026
61fdeca
Merge branch 'main' into aea-6063-trigger-post-dated-prescriptions
wildjames Jan 8, 2026
597059e
Update the PSU lambda to put post-dated data on the post-dated SQS
wildjames Jan 8, 2026
3cda946
Add env var for sqs tests
wildjames Jan 8, 2026
fe140ab
Implement reading the SQS messages in the post dated lambda
wildjames Jan 21, 2026
643f215
Merge branch 'main' into aea-6063-trigger-post-dated-prescriptions
wildjames Jan 21, 2026
0eeaa97
Update package lock
wildjames Jan 21, 2026
e3c8e77
Fix test config
wildjames Jan 21, 2026
d32be2d
log post dated information, if present
wildjames Jan 22, 2026
ee978cf
Forgot to pass the new SQS url through to the lambda functions
wildjames Jan 22, 2026
99eecc1
Fetch matching prescription ID records fromthe prescriptions data table
wildjames Jan 22, 2026
58daa99
Rename file
wildjames Jan 22, 2026
d2c6e3d
Missed the tests file
wildjames Jan 22, 2026
a3e3f4d
The data table fetching was not using the GSI - update it so that it …
wildjames Jan 22, 2026
efc7629
When pushing to SQS, log what url it's going to
wildjames Jan 22, 2026
cecede6
I was passing the incorrect table name in to the post dated lambda
wildjames Jan 22, 2026
7083f88
update table policies
wildjames Jan 22, 2026
939e2e7
Review yesterdays work. Leave some todo notes for the business logic
wildjames Jan 23, 2026
a94ad39
Simplify some logic, clean up some bits
wildjames Jan 23, 2026
c7fe17d
Minor changes.
wildjames Jan 23, 2026
13c033a
Refactor the updatePrecriptionStatus SQS interface so that it's a bit…
wildjames Jan 23, 2026
e3dcf14
Update updatePrescriptionStatus SQS handling test script to test the …
wildjames Jan 23, 2026
8c5fbd6
Add unit tests for the database client
wildjames Jan 23, 2026
1d60b95
Minimal orchestration test setup
wildjames Jan 23, 2026
4e73794
expand the test coverage of the orchestration script a bit
wildjames Jan 23, 2026
13474a0
Imrprove testing coverage of the orchestration suite
wildjames Jan 23, 2026
8240337
Rename util file.
wildjames Jan 23, 2026
2f44905
Forgot to rename imports
wildjames Jan 23, 2026
28974e0
Start writing the unit tests for the SQS interface
wildjames Jan 23, 2026
a5e03b7
Expand SQS test suite
wildjames Jan 23, 2026
97a7f24
Gate the post-dated lambda behind a feature flag in updatePrescriptio…
wildjames Jan 23, 2026
45941d0
When the flag is off, don't require the post dated sqs url. Also, add…
wildjames Jan 23, 2026
5799bbf
Update test env vars
wildjames Jan 23, 2026
f1d9d58
await async call
wildjames Jan 23, 2026
7b4e5ec
Rename PostModifiedDataItem to PostUpdatedDataItem
wildjames Jan 26, 2026
59c0496
Revert "Rename PostModifiedDataItem to PostUpdatedDataItem"
wildjames Jan 26, 2026
2554fa5
Refactor SQS to send messages in parallel
wildjames Jan 26, 2026
cf80b91
rename function. Pass notifications SQS into the post dated lambda
wildjames Jan 26, 2026
ebff1ac
Update the psotDatedLambda to forward matured prescriptions to the no…
wildjames Jan 26, 2026
fd472a9
Update package lock
wildjames Jan 26, 2026
23de0fe
Add dynamo dependency that we needed
wildjames Jan 26, 2026
902d99e
Fix SAM template
wildjames Jan 26, 2026
34c895e
Forgot to pass through feature flag
wildjames Jan 26, 2026
76a3165
Receive dedupe IDs, and pass them through when forwarding SQS messages
wildjames Jan 26, 2026
53c7535
Include postdatedlastmodifiedsetat in dynamo attributes
wildjames Jan 26, 2026
a99be63
Define a new GSI for post-dated enrichment
wildjames Jan 26, 2026
10d6328
Merge branch 'main' into aea-6063-trigger-post-dated-prescriptions
wildjames Jan 26, 2026
4c65bd4
Extend the NotifyDataItem to include the prescription ID, rather than…
wildjames Jan 27, 2026
4f47313
Add an override flag for the post-dated business logic, for testing l…
wildjames Jan 27, 2026
f0d010f
refactor the db client
wildjames Jan 27, 2026
46dd8ec
Partially implement the business logic
wildjames Jan 27, 2026
1d12b94
Fix unit tests
wildjames Jan 27, 2026
f7529b9
Implement business logic
wildjames Jan 27, 2026
719b1b2
Update doc
wildjames Jan 28, 2026
08e3065
Logging and function name change
wildjames Jan 28, 2026
52b0878
Update logic to actually compute the time until the prescription matu…
wildjames Jan 28, 2026
c44f2ef
Add a filter so that prior post-dated updates do not block notificati…
wildjames Jan 28, 2026
9090dfc
Correct the check - logic was backwards
wildjames Jan 28, 2026
07de0b6
Thought of another edge case
wildjames Jan 28, 2026
6f6ae55
convert milliseconds to seconds
wildjames Jan 28, 2026
d645e62
Dont query by ODS code
wildjames Jan 30, 2026
f501651
Write a little prose to help understand the business logic. forgot to…
wildjames Jan 30, 2026
026665d
Refactor out limiting the NPPTS query by ODS code
wildjames Jan 30, 2026
3131059
missed a few ODS code bits
wildjames Jan 30, 2026
ef7610f
key schema attribute needs to be hash, not range
wildjames Jan 30, 2026
40d2751
Flesh out dynamo tests a bit more, and stop sorting in the dynamo client
wildjames Jan 30, 2026
1ba92dd
Initial implementation of the internal testing tool.
wildjames Feb 3, 2026
d89b815
merge main
wildjames Feb 3, 2026
3f1493d
Merge branch 'aea-6063-trigger-post-dated-prescriptions' into aea-000…
wildjames Feb 3, 2026
89994c8
Remove custom data type for sqs batch message entries, and use the gi…
wildjames Feb 4, 2026
62d107f
Merge branch 'main' into aea-6063-trigger-post-dated-prescriptions
wildjames Feb 4, 2026
a3a196a
Address some of Tim's comments
wildjames Feb 4, 2026
78322dc
Fix typo
wildjames Feb 5, 2026
45782e3
Remove references to overriding post-dated logic
wildjames Feb 6, 2026
64b2466
Update trivy ignore with braces expansion
wildjames Feb 6, 2026
b6c9e7e
Merge branch 'main' into aea-0000-add-notifications-reporting-lambda
wildjames Feb 6, 2026
cf07c92
Merge branch 'aea-6063-trigger-post-dated-prescriptions' into aea-000…
wildjames Feb 6, 2026
f03ed61
Fix indentation
wildjames Feb 6, 2026
01cd0b6
Use a switch instead of sequential if else
wildjames Feb 6, 2026
ebe85a1
Refactor after some discussion
wildjames Feb 6, 2026
aa91e50
Update docs
wildjames Feb 11, 2026
d4518c2
Update mermaid again
wildjames Feb 11, 2026
57d1e02
remove completed todo
wildjames Feb 12, 2026
589f2dd
Merge main
wildjames Feb 12, 2026
9a1dda8
Merge branch 'main' into aea-6063-trigger-post-dated-prescriptions
wildjames Feb 12, 2026
09f80f1
Merge changes
wildjames Feb 12, 2026
45dddd7
Resolve merge conflicts
wildjames Feb 13, 2026
aeaac20
Merge branch 'main' into aea-0000-add-notifications-reporting-lambda
wildjames Feb 13, 2026
263c771
Fix middy
wildjames Feb 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/scripts/release_code.sh
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ sam deploy \
LogRetentionInDays="$LOG_RETENTION_DAYS" \
Environment="$TARGET_ENVIRONMENT" \
DeployCheckPrescriptionStatusUpdate="$DEPLOY_CHECK_PRESCRIPTION_STATUS_UPDATE" \
DeployNotificationsReporting="$DEPLOY_NOTIFICATIONS_REPORTING" \
EnableAlerts="$ENABLE_ALERTS" \
StateMachineLogLevel="$STATE_MACHINE_LOG_LEVEL" \
EnableNotificationsInternal="$ENABLE_NOTIFICATIONS_INTERNAL" \
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ jobs:
TEST_PRESCRIPTIONS_3: ${{ vars.TEST_PRESCRIPTIONS_3_VALUES }}
TEST_PRESCRIPTIONS_4: ${{ vars.TEST_PRESCRIPTIONS_4_VALUES }}
FORWARD_CSOC_LOGS: false
DEPLOY_NOTIFICATIONS_REPORTING_ENDPOINT: true
secrets:
CLOUD_FORMATION_DEPLOY_ROLE: ${{ secrets.DEV_CLOUD_FORMATION_DEPLOY_ROLE }}
PROXYGEN_ROLE: ${{ secrets.PROXYGEN_PTL_ROLE }}
Expand Down Expand Up @@ -166,6 +167,7 @@ jobs:
MTLS_KEY: psu-mtls-1
IS_PULL_REQUEST: true
FORWARD_CSOC_LOGS: false
DEPLOY_NOTIFICATIONS_REPORTING_ENDPOINT: true
secrets:
CLOUD_FORMATION_DEPLOY_ROLE: ${{ secrets.DEV_CLOUD_FORMATION_DEPLOY_ROLE }}
PROXYGEN_ROLE: ${{ secrets.PROXYGEN_PTL_ROLE }}
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/run_release_code_and_api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,9 @@ on:
FORWARD_CSOC_LOGS:
required: true
type: boolean
DEPLOY_NOTIFICATIONS_REPORTING_ENDPOINT:
type: boolean
default: false
secrets:
CLOUD_FORMATION_DEPLOY_ROLE:
required: true
Expand Down Expand Up @@ -231,6 +234,7 @@ jobs:
TEST_PRESCRIPTIONS_3: ${{ inputs.TEST_PRESCRIPTIONS_3 || 'noval' }}
TEST_PRESCRIPTIONS_4: ${{ inputs.TEST_PRESCRIPTIONS_4 || 'noval' }}
FORWARD_CSOC_LOGS: ${{ inputs.FORWARD_CSOC_LOGS }}
DEPLOY_NOTIFICATIONS_REPORTING: ${{ inputs.DEPLOY_NOTIFICATIONS_REPORTING_ENDPOINT }}
run: ./release_code.sh

- name: get mtls secrets
Expand Down
14 changes: 12 additions & 2 deletions .vscode/eps-prescription-status-update-api.code-workspace
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@
"name": "packages/nhsNotifyLambda",
"path": "../packages/nhsNotifyLambda"
},
{
"name": "packages/notificationsReportingLambda",
"path": "../packages/notificationsReportingLambda"
},
{
"name": "packages/postDatedLambda",
"path": "../packages/postDatedLambda"
Expand Down Expand Up @@ -156,8 +160,14 @@
"versionable",
"whens"
],
"cSpell.dictionaries": ["en-GB"],
"cSpell.ignorePaths": ["package-lock.json", "node_modules", ".vscode"],
"cSpell.dictionaries": [
"en-GB"
],
"cSpell.ignorePaths": [
"package-lock.json",
"node_modules",
".vscode"
],
"jest.jestCommandLine": "NODE_OPTIONS=--experimental-vm-modules node_modules/.bin/jest --no-cache",
"jest.nodeEnv": {
"POWERTOOLS_DEV": true
Expand Down
6 changes: 6 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ sam-sync: guard-AWS_DEFAULT_PROFILE guard-stack_name compile
LogLevel=$${LOG_LEVEL:-INFO} \
LogRetentionInDays=$${LOG_RETENTION_DAYS:-30} \
DeployCheckPrescriptionStatusUpdate=true \
DeployNotificationsReporting=true \
EnableAlerts=false \
Environment=$$AWS_ENVIRONMENT \
StateMachineLogLevel=$${STATE_MACHINE_LOG_LEVEL:-ALL} \
Expand Down Expand Up @@ -74,6 +75,7 @@ sam-deploy: guard-AWS_DEFAULT_PROFILE guard-stack_name
LogLevel=$${LOG_LEVEL:-INFO} \
LogRetentionInDays=$${LOG_RETENTION_DAYS:-30} \
DeployCheckPrescriptionStatusUpdate=true \
DeployNotificationsReporting=true \
EnableAlerts=false \
Environment=$$AWS_ENVIRONMENT \
StateMachineLogLevel=$${STATE_MACHINE_LOG_LEVEL:-ALL} \
Expand Down Expand Up @@ -168,6 +170,7 @@ lint-node: compile-node
npm run lint --workspace packages/cpsuLambda
npm run lint --workspace packages/checkPrescriptionStatusUpdates
npm run lint --workspace packages/nhsNotifyLambda
npm run lint --workspace packages/notificationsReportingLambda
npm run lint --workspace packages/postDatedLambda
npm run lint --workspace packages/nhsNotifyUpdateCallback
npm run lint --workspace packages/common/testing
Expand Down Expand Up @@ -201,6 +204,7 @@ test: compile
npm run test --workspace packages/cpsuLambda
npm run test --workspace packages/checkPrescriptionStatusUpdates
npm run test --workspace packages/nhsNotifyLambda
npm run test --workspace packages/notificationsReportingLambda
npm run test --workspace packages/postDatedLambda
npm run test --workspace packages/nhsNotifyUpdateCallback
npm run test --workspace packages/common/middyErrorHandler
Expand All @@ -222,6 +226,8 @@ clean:
rm -rf packages/cpsuLambda/lib
rm -rf packages/nhsNotifyLambda/coverage
rm -rf packages/nhsNotifyLambda/lib
rm -rf packages/notificationsReportingLambda/coverage
rm -rf packages/notificationsReportingLambda/lib
rm -rf packages/postDatedLambda/coverage
rm -rf packages/postDatedLambda/lib
rm -rf packages/nhsNotifyUpdateCallback/coverage
Expand Down
66 changes: 64 additions & 2 deletions SAMtemplates/apis/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,14 @@ Parameters:
Type: String
Default: none

NotificationsReportingFunctionName:
Type: String
Default: none

NotificationsReportingFunctionArn:
Type: String
Default: none

LogRetentionInDays:
Type: Number

Expand All @@ -71,6 +79,10 @@ Parameters:
DeployCheckPrescriptionStatusUpdate:
Type: String

DeployNotificationsReporting:
Type: String
Default: false

ForwardCsocLogs:
Type: String
Default: false
Expand All @@ -81,6 +93,9 @@ Conditions:
ShouldDeployCheckPrescriptionStatusUpdate: !Equals
- true
- !Ref DeployCheckPrescriptionStatusUpdate
ShouldDeployNotificationsReporting: !Equals
- true
- !Ref DeployNotificationsReporting

Resources:
GenerateCertificate:
Expand Down Expand Up @@ -549,11 +564,53 @@ Resources:
Timeout: "1"
Count: 0

NotificationsReportingResource:
Condition: ShouldDeployNotificationsReporting
Type: AWS::ApiGateway::Resource
Properties:
RestApiId: !Ref RestApiGateway
ParentId: !GetAtt RestApiGateway.RootResourceId
PathPart: notifications-reporting

NotificationsReportingMethod:
Condition: ShouldDeployNotificationsReporting
Type: AWS::ApiGateway::Method
Properties:
RestApiId: !Ref RestApiGateway
ResourceId: !Ref NotificationsReportingResource
HttpMethod: GET
AuthorizationType: NONE
Integration:
Type: AWS_PROXY
Credentials: !GetAtt RestApiGatewayResources.Outputs.ApiGwRoleArn
IntegrationHttpMethod: POST
Uri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${NotificationsReportingFunctionArn}/invocations

NotificationsReportingHandle:
Condition: ShouldDeployNotificationsReporting
DependsOn: NotificationsReportingMethod
Type: "AWS::CloudFormation::WaitConditionHandle"

NotificationsReportingWaitHandle:
Type: "AWS::CloudFormation::WaitConditionHandle"

NotificationsReportingWaitCondition:
Type: "AWS::CloudFormation::WaitCondition"
Properties:
Handle:
!If [
ShouldDeployNotificationsReporting,
!Ref NotificationsReportingHandle,
!Ref NotificationsReportingWaitHandle,
]
Timeout: "1"
Count: 0

# *********************************************************************
# if you add a new endpoint, then change the name of this resource
# also need to change it in RestApiGatewayStage.Properties.DeploymentId
# *********************************************************************
RestApiGatewayDeploymentV2f:
RestApiGatewayDeploymentV2g:
Type: AWS::ApiGateway::Deployment
DependsOn:
# see note above if you add something in here when you add a new endpoint
Expand All @@ -563,6 +620,7 @@ Resources:
- Format1UpdatePrescriptionStatusMethod
- CheckPrescriptionStatusUpdatesWaitCondition
- NotificationDeliveryStatusCallbackMethod
- NotificationsReportingMethod
# see note above if you add something in here when you add a new endpoint
Properties:
RestApiId: !Ref RestApiGateway
Expand All @@ -571,7 +629,7 @@ Resources:
Type: AWS::ApiGateway::Stage
Properties:
RestApiId: !Ref RestApiGateway
DeploymentId: !Ref RestApiGatewayDeploymentV2f
DeploymentId: !Ref RestApiGatewayDeploymentV2g
StageName: prod
TracingEnabled: true
AccessLogSetting:
Expand Down Expand Up @@ -600,6 +658,10 @@ Resources:
- ShouldDeployCheckPrescriptionStatusUpdate
- Fn::ImportValue: !Sub ${StackName}:functions:${CheckPrescriptionStatusUpdatesFunctionName}:ExecuteLambdaPolicyArn
- !Ref AWS::NoValue
- !If
- ShouldDeployNotificationsReporting
- Fn::ImportValue: !Sub ${StackName}:functions:${NotificationsReportingFunctionName}:ExecuteLambdaPolicyArn
- !Ref AWS::NoValue

ApiName: !Sub ${StackName}-apigw
LogRetentionInDays: !Ref LogRetentionInDays
Expand Down
69 changes: 69 additions & 0 deletions SAMtemplates/functions/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,10 @@ Parameters:
DeployCheckPrescriptionStatusUpdate:
Type: String

DeployNotificationsReporting:
Type: String
Default: false

Environment:
Type: String

Expand All @@ -113,6 +117,10 @@ Conditions:
- true
- !Ref DeployCheckPrescriptionStatusUpdate

ShouldDeployNotificationsReporting: !Equals
- true
- !Ref DeployNotificationsReporting

EnableBackupCondition: !Equals
- "True"
- !Ref EnableBackup
Expand Down Expand Up @@ -402,6 +410,53 @@ Resources:
SplunkSubscriptionFilterRole: !ImportValue lambda-resources:SplunkSubscriptionFilterRole
SplunkDeliveryStreamArn: !ImportValue lambda-resources:SplunkDeliveryStream

NotificationsReporting:
Condition: ShouldDeployNotificationsReporting
Type: AWS::Serverless::Function
Properties:
FunctionName: !Sub ${StackName}-NotificationsReporting
CodeUri: ../../packages
Handler: notificationsReportingLambda.handler
Role: !GetAtt NotificationsReportingResources.Outputs.LambdaRoleArn
Environment:
Variables:
TABLE_NAME: !Ref PrescriptionNotificationStatesTableName
Metadata:
BuildMethod: esbuild
guard:
SuppressedRules:
- LAMBDA_DLQ_CHECK
- LAMBDA_INSIDE_VPC
- LAMBDA_CONCURRENCY_CHECK
BuildProperties:
Minify: true
Target: es2020
Sourcemap: true
tsconfig: notificationsReportingLambda/tsconfig.json
packages: bundle
EntryPoints:
- notificationsReportingLambda/src/notificationsReportingLambda.ts

NotificationsReportingResources:
Condition: ShouldDeployNotificationsReporting
Type: AWS::Serverless::Application
Properties:
Location: lambda_resources.yaml
Parameters:
StackName: !Ref StackName
LambdaName: !Sub ${StackName}-NotificationsReporting
LambdaArn: !Sub arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:${StackName}-NotificationsReporting
IncludeAdditionalPolicies: true
AdditionalPolicies: !Join
- ","
- - Fn::ImportValue: !Sub ${StackName}:tables:${PrescriptionNotificationStatesTableName}:TableReadPolicyArn
- Fn::ImportValue: !Sub ${StackName}:tables:UsePrescriptionNotificationStatesKMSKeyPolicyArn
LogRetentionInDays: !Ref LogRetentionInDays
CloudWatchKMSKeyId: !ImportValue account-resources:CloudwatchLogsKmsKeyArn
EnableSplunk: !Ref EnableSplunk
SplunkSubscriptionFilterRole: !ImportValue lambda-resources:SplunkSubscriptionFilterRole
SplunkDeliveryStreamArn: !ImportValue lambda-resources:SplunkDeliveryStream

NotifyProcessorScheduleEventRole:
Type: AWS::IAM::Role
Properties:
Expand Down Expand Up @@ -823,6 +878,20 @@ Outputs:
Description: The function ARN of the NHSNotifyUpdateCallback lambda
Value: !GetAtt NHSNotifyUpdateCallback.Arn

NotificationsReportingFunctionName:
Description: The function name of the NotificationsReporting lambda
Value: !If
- ShouldDeployNotificationsReporting
- !Ref NotificationsReporting
- ""

NotificationsReportingFunctionArn:
Description: The function ARN of the NotificationsReporting lambda
Value: !If
- ShouldDeployNotificationsReporting
- !GetAtt NotificationsReporting.Arn
- ""

# Post-dated lambda outputs
PostDatedNotifyLambdaFunctionName:
Description: The function name of the postDatedNotifyLambda
Expand Down
8 changes: 8 additions & 0 deletions SAMtemplates/main_template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ Parameters:
DeployCheckPrescriptionStatusUpdate:
Type: String

DeployNotificationsReporting:
Type: String
Default: false

Environment:
Type: String

Expand Down Expand Up @@ -225,9 +229,12 @@ Resources:
CheckPrescriptionStatusUpdatesFunctionArn: !GetAtt Functions.Outputs.CheckPrescriptionStatusUpdatesFunctionArn
NHSNotifyUpdateCallbackFunctionName: !GetAtt Functions.Outputs.NHSNotifyUpdateCallbackFunctionName
NHSNotifyUpdateCallbackFunctionArn: !GetAtt Functions.Outputs.NHSNotifyUpdateCallbackFunctionArn
NotificationsReportingFunctionName: !GetAtt Functions.Outputs.NotificationsReportingFunctionName
NotificationsReportingFunctionArn: !GetAtt Functions.Outputs.NotificationsReportingFunctionArn
LogRetentionInDays: !Ref LogRetentionInDays
EnableSplunk: !Ref EnableSplunk
DeployCheckPrescriptionStatusUpdate: !Ref DeployCheckPrescriptionStatusUpdate
DeployNotificationsReporting: !Ref DeployNotificationsReporting
ForwardCsocLogs: !Ref ForwardCsocLogs

Functions:
Expand Down Expand Up @@ -255,6 +262,7 @@ Resources:
VersionNumber: !Ref VersionNumber
CommitId: !Ref CommitId
DeployCheckPrescriptionStatusUpdate: !Ref DeployCheckPrescriptionStatusUpdate
DeployNotificationsReporting: !Ref DeployNotificationsReporting
Environment: !Ref Environment
EnableBackup: !Ref EnableBackup
RequireApplicationName: !Ref RequireApplicationName
Expand Down
Loading