Skip to content

Commit 7e84873

Browse files
committed
[NRL-1666] Add infra-as-code for new tables. Make dynamodb param configurable
1 parent b51fa2e commit 7e84873

File tree

9 files changed

+74
-22
lines changed

9 files changed

+74
-22
lines changed

terraform/account-wide-infrastructure/test/dynamodb__pointers-table.tf

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,31 @@ module "ref-pointers-table" {
3232
}
3333

3434
module "perftest-pointers-table" {
35-
source = "../modules/pointers-table"
36-
name_prefix = "nhsd-nrlf--perftest"
37-
enable_deletion_protection = true
38-
enable_pitr = true
39-
kms_deletion_window_in_days = 30
35+
source = "../modules/pointers-table"
36+
name_prefix = "nhsd-nrlf--perftest"
37+
}
38+
39+
module "perftest-2.5m-pointers-table" {
40+
source = "../modules/pointers-table"
41+
name_prefix = "nhsd-nrlf--perftest-2.5m"
42+
}
43+
44+
module "perftest-7.5m-pointers-table" {
45+
source = "../modules/pointers-table"
46+
name_prefix = "nhsd-nrlf--perftest-7.5m"
47+
}
48+
49+
module "perftest-15m-pointers-table" {
50+
source = "../modules/pointers-table"
51+
name_prefix = "nhsd-nrlf--perftest-15m"
52+
}
53+
54+
module "perftest-25m-pointers-table" {
55+
source = "../modules/pointers-table"
56+
name_prefix = "nhsd-nrlf--perftest-25m"
57+
}
58+
59+
module "perftest-55m-pointers-table" {
60+
source = "../modules/pointers-table"
61+
name_prefix = "nhsd-nrlf--perftest-55m"
4062
}

terraform/infrastructure/data.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ data "aws_iam_policy" "auth-store-read-policy" {
1717

1818
data "aws_dynamodb_table" "pointers-table" {
1919
count = var.use_shared_resources ? 1 : 0
20-
name = "${local.shared_prefix}-pointers-table"
20+
name = local.is_sandbox_env ? var.dynamodb_sandbox_pointers_table_name : var.dynamodb_pointers_table_name
2121
}
2222

2323
data "aws_iam_policy" "pointers-table-read" {
Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
account_name = "dev"
22
aws_account_name = "dev"
33

4+
dynamodb_pointers_table_name = "nhsd-nrlf--dev-pointers-table"
5+
dynamodb_sandbox_pointers_table_name = "nhsd-nrlf--dev-sandbox-pointers-table"
6+
47
domain = "api.record-locator.dev.national.nhs.uk"
58
public_domain = "internal-dev.api.service.nhs.uk"
69
public_sandbox_domain = "internal-dev-sandbox.api.service.nhs.uk"
7-
log_retention_period = 90
8-
enable_reporting = false
10+
11+
log_retention_period = 90
12+
enable_reporting = false
Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
account_name = "int"
22
aws_account_name = "test"
33

4-
domain = "api.record-locator.int.national.nhs.uk"
5-
deletion_protection = true
4+
dynamodb_pointers_table_name = "nhsd-nrlf--int-pointers-table"
5+
dynamodb_sandbox_pointers_table_name = "nhsd-nrlf--int-sandbox-pointers-table"
6+
deletion_protection = true
67

8+
domain = "api.record-locator.int.national.nhs.uk"
79
public_domain = "int.api.service.nhs.uk"
810
public_sandbox_domain = "sandbox.api.service.nhs.uk"
9-
log_retention_period = 90
10-
enable_reporting = true
11+
12+
log_retention_period = 90
13+
enable_reporting = true
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
account_name = "perftest"
22
aws_account_name = "test"
33

4-
domain = "perftest.record-locator.national.nhs.uk"
5-
public_domain = "perftest.api.service.nhs.uk"
6-
deletion_protection = true
4+
dynamodb_pointers_table_name = "nhsd-nrlf--perftest-pointers-table"
5+
6+
domain = "perftest.record-locator.national.nhs.uk"
7+
public_domain = "perftest.api.service.nhs.uk"
8+
79
log_retention_period = 30
810
enable_reporting = false
911
disable_firehose_lambda_subscriptions = true
Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
account_name = "prod"
22
aws_account_name = "prod"
33

4-
domain = "api.record-locator.national.nhs.uk"
5-
public_domain = "api.service.nhs.uk"
6-
deletion_protection = true
4+
dynamodb_pointers_table_name = "nhsd-nrlf--prod-pointers-table"
5+
deletion_protection = true
6+
7+
domain = "api.record-locator.national.nhs.uk"
8+
public_domain = "api.service.nhs.uk"
9+
710
log_retention_period = 2192
811
enable_reporting = true
Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
account_name = "qa"
22
aws_account_name = "test"
33

4+
dynamodb_pointers_table_name = "nhsd-nrlf--qa-pointers-table"
5+
dynamodb_sandbox_pointers_table_name = "nhsd-nrlf--qa-sandbox-pointers-table"
6+
47
domain = "qa.record-locator.national.nhs.uk"
58
public_domain = "internal-qa.api.service.nhs.uk"
69
public_sandbox_domain = "internal-qa-sandbox.api.service.nhs.uk"
7-
log_retention_period = 90
8-
enable_reporting = false
10+
11+
log_retention_period = 90
12+
enable_reporting = false
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
account_name = "ref"
22
aws_account_name = "test"
33

4-
domain = "api.record-locator.ref.national.nhs.uk"
5-
public_domain = "ref.api.service.nhs.uk"
4+
dynamodb_pointers_table_name = "nhsd-nrlf--ref-pointers-table"
5+
6+
domain = "api.record-locator.ref.national.nhs.uk"
7+
public_domain = "ref.api.service.nhs.uk"
8+
69
log_retention_period = 30
710
enable_reporting = false

terraform/infrastructure/vars.tf

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,14 @@ variable "disable_firehose_lambda_subscriptions" {
6767
type = bool
6868
default = false
6969
}
70+
71+
variable "dynamodb_pointers_table_name" {
72+
type = string
73+
description = "The name of the DynamoDB pointers table to use when using shared resources"
74+
}
75+
76+
variable "dynamodb_sandbox_pointers_table_name" {
77+
type = string
78+
description = "The name of the DynamoDB pointers table to use when using shared resources in a sandbox environment"
79+
default = null
80+
}

0 commit comments

Comments
 (0)