@@ -12,6 +12,7 @@ Creates an S3 bucket suitable for receiving VPC flow logs from one or more AWS a
1212Example:
1313
1414
15+ Create the bucket with this module.
1516```
1617module "vpcflowlog-bucket" {
1718 source = "rhythmictech/aws-vpcflowlogs/terraform"
@@ -21,13 +22,27 @@ module "vpcflowlog-bucket" {
2122}
2223```
2324
25+ Then create the flow logs in each of the allowed accounts. Logs will flow back to the bucket in the original account.
26+ ```
27+ module "vpcflowlogs" {
28+ source = "git::https://github.com/rhythmictech/terraform-aws-vpcflowlogs.git"
29+
30+ create_bucket = false
31+ create_kms_key = false
32+ region = var.region
33+ vpc_ids = [module.vpc.vpc_id]
34+ vpcflowlog_bucket = module.vpcflowlog-bucket.s3_bucket_name
35+ vpcflowlog_kms_key = module.vpcflowlog-bucket.kms_key_id
36+ }
37+ ```
38+
2439<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
2540## Requirements
2641
2742| Name | Version |
2843| ------| ---------|
2944| <a name =" requirement_terraform " ></a > [ terraform] ( #requirement\_ terraform ) | >= 0.13.4 |
30- | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 3.8 |
45+ | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 4 |
3146
3247## Providers
3348
@@ -46,8 +61,13 @@ No modules.
4661| [ aws_kms_alias.this] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_alias ) | resource |
4762| [ aws_kms_key.this] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_key ) | resource |
4863| [ aws_s3_bucket.this] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket ) | resource |
64+ | [ aws_s3_bucket_acl.this] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_acl ) | resource |
65+ | [ aws_s3_bucket_lifecycle_configuration.this] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_lifecycle_configuration ) | resource |
66+ | [ aws_s3_bucket_logging.this] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_logging ) | resource |
4967| [ aws_s3_bucket_policy.this] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy ) | resource |
5068| [ aws_s3_bucket_public_access_block.this] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block ) | resource |
69+ | [ aws_s3_bucket_server_side_encryption_configuration.this] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_server_side_encryption_configuration ) | resource |
70+ | [ aws_s3_bucket_versioning.this] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_versioning ) | resource |
5171| [ aws_caller_identity.current] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity ) | data source |
5272| [ aws_iam_policy_document.key] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document ) | data source |
5373| [ aws_iam_policy_document.this] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document ) | data source |
@@ -58,6 +78,7 @@ No modules.
5878| Name | Description | Type | Default | Required |
5979| ------| -------------| ------| ---------| :--------:|
6080| <a name =" input_allowed_account_ids " ></a > [ allowed\_ account\_ ids] ( #input\_ allowed\_ account\_ ids ) | Optional list of AWS Account IDs that are permitted to write to the bucket | ` list(string) ` | ` [] ` | no |
81+ | <a name =" input_lifecycle_rules " ></a > [ lifecycle\_ rules] ( #input\_ lifecycle\_ rules ) | lifecycle rules to apply to the bucket | <pre >list(object(<br > {<br > id = string<br > enabled = optional(bool, true)<br > expiration = optional(number)<br > prefix = optional(number)<br > noncurrent_version_expiration = optional(number)<br > transition = optional(list(object({<br > days = number<br > storage_class = string<br > })))<br > }))</pre > | <pre >[ <br > {<br > "id": "expire-noncurrent-objects-after-ninety-days",<br > "noncurrent_version_expiration": 90<br > },<br > {<br > "id": "transition-to-IA-after-30-days",<br > "transition": [ <br > {<br > "days": 30,<br > "storage_class": "STANDARD_IA"<br > }<br > ] <br > },<br > {<br > "expiration": 2557,<br > "id": "delete-after-seven-years"<br > }<br >] </pre > | no |
6182| <a name =" input_logging_bucket " ></a > [ logging\_ bucket] ( #input\_ logging\_ bucket ) | S3 bucket to send request logs to the VPC flow log bucket to | ` string ` | n/a | yes |
6283| <a name =" input_region " ></a > [ region] ( #input\_ region ) | Region VPC flow logs will be sent to | ` string ` | n/a | yes |
6384| <a name =" input_tags " ></a > [ tags] ( #input\_ tags ) | Tags to include on resources that support it | ` map(string) ` | ` {} ` | no |
0 commit comments