Skip to content

Commit 4a6470e

Browse files
glue table
1 parent 58c3715 commit 4a6470e

File tree

4 files changed

+121
-0
lines changed

4 files changed

+121
-0
lines changed

infrastructure/terraform/components/api/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ No requirements.
5555
| <a name="module_patch_letter"></a> [patch\_letter](#module\_patch\_letter) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a |
5656
| <a name="module_post_letters"></a> [post\_letters](#module\_post\_letters) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a |
5757
| <a name="module_post_mi"></a> [post\_mi](#module\_post\_mi) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a |
58+
| <a name="module_s3bucket_event_reporting"></a> [s3bucket\_event\_reporting](#module\_s3bucket\_event\_reporting) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-s3bucket.zip | n/a |
5859
| <a name="module_s3bucket_test_letters"></a> [s3bucket\_test\_letters](#module\_s3bucket\_test\_letters) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-s3bucket.zip | n/a |
5960
| <a name="module_sqs_letter_updates"></a> [sqs\_letter\_updates](#module\_sqs\_letter\_updates) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-sqs.zip | n/a |
6061
| <a name="module_supplier_ssl"></a> [supplier\_ssl](#module\_supplier\_ssl) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-ssl.zip | n/a |
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
resource "aws_glue_catalog_database" "supplier" {
2+
name = "${local.csi}-supplier"
3+
description = "Glue catalog database for ${var.parameter_bundle.environment}"
4+
}
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
resource "aws_glue_catalog_table" "events" {
2+
name = "events_history"
3+
database_name = aws_glue_catalog_database.supplier.name
4+
5+
table_type = "EXTERNAL_TABLE"
6+
7+
parameters = {
8+
classification = "json"
9+
}
10+
11+
storage_descriptor {
12+
location = module.s3bucket_event_reporting.bucket_arn
13+
input_format = "org.apache.hadoop.mapred.TextInputFormat"
14+
output_format = "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"
15+
16+
columns {
17+
name = "type"
18+
type = "string"
19+
}
20+
21+
columns {
22+
name = "messageid"
23+
type = "string"
24+
}
25+
26+
columns {
27+
name = "topicarn"
28+
type = "string"
29+
}
30+
31+
columns {
32+
name = "message"
33+
type = "string"
34+
}
35+
36+
columns {
37+
name = "timestamp"
38+
type = "string"
39+
}
40+
41+
columns {
42+
name = "unsubscribeurl"
43+
type = "string"
44+
}
45+
46+
columns {
47+
name = "change"
48+
type = "double"
49+
}
50+
51+
columns {
52+
name = "price"
53+
type = "double"
54+
}
55+
56+
columns {
57+
name = "ticker_symbol"
58+
type = "string"
59+
}
60+
61+
columns {
62+
name = "sector"
63+
type = "string"
64+
}
65+
66+
columns {
67+
name = "partition_0"
68+
type = "string"
69+
}
70+
71+
columns {
72+
name = "partition_1"
73+
type = "string"
74+
}
75+
76+
columns {
77+
name = "partition_2"
78+
type = "string"
79+
}
80+
81+
columns {
82+
name = "partition_3"
83+
type = "string"
84+
}
85+
}
86+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
module "s3bucket_event_reporting" {
2+
source = "https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-s3bucket.zip"
3+
4+
name = "event-reporting"
5+
6+
aws_account_id = var.aws_account_id
7+
region = "eu-west-2"
8+
project = var.project
9+
environment = var.environment
10+
component = var.component
11+
12+
acl = "private"
13+
force_destroy = var.force_destroy
14+
versioning = false
15+
16+
bucket_logging_target = {
17+
bucket = local.acct.s3_buckets["access_logs"]["id"]
18+
}
19+
20+
public_access = {
21+
block_public_acls = true
22+
block_public_policy = true
23+
ignore_public_acls = true
24+
restrict_public_buckets = true
25+
}
26+
27+
default_tags = {
28+
Name = "Supplier API Event Reporting"
29+
}
30+
}

0 commit comments

Comments
 (0)