Sets the primary and alternate contacts on an AWS account. All contact types are optional and independently configured.
AWS uses these contacts to route account notifications to the right teams instead of the root account email:
- Primary — legal, tax, and account ownership communications
- Billing — billing alerts, invoices, and payment notifications
- Security — security findings, abuse notifications, and vulnerability reports
- Operations — service notifications, maintenance windows, and operational issues
Usage
module "account_contacts" {
source = "hcassc.jfrog.io/iac-tf-modules-virtual/governance/account-contacts/aws"
version = "0.1.0"
account_id = "123456789012"
primary_contact = {
full_name = "Platform Team"
company_name = "Example Corp"
phone = "+12065551234"
address_line_1 = "123 Any Street"
city = "Seattle"
state_or_region = "WA"
postal_code = "98101"
country_code = "US"
}
alternate_contacts = {
billing = {
name = "Finance Team"
title = "Finance Manager"
email = "[email protected]"
phone = "+12065551234"
}
security = {
name = "Security Team"
title = "Security Engineer"
email = "[email protected]"
phone = "+12065551234"
}
operations = {
name = "Platform Team"
title = "Platform Engineer"
email = "[email protected]"
phone = "+12065551234"
}
}
}
Notes
account_id is optional. When omitted, contacts are set on the current account.
alternate_contacts keys are case-insensitive. BILLING, Billing, and billing are all valid.
phone must include the country code (e.g. +12065551234).
country_code must be a valid ISO 3166-1 alpha-2 code (e.g. US, GB).
Requirements
Providers
| Name |
Version |
| aws |
>= 6.0, < 7.0 |
Resources
| Name |
Description |
Type |
Default |
Required |
| account_id |
ID of the target member account to set contacts on. Uses current account if omitted. |
string |
null |
no |
| alternate_contacts |
Alternate contacts for billing, security, and operations notifications. |
map(object({ name = string title = string email = string phone = string })) |
{} |
no |
| primary_contact |
Primary account contact used by AWS for legal, tax, and account ownership purposes. |
object({ full_name = string company_name = optional(string) phone = string website_url = optional(string) address_line_1 = string address_line_2 = optional(string) city = string state_or_region = optional(string) district_or_county = optional(string) postal_code = string country_code = string }) |
null |
no |
Outputs