Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • AccountsConfig

Implements

Index

Constructors

  • new AccountsConfig(props: { auditAccountEmail: string; logArchiveAccountEmail: string; managementAccountEmail: string }, values?: { accountIds: undefined | { email: string; accountId: string; }[]; mandatoryAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[] }, configDir?: string, validateConfig?: boolean): AccountsConfig
  • 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]; workloadAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]
      • workloadAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | 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

  • anyGovCloudAccounts(): boolean
  • Returns boolean

  • containsAccount(name: string): boolean
  • Parameters

    • name: string

    Returns boolean

  • getAccountId(name: string): string
  • Parameters

    • name: string

    Returns string

  • getAccountIds(): string[]
  • Returns string[]

  • getAuditAccountId(): string
  • Returns string

  • getLogArchiveAccountId(): string
  • Returns string

  • getManagementAccountId(): string
  • Returns string

  • getOuIdNames(configDir: string, ouIdNames: string[]): void
  • Prepare list of OU ids from organization config file

    Parameters

    • configDir: string
    • ouIdNames: string[]

    Returns void

  • loadAccountIds(partition: string): Promise<void>
  • Loads account ids by utilizing the organizations client if account ids are not provided in the config.

    Parameters

    • partition: string

    Returns Promise<void>

  • validateAccountNames(values: { accountIds: undefined | { email: string; accountId: string; }[]; mandatoryAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[] }, errors: string[]): 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]; workloadAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]
      • workloadAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]
    • errors: string[]

    Returns void

  • validateAccountOrganizationalUnit(values: { accountIds: undefined | { email: string; accountId: string; }[]; mandatoryAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[] }, ouIdNames: string[], errors: string[]): 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]; workloadAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]
      • workloadAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]
    • ouIdNames: string[]
    • errors: string[]

    Returns void

  • validateEmails(values: { accountIds: undefined | { email: string; accountId: string; }[]; mandatoryAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[] }, errors: string[]): 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]; workloadAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]
      • workloadAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]
    • errors: string[]

    Returns void

  • validateMandatoryAccountNames(values: { accountIds: undefined | { email: string; accountId: string; }[]; mandatoryAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[] }, errors: string[]): 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]; workloadAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | 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; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]
      • workloadAccounts: ({ name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; } | { name: string; description: string | undefined; email: string; organizationalUnit: string | undefined; enableGovCloud: boolean | undefined; })[]
    • errors: string[]

    Returns void

  • Parameters

    • dir: string
    • Optional validateConfig: boolean

    Returns AccountsConfig

Generated using TypeDoc