Skip to content

Commit ccce212

Browse files
committed
Import membership-external-v3 table to Terraform
1 parent 1094cf4 commit ccce212

File tree

3 files changed

+71
-54
lines changed

3 files changed

+71
-54
lines changed

cloudformation/main.yml

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -305,42 +305,6 @@ Resources:
305305
FunctionResponseTypes:
306306
- ReportBatchItemFailures
307307

308-
ExternalMembershipV3RecordsTable:
309-
Type: "AWS::DynamoDB::Table"
310-
DeletionPolicy: "Retain"
311-
UpdateReplacePolicy: "Retain"
312-
Properties:
313-
BillingMode: "PAY_PER_REQUEST"
314-
TableName: infra-core-api-membership-external-v3
315-
DeletionProtectionEnabled: true
316-
PointInTimeRecoverySpecification:
317-
PointInTimeRecoveryEnabled: !If [IsProd, true, false]
318-
AttributeDefinitions:
319-
- AttributeName: "netId"
320-
AttributeType: "S"
321-
- AttributeName: "memberList"
322-
AttributeType: "S"
323-
KeySchema:
324-
- AttributeName: "memberList"
325-
KeyType: "HASH"
326-
- AttributeName: "netId"
327-
KeyType: "RANGE"
328-
GlobalSecondaryIndexes:
329-
- IndexName: "invertedIndex"
330-
KeySchema:
331-
- AttributeName: "netId"
332-
KeyType: "HASH"
333-
- AttributeName: "memberList"
334-
KeyType: "RANGE"
335-
Projection:
336-
ProjectionType: "KEYS_ONLY"
337-
- IndexName: "keysOnlyIndex"
338-
KeySchema:
339-
- AttributeName: "memberList"
340-
KeyType: "HASH"
341-
Projection:
342-
ProjectionType: "KEYS_ONLY"
343-
344308
IamGroupRolesTable:
345309
Type: "AWS::DynamoDB::Table"
346310
DeletionPolicy: "Retain"

terraform/envs/prod/main.tf

Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -55,28 +55,42 @@ module "dynamo" {
5555
source = "../../modules/dynamo"
5656
ProjectId = var.ProjectId
5757
}
58-
moved {
59-
from = aws_dynamodb_table.app_audit_log
60-
to = module.dynamo.aws_dynamodb_table.app_audit_log
61-
}
6258

63-
moved {
64-
from = aws_dynamodb_table.membership_provisioning_log
65-
to = module.dynamo.aws_dynamodb_table.membership_provisioning_log
59+
import {
60+
id = "${var.ProjectId}-membership-external-v3"
61+
to = aws_dynamodb_table.external_membership
6662
}
63+
resource "aws_dynamodb_table" "external_membership" {
64+
billing_mode = "PAY_PER_REQUEST"
65+
name = "${var.ProjectId}-membership-external-v3"
66+
deletion_protection_enabled = true
67+
hash_key = "memberList"
68+
range_key = "netId"
69+
point_in_time_recovery {
70+
enabled = true
71+
}
72+
attribute {
73+
name = "netId"
74+
type = "S"
75+
}
76+
77+
attribute {
78+
name = "memberList"
79+
type = "S"
80+
}
6781

82+
global_secondary_index {
83+
name = "invertedIndex"
84+
hash_key = "netId"
85+
range_key = "memberList"
86+
projection_type = "KEYS_ONLY"
87+
}
6888

69-
moved {
70-
from = aws_dynamodb_table.api_keys
71-
to = module.dynamo.aws_dynamodb_table.api_keys
72-
}
7389

74-
moved {
75-
from = aws_dynamodb_table.room_requests
76-
to = module.dynamo.aws_dynamodb_table.room_requests
77-
}
90+
global_secondary_index {
91+
name = "keysOnlyIndex"
92+
hash_key = "memberList"
93+
projection_type = "KEYS_ONLY"
94+
}
7895

79-
moved {
80-
from = aws_dynamodb_table.room_requests_status
81-
to = module.dynamo.aws_dynamodb_table.room_requests_status
8296
}

terraform/envs/qa/main.tf

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,42 @@ module "dynamo" {
4444
source = "../../modules/dynamo"
4545
ProjectId = var.ProjectId
4646
}
47+
48+
import {
49+
id = "${var.ProjectId}-membership-external-v3"
50+
to = aws_dynamodb_table.external_membership
51+
}
52+
resource "aws_dynamodb_table" "external_membership" {
53+
billing_mode = "PAY_PER_REQUEST"
54+
name = "${var.ProjectId}-membership-external-v3"
55+
deletion_protection_enabled = true
56+
hash_key = "memberList"
57+
range_key = "netId"
58+
point_in_time_recovery {
59+
enabled = true
60+
}
61+
attribute {
62+
name = "netId"
63+
type = "S"
64+
}
65+
66+
attribute {
67+
name = "memberList"
68+
type = "S"
69+
}
70+
71+
global_secondary_index {
72+
name = "invertedIndex"
73+
hash_key = "netId"
74+
range_key = "memberList"
75+
projection_type = "KEYS_ONLY"
76+
}
77+
78+
79+
global_secondary_index {
80+
name = "keysOnlyIndex"
81+
hash_key = "memberList"
82+
projection_type = "KEYS_ONLY"
83+
}
84+
85+
}

0 commit comments

Comments
 (0)