awslabs / awslabs/aws-deployment-framework

Set account contacts from ADF

Open
#419 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
699
Forks
235
Avg merge
20h 53m
Merged PRs (30d)
7

Description

After reading this [blog](https://aws.amazon.com/blogs/mt/programmatically-managing-alternate-contacts-on-member-accounts-with-aws-organizations/). I thought it would be a nice addition to ADF to manage the contacts from the `adf-accounts` configuration files.

The configuration looks something like this:

```yaml
accounts:
- account_full_name: company-prod-1
organizational_unit_path: /business-unit1/prod
email: prod-team-1@company.com
allow_billing: False
delete_default_vpc: True
alias: prod-company-1
tags:
- created_by: adf
- environment: prod
- costcenter: 123
```

Now I foresee three use cases, either you set all accounts to the same default account contacts. Or you have specific persons for specific accounts. Or a combination of those two.

Therefor the default contacts could be defined in the `adfconfig.yml` file. And the account specific once like this:

```yaml
accounts:
- account_full_name: company-prod-1
organizational_unit_path: /business-unit1/prod
email: prod-team-1@company.com
allow_billing: False
delete_default_vpc: True
alias: prod-company-1
contacts:
billing:
name: Mary Major
title: Billing Contact"
email-address: billing-contact@company.com
phone-number: +1(555)555-5555"
operations:
name: Mary Major
title: operations Contact"
email-address: operations-contact@company.com
phone-number: +1(555)555-5555"
security:
name: Mary Major
title: Security Contact"
email-address: billing-contact@company.com
phone-number: +1(555)555-5555"
tags:
- created_by: adf
- environment: prod
- costcenter: 123
```

When the contact details are not given and they are defined in `adfconfig.yml` it should fallback to those. If no contact information is given at all it should ignore this step.

When the contact details are changed it needs to update them correctly. If we can agree on a how the configuration should look like and the behaviour I can give it a shot to start an implementation.

Contributor guide

Open the contributing guide

Research direction

Start with the adf-accounts configuration files and adfconfig.yml, then review the linked AWS Organizations alternate-contacts guidance. Define how default and account-specific billing, operations, and security contacts should be represented and how account updates and fallback behavior should work. Done means contacts are applied, changed correctly, or skipped when no contact information is configured.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, python
Domain
cloud, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.