Skip to content

Commit 34795a5

Browse files
authored
feat: add variable to allow setting customer managed key on s3 bucket encryption (#11)
1 parent aaed5d0 commit 34795a5

File tree

7 files changed

+21
-4
lines changed

7 files changed

+21
-4
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/antonbabenko/pre-commit-terraform
3-
rev: v1.62.2
3+
rev: v1.62.3
44
hooks:
55
- id: terraform_fmt
66
- id: terraform_validate

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ Examples codified under the [`examples`](./examples) are intended to give users
106106
| <a name="input_api_vpce_subnet_ids"></a> [api\_vpce\_subnet\_ids](#input\_api\_vpce\_subnet\_ids) | IDs of subnets to associate with API endpoint | `list(string)` | `[]` | no |
107107
| <a name="input_api_vpce_tags"></a> [api\_vpce\_tags](#input\_api\_vpce\_tags) | A map of tags to apply to the API endpoint | `map(string)` | `{}` | no |
108108
| <a name="input_bucket_attach_deny_insecure_transport_policy"></a> [bucket\_attach\_deny\_insecure\_transport\_policy](#input\_bucket\_attach\_deny\_insecure\_transport\_policy) | Controls if S3 bucket should have deny non-SSL transport policy attacheds | `bool` | `true` | no |
109+
| <a name="input_bucket_encryption_settings"></a> [bucket\_encryption\_settings](#input\_bucket\_encryption\_settings) | S3 bucket server side encryption settings | `map(string)` | <pre>{<br> "sse_algorithm": "AES256"<br>}</pre> | no |
109110
| <a name="input_bucket_name"></a> [bucket\_name](#input\_bucket\_name) | Lambda artifact S3 bucket name | `string` | `""` | no |
110111
| <a name="input_create_agent_vpce"></a> [create\_agent\_vpce](#input\_create\_agent\_vpce) | Controls whether an agent endpoint should be created | `bool` | `false` | no |
111112
| <a name="input_create_api_vpce"></a> [create\_api\_vpce](#input\_create\_api\_vpce) | Controls whether a API endpoint should be created | `bool` | `false` | no |

main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ module "log_forwarder" {
3030
bucket_name = var.bucket_name
3131
bucket_prefix = var.log_forwarder_bucket_prefix
3232
bucket_attach_deny_insecure_transport_policy = var.bucket_attach_deny_insecure_transport_policy
33+
bucket_encryption_settings = var.bucket_encryption_settings
3334

3435
s3_zip_storage_class = var.log_forwarder_s3_zip_storage_class
3536
s3_zip_server_side_encryption = var.log_forwarder_s3_zip_server_side_encryption

modules/log_forwarder/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ module "datadog_log_forwarder" {
8080
| Name | Description | Type | Default | Required |
8181
|------|-------------|------|---------|:--------:|
8282
| <a name="input_bucket_attach_deny_insecure_transport_policy"></a> [bucket\_attach\_deny\_insecure\_transport\_policy](#input\_bucket\_attach\_deny\_insecure\_transport\_policy) | Controls if S3 bucket should have deny non-SSL transport policy attacheds | `bool` | `false` | no |
83+
| <a name="input_bucket_encryption_settings"></a> [bucket\_encryption\_settings](#input\_bucket\_encryption\_settings) | S3 bucket server side encryption settings | `map(string)` | <pre>{<br> "sse_algorithm": "AES256"<br>}</pre> | no |
8384
| <a name="input_bucket_name"></a> [bucket\_name](#input\_bucket\_name) | Forwarder S3 bucket name | `string` | `""` | no |
8485
| <a name="input_bucket_prefix"></a> [bucket\_prefix](#input\_bucket\_prefix) | S3 object key prefix to prepend to zip archive name | `string` | `""` | no |
8586
| <a name="input_create"></a> [create](#input\_create) | Controls whether the forwarder resources should be created | `bool` | `true` | no |

modules/log_forwarder/main.tf

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,7 @@ module "this_s3_bucket" {
4343

4444
server_side_encryption_configuration = {
4545
rule = {
46-
apply_server_side_encryption_by_default = {
47-
sse_algorithm = "AES256"
48-
}
46+
apply_server_side_encryption_by_default = var.bucket_encryption_settings
4947
}
5048
}
5149

modules/log_forwarder/variables.tf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ variable "bucket_attach_deny_insecure_transport_policy" {
4848
default = false
4949
}
5050

51+
variable "bucket_encryption_settings" {
52+
description = "S3 bucket server side encryption settings"
53+
type = map(string)
54+
default = {
55+
sse_algorithm = "AES256"
56+
}
57+
}
58+
5159
# Forwarder S3 Zip Objcet
5260
variable "bucket_prefix" {
5361
description = "S3 object key prefix to prepend to zip archive name"

variables.tf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,14 @@ variable "bucket_attach_deny_insecure_transport_policy" {
5353
default = true
5454
}
5555

56+
variable "bucket_encryption_settings" {
57+
description = "S3 bucket server side encryption settings"
58+
type = map(string)
59+
default = {
60+
sse_algorithm = "AES256"
61+
}
62+
}
63+
5664
# Log Forwarder S3 Objcet
5765
variable "log_forwarder_bucket_prefix" {
5866
description = "S3 object key prefix to prepend to zip archive name"

0 commit comments

Comments
 (0)