Hierarchy

  • AccountsConfig

Implements

Constructors

  • Parameters

    • props: {
          auditAccountEmail: string;
          logArchiveAccountEmail: string;
          managementAccountEmail: string;
      }
      • auditAccountEmail: string
      • logArchiveAccountEmail: string
      • managementAccountEmail: string
    • Optional values: {
          accountIds: undefined | ({ email: string; accountId: string; })[];
          mandatoryAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[];
          workloadAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[];
      }
      • accountIds: undefined | ({ email: string; accountId: string; })[]
      • mandatoryAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[]
      • workloadAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[]
    • Optional configDir: string
    • Optional validateConfig: boolean

    Returns AccountsConfig

Properties

accountIds: undefined | AccountIdConfig[] = undefined

Optionally provide a list of AWS Account IDs to bypass the usage of the AWS Organizations Client lookup. This is not a readonly member since we will initialize it with values if it is not provided

mandatoryAccounts: AccountConfig[] | GovCloudAccountConfig[] = []
workloadAccounts: AccountConfig[] | GovCloudAccountConfig[] = []
AUDIT_ACCOUNT: "Audit" = 'Audit'
FILENAME: "accounts-config.yaml" = 'accounts-config.yaml'
LOG_ARCHIVE_ACCOUNT: "LogArchive" = 'LogArchive'
MANAGEMENT_ACCOUNT: "Management" = 'Management'

Methods

  • Parameters

    • ids: string[]
    • accountId: string

    Returns void

  • Returns boolean

  • Parameters

    • name: string

    Returns boolean

  • Parameters

    • name: string

    Returns string

  • Returns string[]

  • Returns string

  • Returns string

  • Returns string

  • Prepare list of OU ids from organization config file

    Parameters

    • configDir: string
    • ouIdNames: string[]

    Returns void

  • Loads account ids by utilizing the organizations client if account ids are not provided in the config.

    Parameters

    • partition: string

    Returns Promise<void>

  • Function to verify account names are unique and name without space

    Parameters

    • values: {
          accountIds: undefined | ({ email: string; accountId: string; })[];
          mandatoryAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[];
          workloadAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[];
      }
      • accountIds: undefined | ({ email: string; accountId: string; })[]
      • mandatoryAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[]
      • workloadAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[]
    • errors: string[]

    Returns void

  • Function to validate existence of account deployment target OUs Make sure deployment target OUs are part of Organization config file

    Parameters

    • values: {
          accountIds: undefined | ({ email: string; accountId: string; })[];
          mandatoryAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[];
          workloadAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[];
      }
      • accountIds: undefined | ({ email: string; accountId: string; })[]
      • mandatoryAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[]
      • workloadAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[]
    • ouIdNames: string[]
    • errors: string[]

    Returns void

  • Function to validate email formats, default and duplicate email checks

    Parameters

    • values: {
          accountIds: undefined | ({ email: string; accountId: string; })[];
          mandatoryAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[];
          workloadAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[];
      }
      • accountIds: undefined | ({ email: string; accountId: string; })[]
      • mandatoryAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[]
      • workloadAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[]
    • errors: string[]

    Returns void

  • Function to verify mandatory account names did not change

    Parameters

    • values: {
          accountIds: undefined | ({ email: string; accountId: string; })[];
          mandatoryAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[];
          workloadAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[];
      }
      • accountIds: undefined | ({ email: string; accountId: string; })[]
      • mandatoryAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[]
      • workloadAccounts: (({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; warm: boolean | undefined; }) | ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; }))[]
    • errors: string[]

    Returns void

  • Returns

    Parameters

    • dir: string
    • Optional validateConfig: boolean

    Returns AccountsConfig

Generated using TypeDoc