prefix

Type string
Module naming-convention
Version 0.1.0

Generated naming prefix for resources (combines environment, project, and optional region_code)

The generated naming prefix combines all input components using the configured separator. Use this prefix when creating AWS resources to ensure consistent naming across your infrastructure.

Example Values

# With region_code
prod-myapp-use1

# Without region_code
prod-myapp

# With underscore separator
prod_myapp_use1

Common Use Cases

S3 Bucket Naming

resource "aws_s3_bucket" "data" {
  bucket = "${module.naming.prefix}-data"
  tags   = module.naming.tags
}
# Result: prod-myapp-use1-data

EC2 Instance Naming

resource "aws_instance" "web" {
  tags = merge(module.naming.tags, {
    Name = "${module.naming.prefix}-web-01"
  })
}
# Result: prod-myapp-use1-web-01

Lambda Function Naming

module "api_handler" {
  source  = "registry.patterneddesigns.ca/patterneddesigns/lambda-function/aws"
  version = "3.1.0"

  function_name = "${module.naming.prefix}-api-handler"
  # ...
}
# Result: prod-myapp-use1-api-handler

RDS Instance Identifier

resource "aws_db_instance" "main" {
  identifier = "${module.naming.prefix}-postgres"
  tags       = module.naming.tags
}
# Result: prod-myapp-use1-postgres

Usage

module "naming_convention" {
  source  = "registry.patterneddesigns.ca/standardnat/naming-convention/aws"
  version = "0.1.0"
  # ... inputs
}

# Access this output
output "prefix" {
  value = module.naming_convention.prefix
}