nomenclature.md

Naming Standards — Module Reference Table

Note: This table is a reference, not an exhaustive audit. The purpose of this document is to illustrate the approach to nomenclature consistently, at a glance, across the module set.

Rubric (recap)

${var.name}-<token>[-<qualifier>]
  • var.name — caller-supplied identity prefix (environment/workload/stack)
  • <token> — short, fixed abbreviation for the resource type
  • <qualifier> — tier or for_each map key, only when multiple instances exist

Reference Table

AWS Resource Token Naming Convention (var syntax) Comments / Rubric Elaboration Example
account acct ${var.name}-acct AWS Organizations account; qualifier usually unnecessary (module is typically singleton per invocation) hca-shared-services-acct
account-contacts acct-contact ${var.name}-acct-contact-${each.key} Qualifier = contact type key (billing/security/operations) hca-shared-services-acct-contact-billing
acm cert ${var.name}-cert-${each.key} Qualifier = domain/SAN key when multiple certs are issued per module call hca-app-cert-primary
api-gateway apigw ${var.name}-apigw Stage as separate qualifier if multiple stages are managed in one call hca-orders-apigw
backup bkp-plan / bkp-vault ${var.name}-bkp-vault, ${var.name}-bkp-plan-${each.key} Vault likely singleton; plan qualifier = schedule/tier key (daily/weekly) hca-prod-bkp-vault, hca-prod-bkp-plan-daily
cloudfront cf ${var.name}-cf-${each.key} Qualifier only if multiple distributions per call hca-static-cf
cloudtrail ct ${var.name}-ct Org-level trail, typically singleton per account hca-shared-services-ct
cloudwatch cw-log / cw-alarm ${var.name}-cw-log-${each.key}, ${var.name}-cw-alarm-${each.key} Qualifier = log group purpose or alarm metric key hca-app-cw-log-access, hca-app-cw-alarm-cpu-high
config cfg ${var.name}-cfg-recorder, ${var.name}-cfg-rule-${each.key} Config recorder as fixed-key singleton (mirrors igw pattern); rules use qualifier per rule name hca-shared-services-cfg-recorder, hca-shared-services-cfg-rule-s3-encrypted
dynamodb ddb ${var.name}-ddb-${each.key} Qualifier = table logical key when multiple tables per call hca-orders-ddb-transactions
ebs ebs ${var.name}-ebs-${each.key} Qualifier = volume purpose/mount key hca-app01-ebs-data
ec2-autoscaling asg ${var.name}-asg-${each.key} Qualifier = workload/tier key when multiple ASGs per call hca-web-asg-frontend
ec2-node ec2 ${var.name}-ec2-${each.key} Qualifier = instance role/index key hca-mecm-ec2
efs efs ${var.name}-efs Singleton per call unless multiple file systems are provisioned together hca-shared-efs
eks-cluster eks ${var.name}-eks Cluster name itself; node groups handled by companion module hca-platform-eks
eks-nodes eks-ng ${var.name}-eks-ng-${each.key} Qualifier = node group key (e.g. spot/on-demand, workload class) hca-platform-eks-ng-general
elasticache cache ${var.name}-cache-${each.key} Qualifier = cluster/replication group key hca-session-cache-redis
eventbridge evb ${var.name}-evb-${each.key} Qualifier = bus or rule key hca-orders-evb-bus
fsx-windows fsx ${var.name}-fsx Singleton per call hca-bbwd-fsx
guardduty gd ${var.name}-gd Detector is typically singleton per account hca-shared-services-gd
guardduty-member gd-member ${var.name}-gd-member-${each.key} Qualifier = member account key when inviting multiple accounts hca-org-gd-member-workloads
iam-access-analyzer iam-aa ${var.name}-iam-aa Singleton analyzer per account/org hca-shared-services-iam-aa
iam-identity-provider iam-idp ${var.name}-iam-idp-${each.key} Qualifier = provider key (OIDC/SAML source) hca-shared-services-iam-idp-bitbucket
iam-policy iam-pol ${var.name}-iam-pol-${each.key} Qualifier = policy purpose key hca-platform-iam-pol-readonly
iam-role iam-role ${var.name}-iam-role-${each.key} Qualifier = role purpose key (mirrors flow-log-role pattern in VPC module) hca-platform-iam-role-flow-log
inspector insp ${var.name}-insp Singleton scan configuration per account hca-shared-services-insp
kms kms ${var.name}-kms-${each.key} Qualifier = key purpose (e.g. s3, ebs, secrets) hca-platform-kms-s3
lambda fn ${var.name}-fn-${each.key} Qualifier = function purpose key hca-orders-fn-processor
load-balancer lb ${var.name}-lb-${each.key} Qualifier = tier/type key (internal/external, alb/nlb) hca-web-lb-external
nacl nacl ${var.name}-nacl-${each.key} Qualifier = subnet tier key, mirrors VPC module's subnet tiering hca-shared-services-nacl-private
organization org ${var.name}-org Singleton per AWS Organization hca-org
ou ou ${var.name}-ou-${each.key} Qualifier = OU key hca-ou-workloads
ram-acceptance ram-accept ${var.name}-ram-accept-${each.key} Qualifier = share/resource key being accepted hca-shared-services-ram-accept-vpc-subnets
ram-share ram-share ${var.name}-ram-share-${each.key} Qualifier = shared resource key; pairs with ram-acceptance on the participant side hca-networking-ram-share-vpc-subnets
rds-oracle rds-ora ${var.name}-rds-ora-${each.key} Qualifier = instance/cluster key hca-erp-rds-ora-primary
rds-postgres rds-pg ${var.name}-rds-pg-${each.key} Qualifier = instance/cluster key hca-app-rds-pg-primary
redshift rs ${var.name}-rs-${each.key} Qualifier = cluster key hca-analytics-rs-main
route53 r53 ${var.name}-r53-${each.key} Qualifier = zone or record-set purpose key hca-platform-r53-internal
s3-bucket s3 ${var.name}-s3-${each.key} Qualifier = bucket purpose key (must also satisfy S3 global-uniqueness separately) hca-platform-s3-logs
scp scp ${var.name}-scp-${each.key} Qualifier = policy purpose key hca-org-scp-deny-root
secrets-manager secret ${var.name}-secret-${each.key} Qualifier = secret purpose key hca-app-secret-db-creds
security-groups sg ${var.name}-sg-${each.key} Qualifier = tier/role key hca-web-sg-frontend
security-hub sh ${var.name}-sh Singleton per account hca-shared-services-sh
sns sns ${var.name}-sns-${each.key} Qualifier = topic purpose key hca-platform-sns-alerts
sqs sqs ${var.name}-sqs-${each.key} Qualifier = queue purpose key hca-orders-sqs-processing
ssm-automation ssm-auto ${var.name}-ssm-auto-${each.key} Qualifier = document/automation purpose key hca-platform-ssm-auto-patch
ssm-parameter ssm-param ${var.name}-ssm-param-${each.key} Qualifier = parameter purpose key hca-platform-ssm-param-db-host
sso-assignment sso-assign ${var.name}-sso-assign-${each.key} Qualifier = permission set/account key hca-workloads-sso-assign-admin
tgw-attachment tgw-attach ${var.name}-tgw-attach-${each.key} Qualifier = source VPC/account key; distinct from transit-gateway module itself hca-shared-services-tgw-attach
transit-gateway tgw ${var.name}-tgw Singleton per hub deployment hca-core-tgw
vpc vpc (+ subnet, rt, nat, igw, nat-eip, flow-log) ${var.name}-vpc, ${var.name}-subnet-<tier>-${each.key}, etc. Verified from actual module source — see VPC-specific naming standards doc hca-shared-services-prod-vpc, hca-shared-services-prod-subnet-public-az1
vpc-endpoints vpce ${var.name}-vpce-${each.key} Qualifier = service key (s3, dynamodb, ssm, etc.) hca-shared-services-vpce-s3
vpc-peering vpc-peer ${var.name}-vpc-peer-${each.key} Qualifier = peer VPC/account key hca-networking-vpc-peer-legacy