From e0408d1aaa9d90d71995ca961321f2344a887004 Mon Sep 17 00:00:00 2001 From: "scott.fullerton1" Date: Fri, 20 Feb 2026 19:29:08 +0000 Subject: [PATCH 1/6] CCM-12034: Added new sms nudge views --- ...icy_document_sso_read_only_table_access.tf | 3 +++ .../iam_instance_profile_powerbi_gateway.tf | 3 +++ .../terraform/components/reporting/locals.tf | 2 ++ ..._request_item_plan_status_smsnudge_view.tf | 20 +++++++++++++++++++ ...quest_item_status_smsnudge_staging_view.tf | 19 ++++++++++++++++++ ...ource_request_item_status_smsnudge_view.tf | 19 ++++++++++++++++++ .../request_item_plan_status_smsnudge.sql | 15 ++++++++++++++ .../views/request_item_status_smsnudge.sql | 7 +++++++ .../request_item_status_smsnudge_staging.sql | 10 ++++++++++ .../components/reporting/variables.tf | 6 ++++++ 10 files changed, 104 insertions(+) create mode 100644 infrastructure/terraform/components/reporting/null_resource_request_item_plan_status_smsnudge_view.tf create mode 100644 infrastructure/terraform/components/reporting/null_resource_request_item_status_smsnudge_staging_view.tf create mode 100644 infrastructure/terraform/components/reporting/null_resource_request_item_status_smsnudge_view.tf create mode 100644 infrastructure/terraform/components/reporting/scripts/sql/views/request_item_plan_status_smsnudge.sql create mode 100644 infrastructure/terraform/components/reporting/scripts/sql/views/request_item_status_smsnudge.sql create mode 100644 infrastructure/terraform/components/reporting/scripts/sql/views/request_item_status_smsnudge_staging.sql diff --git a/infrastructure/terraform/components/reporting/data_iam_policy_document_sso_read_only_table_access.tf b/infrastructure/terraform/components/reporting/data_iam_policy_document_sso_read_only_table_access.tf index 6aa21525..250edf3e 100644 --- a/infrastructure/terraform/components/reporting/data_iam_policy_document_sso_read_only_table_access.tf +++ b/infrastructure/terraform/components/reporting/data_iam_policy_document_sso_read_only_table_access.tf @@ -32,6 +32,9 @@ data "aws_iam_policy_document" "sso_read_only_table_access" { "arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/request_item_plan_completed_summary_all", "arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/request_item_status_summary_all", "arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/request_item_status_summary_all_email_filter", + "arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/request_item_status_smsnudge_staging", + "arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/request_item_plan_status_smsnudge", + "arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/request_item_status_smsnudge", "arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/dates", "arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/letters_invoice_units_monthly", "arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/letters_invoice_units_weekly", diff --git a/infrastructure/terraform/components/reporting/iam_instance_profile_powerbi_gateway.tf b/infrastructure/terraform/components/reporting/iam_instance_profile_powerbi_gateway.tf index b777ea45..b642ab8e 100644 --- a/infrastructure/terraform/components/reporting/iam_instance_profile_powerbi_gateway.tf +++ b/infrastructure/terraform/components/reporting/iam_instance_profile_powerbi_gateway.tf @@ -184,6 +184,9 @@ data "aws_iam_policy_document" "powerbi_gateway_permissions_policy" { "arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/request_item_plan_completed_summary_all", "arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/request_item_status_summary_all", "arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/request_item_status_summary_all_email_filter", + "arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/request_item_status_smsnudge_staging", + "arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/request_item_plan_status_smsnudge", + "arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/request_item_status_smsnudge", "arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/dates", "arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/letters_invoice_units_monthly", "arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/letters_invoice_units_weekly", diff --git a/infrastructure/terraform/components/reporting/locals.tf b/infrastructure/terraform/components/reporting/locals.tf index c111b733..3d4c48ab 100644 --- a/infrastructure/terraform/components/reporting/locals.tf +++ b/infrastructure/terraform/components/reporting/locals.tf @@ -84,5 +84,7 @@ locals { ] ]) : [] + sms_nudge_client_id = format("'%s'", var.sms_nudge_client_id) + log_destination_arn = "arn:aws:logs:${var.region}:${var.shared_infra_account_id}:destination:nhs-main-obs-firehose-logs" } diff --git a/infrastructure/terraform/components/reporting/null_resource_request_item_plan_status_smsnudge_view.tf b/infrastructure/terraform/components/reporting/null_resource_request_item_plan_status_smsnudge_view.tf new file mode 100644 index 00000000..c384cf47 --- /dev/null +++ b/infrastructure/terraform/components/reporting/null_resource_request_item_plan_status_smsnudge_view.tf @@ -0,0 +1,20 @@ +resource "null_resource" "request_item_plan_status_smsnudge_view" { + triggers = { + sql = filesha256("${path.module}/scripts/sql/views/request_item_plan_status_smsnudge.sql") + } + + provisioner "local-exec" { + command = < Date: Tue, 24 Feb 2026 11:54:51 +0000 Subject: [PATCH 2/6] CCM-12034: update terraform docs --- infrastructure/terraform/components/reporting/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/infrastructure/terraform/components/reporting/README.md b/infrastructure/terraform/components/reporting/README.md index c47af7b0..82985d40 100644 --- a/infrastructure/terraform/components/reporting/README.md +++ b/infrastructure/terraform/components/reporting/README.md @@ -50,6 +50,7 @@ No requirements. | [scale\_in\_recurrence\_schedule](#input\_scale\_in\_recurrence\_schedule) | The cron expression for the scale in schedule. Set to null if no recurrence is needed. | `string` | `null` | no | | [scale\_out\_recurrence\_schedule](#input\_scale\_out\_recurrence\_schedule) | The cron expression for the scale out schedule. Set to null if no recurrence is needed. | `string` | `null` | no | | [shared\_infra\_account\_id](#input\_shared\_infra\_account\_id) | The AWS Account ID of the shared infrastructure account | `string` | `"000000000000"` | no | +| [sms\_nudge\_client\_id](#input\_sms\_nudge\_client\_id) | Client id for the SMS Nudge umbrella client used to filter smsnudge views | `string` | `"NULL"` | no | | [spot\_max\_price](#input\_spot\_max\_price) | max spot price for Power BI On-Premises Gateway instances | `string` | `"0.3"` | no | | [superuser\_role\_name](#input\_superuser\_role\_name) | Name of the superuser role that is allowed to create other IAM roles | `string` | n/a | yes | ## Modules From 70eb1d97482e38fb76845a19110309b247236058 Mon Sep 17 00:00:00 2001 From: Ian Hodges Date: Tue, 24 Feb 2026 13:12:23 +0000 Subject: [PATCH 3/6] CCM-12034: typo in workflow description --- .github/workflows/cicd-3-deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cicd-3-deploy.yaml b/.github/workflows/cicd-3-deploy.yaml index d93e35ad..33dc7fad 100644 --- a/.github/workflows/cicd-3-deploy.yaml +++ b/.github/workflows/cicd-3-deploy.yaml @@ -15,7 +15,7 @@ on: default: apply type: string tag: - description: "This is the tag that is oging to be deployed" + description: "This is the tag that is going to be deployed" required: true default: "latest" From e4f41f458ca66d94f1fcebdff9579e2ce81d1d5e Mon Sep 17 00:00:00 2001 From: Ian Hodges Date: Tue, 24 Feb 2026 13:31:37 +0000 Subject: [PATCH 4/6] CCM-12034: add nudge client id to tfvars --- infrastructure/terraform/etc/env_eu-west-2_int.tfvars | 2 ++ infrastructure/terraform/etc/env_eu-west-2_prod.tfvars | 2 ++ 2 files changed, 4 insertions(+) diff --git a/infrastructure/terraform/etc/env_eu-west-2_int.tfvars b/infrastructure/terraform/etc/env_eu-west-2_int.tfvars index e0ecde25..c8ce24da 100644 --- a/infrastructure/terraform/etc/env_eu-west-2_int.tfvars +++ b/infrastructure/terraform/etc/env_eu-west-2_int.tfvars @@ -25,3 +25,5 @@ private_subnet_cidrs = [ enable_s3_backup = false shared_infra_account_id = "099709604300" + +sms_nudge_client_id = "fb3c1b53-b74a-4143-bfbc-5260821d1848" diff --git a/infrastructure/terraform/etc/env_eu-west-2_prod.tfvars b/infrastructure/terraform/etc/env_eu-west-2_prod.tfvars index 28678e99..f856f9da 100644 --- a/infrastructure/terraform/etc/env_eu-west-2_prod.tfvars +++ b/infrastructure/terraform/etc/env_eu-west-2_prod.tfvars @@ -40,4 +40,6 @@ enable_vault_lock_configuration = true shared_infra_account_id = "142549683766" +sms_nudge_client_id = "fb3c1b53-b74a-4143-bfbc-5260821d1848" + destination_backup_vault_arn = "arn:aws:backup:eu-west-2:369399915558:backup-vault:nhs-notify-reporting-prod-backup-vault" From faa1f8d32f819d5324ba29983eb3c91a93ef88a9 Mon Sep 17 00:00:00 2001 From: Ian Hodges Date: Tue, 24 Feb 2026 13:38:52 +0000 Subject: [PATCH 5/6] CCM-12034: add flagged guids to .gitleaksignore file --- .gitleaksignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitleaksignore b/.gitleaksignore index 676bec30..ec397aad 100644 --- a/.gitleaksignore +++ b/.gitleaksignore @@ -6,4 +6,5 @@ cd9c0efec38c5d63053dd865e5d4e207c0760d91:docs/guides/Perform_static_analysis.md: e2fd9d99d561c274cfd11b85a99a0cb1ae00f97d:infrastructure/terraform/components/reporting/templates/cloudinit_config.ps1:ipv4:28 8cd75c04961cd6ce8477b7dad9c6daa67f03cd19:infrastructure/terraform/components/reporting/templates/cloudinit_config.tmpl:ipv4:32 9b7b5b4539e13109e15c474684911b5a349c1b6d:infrastructure/terraform/components/reporting/scripts/sql/views/request_item_status_summary_all_emailfilter.sql:generic-api-key:12 - +e4f41f458ca66d94f1fcebdff9579e2ce81d1d5e:infrastructure/terraform/etc/env_eu-west-2_int.tfvars:generic-api-key:29 +e4f41f458ca66d94f1fcebdff9579e2ce81d1d5e:infrastructure/terraform/etc/env_eu-west-2_prod.tfvars:generic-api-key:43 From d040fbe126c4ac744a9b08db33ec33e19eee0e0a Mon Sep 17 00:00:00 2001 From: Ian Hodges Date: Thu, 26 Feb 2026 13:22:54 +0000 Subject: [PATCH 6/6] CCM-12034: view query performance improvement --- .../scripts/sql/views/request_item_plan_status_smsnudge.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/infrastructure/terraform/components/reporting/scripts/sql/views/request_item_plan_status_smsnudge.sql b/infrastructure/terraform/components/reporting/scripts/sql/views/request_item_plan_status_smsnudge.sql index 6a0df0ce..15186595 100644 --- a/infrastructure/terraform/components/reporting/scripts/sql/views/request_item_plan_status_smsnudge.sql +++ b/infrastructure/terraform/components/reporting/scripts/sql/views/request_item_plan_status_smsnudge.sql @@ -12,4 +12,5 @@ LEFT JOIN request_item_status_smsnudge_staging ris ON rip.requestitemid = ris.requestitemid LEFT JOIN request_item_status original_ri ON original_ri.requestitemid = ris.originatingrequestitemid + AND original_ri.clientid = ris.originatingclientid WHERE rip.clientid = ${sms_nudge_client_id}