Map Example

Auto Map Module Generation

Below is an example of a module map using test/module_map.yaml.

Module: projectC

locals projectC:locals

Project Locals

Definition of locals projectC:locals from file locals.tf
 2locals {
 3  full_bucket_name = "${var.environment}-${var.bucket_name}"
 4
 5  common_tags = merge(
 6    {
 7      Environment = var.environment
 8      Owner       = var.owner
 9      ManagedBy   = "terraform"
10    },
11    var.tags
12  )
13}
variable bucket_name
Definition of variable bucket_name from file main.tf
28variable "bucket_name" {
29  type        = string
30  description = "The base name for the S3 bucket. A suffix will be appended to ensure global uniqueness."
31}
variable environment
Definition of variable environment from file main.tf
33variable "environment" {
34  type        = string
35  description = "Deployment environment (e.g. dev, staging, production)."
36  default     = "dev"
37}
variable owner
Definition of variable owner from file main.tf
39variable "owner" {
40  type        = string
41  description = "Team or individual responsible for this bucket."
42  default     = "unset"
43}
variable tags
Definition of variable tags from file main.tf
51variable "tags" {
52  type        = map(string)
53  description = "Additional tags to apply to all resources."
54  default     = {}
55}
variable versioning_enabled
Definition of variable versioning_enabled from file main.tf
45variable "versioning_enabled" {
46  type        = bool
47  description = "Enable S3 object versioning on the bucket."
48  default     = false
49}
terraform projectC:terraform
Definition of terraform projectC:terraform from file main.tf
18terraform {
19  required_version = ">= 1.3.0"
20  required_providers {
21    aws = {
22      source  = "hashicorp/aws"
23      version = ">= 4.0"
24    }
25  }
26}
resource aws_s3_bucket main

Primary storage bucket for project assets.

Definition of resource aws_s3_bucket main from file s3.tf
2resource "aws_s3_bucket" "main" {
3  bucket = local.full_bucket_name
4  tags   = local.common_tags
5}
resource aws_s3_bucket_public_access_block main

Block all public access by default.

Definition of resource aws_s3_bucket_public_access_block main from file s3.tf
30resource "aws_s3_bucket_public_access_block" "main" {
31  bucket = aws_s3_bucket.main.id
32
33  block_public_acls       = true
34  block_public_policy     = true
35  ignore_public_acls      = true
36  restrict_public_buckets = true
37}
resource aws_s3_bucket_server_side_encryption_configuration main
Arguments:
Definition of resource aws_s3_bucket_server_side_encryption_configuration main from file s3.tf
19resource "aws_s3_bucket_server_side_encryption_configuration" "main" {
20  bucket = aws_s3_bucket.main.id
21
22  rule {
23    apply_server_side_encryption_by_default {
24      sse_algorithm = "AES256"
25    }
26  }
27}
resource aws_s3_bucket_versioning main

Another Pre Comment

Definition of resource aws_s3_bucket_versioning main from file s3.tf
 9resource "aws_s3_bucket_versioning" "main" {
10  bucket = aws_s3_bucket.main.id
11
12  versioning_configuration {
13    status = var.versioning_enabled ? "Enabled" : "Suspended"
14  }
15}

Module: projectD

locals projectD:locals

Project Locals

Definition of locals projectD:locals from file locals.tf
 2locals {
 3  full_bucket_name = "${var.environment}-${var.bucket_name}"
 4
 5  common_tags = merge(
 6    {
 7      Environment = var.environment
 8      Owner       = var.owner
 9      ManagedBy   = "terraform"
10    },
11    var.tags
12  )
13}
variable bucket_name
Definition of variable bucket_name from file main.tf
28variable "bucket_name" {
29  type        = string
30  description = "The base name for the S3 bucket. A suffix will be appended to ensure global uniqueness."
31}
variable environment
Definition of variable environment from file main.tf
33variable "environment" {
34  type        = string
35  description = "Deployment environment (e.g. dev, staging, production)."
36  default     = "dev"
37}
variable owner
Definition of variable owner from file main.tf
39variable "owner" {
40  type        = string
41  description = "Team or individual responsible for this bucket."
42  default     = "unset"
43}
variable tags
Definition of variable tags from file main.tf
51variable "tags" {
52  type        = map(string)
53  description = "Additional tags to apply to all resources."
54  default     = {}
55}
variable versioning_enabled
Definition of variable versioning_enabled from file main.tf
45variable "versioning_enabled" {
46  type        = bool
47  description = "Enable S3 object versioning on the bucket."
48  default     = false
49}
terraform projectD:terraform
Definition of terraform projectD:terraform from file main.tf
18terraform {
19  required_version = ">= 1.3.0"
20  required_providers {
21    aws = {
22      source  = "hashicorp/aws"
23      version = ">= 4.0"
24    }
25  }
26}
resource aws_s3_bucket main

Primary storage bucket for project assets.

Definition of resource aws_s3_bucket main from file s3.tf
2resource "aws_s3_bucket" "main" {
3  bucket = local.full_bucket_name
4  tags   = local.common_tags
5}
resource aws_s3_bucket_public_access_block main

Block all public access by default.

Definition of resource aws_s3_bucket_public_access_block main from file s3.tf
30resource "aws_s3_bucket_public_access_block" "main" {
31  bucket = aws_s3_bucket.main.id
32
33  block_public_acls       = true
34  block_public_policy     = true
35  ignore_public_acls      = true
36  restrict_public_buckets = true
37}
resource aws_s3_bucket_server_side_encryption_configuration main
Arguments:
Definition of resource aws_s3_bucket_server_side_encryption_configuration main from file s3.tf
19resource "aws_s3_bucket_server_side_encryption_configuration" "main" {
20  bucket = aws_s3_bucket.main.id
21
22  rule {
23    apply_server_side_encryption_by_default {
24      sse_algorithm = "AES256"
25    }
26  }
27}
resource aws_s3_bucket_versioning main

Another Pre Comment

Definition of resource aws_s3_bucket_versioning main from file s3.tf
 9resource "aws_s3_bucket_versioning" "main" {
10  bucket = aws_s3_bucket.main.id
11
12  versioning_configuration {
13    status = var.versioning_enabled ? "Enabled" : "Suspended"
14  }
15}

Module: projectE

locals projectE:locals

Project Locals

Definition of locals projectE:locals from file locals.tf
 2locals {
 3  full_bucket_name = "${var.environment}-${var.bucket_name}"
 4
 5  common_tags = merge(
 6    {
 7      Environment = var.environment
 8      Owner       = var.owner
 9      ManagedBy   = "terraform"
10    },
11    var.tags
12  )
13}
variable bucket_name
Definition of variable bucket_name from file main.tf
28variable "bucket_name" {
29  type        = string
30  description = "The base name for the S3 bucket. A suffix will be appended to ensure global uniqueness."
31}
variable environment
Definition of variable environment from file main.tf
33variable "environment" {
34  type        = string
35  description = "Deployment environment (e.g. dev, staging, production)."
36  default     = "dev"
37}
variable owner
Definition of variable owner from file main.tf
39variable "owner" {
40  type        = string
41  description = "Team or individual responsible for this bucket."
42  default     = "unset"
43}
variable tags
Definition of variable tags from file main.tf
51variable "tags" {
52  type        = map(string)
53  description = "Additional tags to apply to all resources."
54  default     = {}
55}
variable versioning_enabled
Definition of variable versioning_enabled from file main.tf
45variable "versioning_enabled" {
46  type        = bool
47  description = "Enable S3 object versioning on the bucket."
48  default     = false
49}
terraform projectE:terraform
Definition of terraform projectE:terraform from file main.tf
18terraform {
19  required_version = ">= 1.3.0"
20  required_providers {
21    aws = {
22      source  = "hashicorp/aws"
23      version = ">= 4.0"
24    }
25  }
26}
resource aws_s3_bucket main

Primary storage bucket for project assets.

Definition of resource aws_s3_bucket main from file s3.tf
2resource "aws_s3_bucket" "main" {
3  bucket = local.full_bucket_name
4  tags   = local.common_tags
5}
resource aws_s3_bucket_public_access_block main

Block all public access by default.

Definition of resource aws_s3_bucket_public_access_block main from file s3.tf
30resource "aws_s3_bucket_public_access_block" "main" {
31  bucket = aws_s3_bucket.main.id
32
33  block_public_acls       = true
34  block_public_policy     = true
35  ignore_public_acls      = true
36  restrict_public_buckets = true
37}
resource aws_s3_bucket_server_side_encryption_configuration main
Arguments:
Definition of resource aws_s3_bucket_server_side_encryption_configuration main from file s3.tf
19resource "aws_s3_bucket_server_side_encryption_configuration" "main" {
20  bucket = aws_s3_bucket.main.id
21
22  rule {
23    apply_server_side_encryption_by_default {
24      sse_algorithm = "AES256"
25    }
26  }
27}
resource aws_s3_bucket_versioning main

Another Pre Comment

Definition of resource aws_s3_bucket_versioning main from file s3.tf
 9resource "aws_s3_bucket_versioning" "main" {
10  bucket = aws_s3_bucket.main.id
11
12  versioning_configuration {
13    status = var.versioning_enabled ? "Enabled" : "Suspended"
14  }
15}

Module: projectF

locals projectF:locals

Project Locals

Definition of locals projectF:locals from file locals.tf
 2locals {
 3  full_bucket_name = "${var.environment}-${var.bucket_name}"
 4
 5  common_tags = merge(
 6    {
 7      Environment = var.environment
 8      Owner       = var.owner
 9      ManagedBy   = "terraform"
10    },
11    var.tags
12  )
13}
variable bucket_name
Definition of variable bucket_name from file main.tf
28variable "bucket_name" {
29  type        = string
30  description = "The base name for the S3 bucket. A suffix will be appended to ensure global uniqueness."
31}
variable environment
Definition of variable environment from file main.tf
33variable "environment" {
34  type        = string
35  description = "Deployment environment (e.g. dev, staging, production)."
36  default     = "dev"
37}
variable owner
Definition of variable owner from file main.tf
39variable "owner" {
40  type        = string
41  description = "Team or individual responsible for this bucket."
42  default     = "unset"
43}
variable tags
Definition of variable tags from file main.tf
51variable "tags" {
52  type        = map(string)
53  description = "Additional tags to apply to all resources."
54  default     = {}
55}
variable versioning_enabled
Definition of variable versioning_enabled from file main.tf
45variable "versioning_enabled" {
46  type        = bool
47  description = "Enable S3 object versioning on the bucket."
48  default     = false
49}
terraform projectF:terraform
Definition of terraform projectF:terraform from file main.tf
18terraform {
19  required_version = ">= 1.3.0"
20  required_providers {
21    aws = {
22      source  = "hashicorp/aws"
23      version = ">= 4.0"
24    }
25  }
26}
resource aws_s3_bucket main

Primary storage bucket for project assets.

Definition of resource aws_s3_bucket main from file s3.tf
2resource "aws_s3_bucket" "main" {
3  bucket = local.full_bucket_name
4  tags   = local.common_tags
5}
resource aws_s3_bucket_public_access_block main

Block all public access by default.

Definition of resource aws_s3_bucket_public_access_block main from file s3.tf
30resource "aws_s3_bucket_public_access_block" "main" {
31  bucket = aws_s3_bucket.main.id
32
33  block_public_acls       = true
34  block_public_policy     = true
35  ignore_public_acls      = true
36  restrict_public_buckets = true
37}
resource aws_s3_bucket_server_side_encryption_configuration main
Arguments:
Definition of resource aws_s3_bucket_server_side_encryption_configuration main from file s3.tf
19resource "aws_s3_bucket_server_side_encryption_configuration" "main" {
20  bucket = aws_s3_bucket.main.id
21
22  rule {
23    apply_server_side_encryption_by_default {
24      sse_algorithm = "AES256"
25    }
26  }
27}
resource aws_s3_bucket_versioning main

Another Pre Comment

Definition of resource aws_s3_bucket_versioning main from file s3.tf
 9resource "aws_s3_bucket_versioning" "main" {
10  bucket = aws_s3_bucket.main.id
11
12  versioning_configuration {
13    status = var.versioning_enabled ? "Enabled" : "Suspended"
14  }
15}

Module: projectG

locals projectG:locals

Project Locals

Definition of locals projectG:locals from file locals.tf
 2locals {
 3  full_bucket_name = "${var.environment}-${var.bucket_name}"
 4
 5  common_tags = merge(
 6    {
 7      Environment = var.environment
 8      Owner       = var.owner
 9      ManagedBy   = "terraform"
10    },
11    var.tags
12  )
13}
variable bucket_name
Definition of variable bucket_name from file main.tf
28variable "bucket_name" {
29  type        = string
30  description = "The base name for the S3 bucket. A suffix will be appended to ensure global uniqueness."
31}
variable environment
Definition of variable environment from file main.tf
33variable "environment" {
34  type        = string
35  description = "Deployment environment (e.g. dev, staging, production)."
36  default     = "dev"
37}
variable owner
Definition of variable owner from file main.tf
39variable "owner" {
40  type        = string
41  description = "Team or individual responsible for this bucket."
42  default     = "unset"
43}
variable tags
Definition of variable tags from file main.tf
51variable "tags" {
52  type        = map(string)
53  description = "Additional tags to apply to all resources."
54  default     = {}
55}
variable versioning_enabled
Definition of variable versioning_enabled from file main.tf
45variable "versioning_enabled" {
46  type        = bool
47  description = "Enable S3 object versioning on the bucket."
48  default     = false
49}
terraform projectG:terraform
Definition of terraform projectG:terraform from file main.tf
18terraform {
19  required_version = ">= 1.3.0"
20  required_providers {
21    aws = {
22      source  = "hashicorp/aws"
23      version = ">= 4.0"
24    }
25  }
26}
resource aws_s3_bucket main

Primary storage bucket for project assets.

Definition of resource aws_s3_bucket main from file s3.tf
2resource "aws_s3_bucket" "main" {
3  bucket = local.full_bucket_name
4  tags   = local.common_tags
5}
resource aws_s3_bucket_public_access_block main

Block all public access by default.

Definition of resource aws_s3_bucket_public_access_block main from file s3.tf
30resource "aws_s3_bucket_public_access_block" "main" {
31  bucket = aws_s3_bucket.main.id
32
33  block_public_acls       = true
34  block_public_policy     = true
35  ignore_public_acls      = true
36  restrict_public_buckets = true
37}
resource aws_s3_bucket_server_side_encryption_configuration main
Arguments:
Definition of resource aws_s3_bucket_server_side_encryption_configuration main from file s3.tf
19resource "aws_s3_bucket_server_side_encryption_configuration" "main" {
20  bucket = aws_s3_bucket.main.id
21
22  rule {
23    apply_server_side_encryption_by_default {
24      sse_algorithm = "AES256"
25    }
26  }
27}
resource aws_s3_bucket_versioning main

Another Pre Comment

Definition of resource aws_s3_bucket_versioning main from file s3.tf
 9resource "aws_s3_bucket_versioning" "main" {
10  bucket = aws_s3_bucket.main.id
11
12  versioning_configuration {
13    status = var.versioning_enabled ? "Enabled" : "Suspended"
14  }
15}

Module: projectH

locals projectH:locals

Project Locals

Definition of locals projectH:locals from file locals.tf
 2locals {
 3  full_bucket_name = "${var.environment}-${var.bucket_name}"
 4
 5  common_tags = merge(
 6    {
 7      Environment = var.environment
 8      Owner       = var.owner
 9      ManagedBy   = "terraform"
10    },
11    var.tags
12  )
13}
variable bucket_name
Definition of variable bucket_name from file main.tf
28variable "bucket_name" {
29  type        = string
30  description = "The base name for the S3 bucket. A suffix will be appended to ensure global uniqueness."
31}
variable environment
Definition of variable environment from file main.tf
33variable "environment" {
34  type        = string
35  description = "Deployment environment (e.g. dev, staging, production)."
36  default     = "dev"
37}
variable owner
Definition of variable owner from file main.tf
39variable "owner" {
40  type        = string
41  description = "Team or individual responsible for this bucket."
42  default     = "unset"
43}
variable tags
Definition of variable tags from file main.tf
51variable "tags" {
52  type        = map(string)
53  description = "Additional tags to apply to all resources."
54  default     = {}
55}
variable versioning_enabled
Definition of variable versioning_enabled from file main.tf
45variable "versioning_enabled" {
46  type        = bool
47  description = "Enable S3 object versioning on the bucket."
48  default     = false
49}
terraform projectH:terraform
Definition of terraform projectH:terraform from file main.tf
18terraform {
19  required_version = ">= 1.3.0"
20  required_providers {
21    aws = {
22      source  = "hashicorp/aws"
23      version = ">= 4.0"
24    }
25  }
26}
resource aws_s3_bucket main

Primary storage bucket for project assets.

Definition of resource aws_s3_bucket main from file s3.tf
2resource "aws_s3_bucket" "main" {
3  bucket = local.full_bucket_name
4  tags   = local.common_tags
5}
resource aws_s3_bucket_public_access_block main

Block all public access by default.

Definition of resource aws_s3_bucket_public_access_block main from file s3.tf
30resource "aws_s3_bucket_public_access_block" "main" {
31  bucket = aws_s3_bucket.main.id
32
33  block_public_acls       = true
34  block_public_policy     = true
35  ignore_public_acls      = true
36  restrict_public_buckets = true
37}
resource aws_s3_bucket_server_side_encryption_configuration main
Arguments:
Definition of resource aws_s3_bucket_server_side_encryption_configuration main from file s3.tf
19resource "aws_s3_bucket_server_side_encryption_configuration" "main" {
20  bucket = aws_s3_bucket.main.id
21
22  rule {
23    apply_server_side_encryption_by_default {
24      sse_algorithm = "AES256"
25    }
26  }
27}
resource aws_s3_bucket_versioning main

Another Pre Comment

Definition of resource aws_s3_bucket_versioning main from file s3.tf
 9resource "aws_s3_bucket_versioning" "main" {
10  bucket = aws_s3_bucket.main.id
11
12  versioning_configuration {
13    status = var.versioning_enabled ? "Enabled" : "Suspended"
14  }
15}

Module: projectI

locals projectI:locals

Project Locals

Definition of locals projectI:locals from file locals.tf
 2locals {
 3  full_bucket_name = "${var.environment}-${var.bucket_name}"
 4
 5  common_tags = merge(
 6    {
 7      Environment = var.environment
 8      Owner       = var.owner
 9      ManagedBy   = "terraform"
10    },
11    var.tags
12  )
13}
variable bucket_name
Definition of variable bucket_name from file main.tf
28variable "bucket_name" {
29  type        = string
30  description = "The base name for the S3 bucket. A suffix will be appended to ensure global uniqueness."
31}
variable environment
Definition of variable environment from file main.tf
33variable "environment" {
34  type        = string
35  description = "Deployment environment (e.g. dev, staging, production)."
36  default     = "dev"
37}
variable owner
Definition of variable owner from file main.tf
39variable "owner" {
40  type        = string
41  description = "Team or individual responsible for this bucket."
42  default     = "unset"
43}
variable tags
Definition of variable tags from file main.tf
51variable "tags" {
52  type        = map(string)
53  description = "Additional tags to apply to all resources."
54  default     = {}
55}
variable versioning_enabled
Definition of variable versioning_enabled from file main.tf
45variable "versioning_enabled" {
46  type        = bool
47  description = "Enable S3 object versioning on the bucket."
48  default     = false
49}
terraform projectI:terraform
Definition of terraform projectI:terraform from file main.tf
18terraform {
19  required_version = ">= 1.3.0"
20  required_providers {
21    aws = {
22      source  = "hashicorp/aws"
23      version = ">= 4.0"
24    }
25  }
26}
resource aws_s3_bucket main

Primary storage bucket for project assets.

Definition of resource aws_s3_bucket main from file s3.tf
2resource "aws_s3_bucket" "main" {
3  bucket = local.full_bucket_name
4  tags   = local.common_tags
5}
resource aws_s3_bucket_public_access_block main

Block all public access by default.

Definition of resource aws_s3_bucket_public_access_block main from file s3.tf
30resource "aws_s3_bucket_public_access_block" "main" {
31  bucket = aws_s3_bucket.main.id
32
33  block_public_acls       = true
34  block_public_policy     = true
35  ignore_public_acls      = true
36  restrict_public_buckets = true
37}
resource aws_s3_bucket_server_side_encryption_configuration main
Arguments:
Definition of resource aws_s3_bucket_server_side_encryption_configuration main from file s3.tf
19resource "aws_s3_bucket_server_side_encryption_configuration" "main" {
20  bucket = aws_s3_bucket.main.id
21
22  rule {
23    apply_server_side_encryption_by_default {
24      sse_algorithm = "AES256"
25    }
26  }
27}
resource aws_s3_bucket_versioning main

Another Pre Comment

Definition of resource aws_s3_bucket_versioning main from file s3.tf
 9resource "aws_s3_bucket_versioning" "main" {
10  bucket = aws_s3_bucket.main.id
11
12  versioning_configuration {
13    status = var.versioning_enabled ? "Enabled" : "Suspended"
14  }
15}

Module: projectJ

locals projectJ:locals

Project Locals

Definition of locals projectJ:locals from file locals.tf
 2locals {
 3  full_bucket_name = "${var.environment}-${var.bucket_name}"
 4
 5  common_tags = merge(
 6    {
 7      Environment = var.environment
 8      Owner       = var.owner
 9      ManagedBy   = "terraform"
10    },
11    var.tags
12  )
13}
variable bucket_name
Definition of variable bucket_name from file main.tf
28variable "bucket_name" {
29  type        = string
30  description = "The base name for the S3 bucket. A suffix will be appended to ensure global uniqueness."
31}
variable environment
Definition of variable environment from file main.tf
33variable "environment" {
34  type        = string
35  description = "Deployment environment (e.g. dev, staging, production)."
36  default     = "dev"
37}
variable owner
Definition of variable owner from file main.tf
39variable "owner" {
40  type        = string
41  description = "Team or individual responsible for this bucket."
42  default     = "unset"
43}
variable tags
Definition of variable tags from file main.tf
51variable "tags" {
52  type        = map(string)
53  description = "Additional tags to apply to all resources."
54  default     = {}
55}
variable versioning_enabled
Definition of variable versioning_enabled from file main.tf
45variable "versioning_enabled" {
46  type        = bool
47  description = "Enable S3 object versioning on the bucket."
48  default     = false
49}
terraform projectJ:terraform
Definition of terraform projectJ:terraform from file main.tf
18terraform {
19  required_version = ">= 1.3.0"
20  required_providers {
21    aws = {
22      source  = "hashicorp/aws"
23      version = ">= 4.0"
24    }
25  }
26}
resource aws_s3_bucket main

Primary storage bucket for project assets.

Definition of resource aws_s3_bucket main from file s3.tf
2resource "aws_s3_bucket" "main" {
3  bucket = local.full_bucket_name
4  tags   = local.common_tags
5}
resource aws_s3_bucket_public_access_block main

Block all public access by default.

Definition of resource aws_s3_bucket_public_access_block main from file s3.tf
30resource "aws_s3_bucket_public_access_block" "main" {
31  bucket = aws_s3_bucket.main.id
32
33  block_public_acls       = true
34  block_public_policy     = true
35  ignore_public_acls      = true
36  restrict_public_buckets = true
37}
resource aws_s3_bucket_server_side_encryption_configuration main
Arguments:
Definition of resource aws_s3_bucket_server_side_encryption_configuration main from file s3.tf
19resource "aws_s3_bucket_server_side_encryption_configuration" "main" {
20  bucket = aws_s3_bucket.main.id
21
22  rule {
23    apply_server_side_encryption_by_default {
24      sse_algorithm = "AES256"
25    }
26  }
27}
resource aws_s3_bucket_versioning main

Another Pre Comment

Definition of resource aws_s3_bucket_versioning main from file s3.tf
 9resource "aws_s3_bucket_versioning" "main" {
10  bucket = aws_s3_bucket.main.id
11
12  versioning_configuration {
13    status = var.versioning_enabled ? "Enabled" : "Suspended"
14  }
15}