Options
All
  • Public
  • Public/Protected
  • All
Menu

Accelerator global configuration

Hierarchy

  • GlobalConfig

Implements

Index

Constructors

  • new GlobalConfig(props: { homeRegion: string }, values?: { cloudwatchLogRetentionInDays: number; controlTower: { enable: boolean; }; enabledRegions: ("af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-southeast-1" | "ap-southeast-2" | "ca-central-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-north-1" | "eu-south-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "me-south-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-gov-east-1" | "us-gov-west-1" | "us-west-1" | "us-west-2" | "us-iso-west-1" | "us-iso-east-1" | "us-isob-east-1")[]; homeRegion: string; logging: { account: string; cloudtrail: { enable: boolean; organizationTrail: boolean; }; sessionManager: { sendToCloudWatchLogs: boolean; sendToS3: boolean; excludeRegions: ("af-south-1" | "ap-east-1" | ... 25 more ... | "us-isob-east-1")[] | undefined; excludeAccounts: string[] | undefined; }; accessLogBucket: { ...; } | u...; managementAccountAccessRole: string; reports: undefined | { costAndUsageReport: { additionalSchemaElements: string[] | undefined; compression: string; format: string; reportName: string; s3Prefix: string; timeUnit: string; additionalArtifacts: ("REDSHIFT" | ... 1 more ... | "ATHENA")[] | undefined; refreshClosedReports: boolean; reportVersioning: string; lifecycleRules: { ... }): GlobalConfig
  • Parameters

    • props: { homeRegion: string }
      • homeRegion: string
    • Optional values: { cloudwatchLogRetentionInDays: number; controlTower: { enable: boolean; }; enabledRegions: ("af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-southeast-1" | "ap-southeast-2" | "ca-central-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-north-1" | "eu-south-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "me-south-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-gov-east-1" | "us-gov-west-1" | "us-west-1" | "us-west-2" | "us-iso-west-1" | "us-iso-east-1" | "us-isob-east-1")[]; homeRegion: string; logging: { account: string; cloudtrail: { enable: boolean; organizationTrail: boolean; }; sessionManager: { sendToCloudWatchLogs: boolean; sendToS3: boolean; excludeRegions: ("af-south-1" | "ap-east-1" | ... 25 more ... | "us-isob-east-1")[] | undefined; excludeAccounts: string[] | undefined; }; accessLogBucket: { ...; } | u...; managementAccountAccessRole: string; reports: undefined | { costAndUsageReport: { additionalSchemaElements: string[] | undefined; compression: string; format: string; reportName: string; s3Prefix: string; timeUnit: string; additionalArtifacts: ("REDSHIFT" | ... 1 more ... | "ATHENA")[] | undefined; refreshClosedReports: boolean; reportVersioning: string; lifecycleRules: { ... }
      • cloudwatchLogRetentionInDays: number
      • controlTower: { enable: boolean; }
      • enabledRegions: ("af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-southeast-1" | "ap-southeast-2" | "ca-central-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-north-1" | "eu-south-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "me-south-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-gov-east-1" | "us-gov-west-1" | "us-west-1" | "us-west-2" | "us-iso-west-1" | "us-iso-east-1" | "us-isob-east-1")[]
      • homeRegion: string
      • logging: { account: string; cloudtrail: { enable: boolean; organizationTrail: boolean; }; sessionManager: { sendToCloudWatchLogs: boolean; sendToS3: boolean; excludeRegions: ("af-south-1" | "ap-east-1" | ... 25 more ... | "us-isob-east-1")[] | undefined; excludeAccounts: string[] | undefined; }; accessLogBucket: { ...; } | u...
      • managementAccountAccessRole: string
      • reports: undefined | { costAndUsageReport: { additionalSchemaElements: string[] | undefined; compression: string; format: string; reportName: string; s3Prefix: string; timeUnit: string; additionalArtifacts: ("REDSHIFT" | ... 1 more ... | "ATHENA")[] | undefined; refreshClosedReports: boolean; reportVersioning: string; lifecycleRules: { ...

    Returns GlobalConfig

Properties

cloudwatchLogRetentionInDays: 3653 = 3653

CloudWatchLogs retention in days, accelerator's custom resource lambda function logs retention period is configured based on this value.

controlTower: ControlTowerConfig = ...

AWS ControlTower configuration

To indicate environment has control tower enabled, you need to provide below value for this parameter.

example
controlTower:
enable: true
enabledRegions: ("af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-southeast-1" | "ap-southeast-2" | "ca-central-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-north-1" | "eu-south-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "me-south-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-gov-east-1" | "us-gov-west-1" | "us-west-1" | "us-west-2" | "us-iso-west-1" | "us-iso-east-1" | "us-isob-east-1")[] = []

List of AWS Region names where accelerator will be deployed. Home region must be part of this list.

To add us-west-2 along with home region for accelerator deployment, you need to provide below value for this parameter.

example
enabledRegions:
- *HOME_REGION
- us-west-2
homeRegion: string = ''

Accelerator home region name. The region where accelerator pipeline deployed.

To use us-east-1 as home region for the accelerator, you need to provide below value for this parameter. Note: Variable HOME_REGION created for future usage of home region in the file

example
homeRegion: &HOME_REGION us-east-1
logging: LoggingConfig = ...

Accelerator logging configuration

To enable organization trail and session manager logs sending to S3, you need to provide below value for this parameter.

example
logging:
account: LogArchive
cloudtrail:
enable: false
organizationTrail: false
sessionManager:
sendToCloudWatchLogs: false
sendToS3: true
managementAccountAccessRole: "AWSControlTowerExecution" = 'AWSControlTowerExecution'

This role trusts the management account, allowing users in the management account to assume the role, as permitted by the management account administrator. The role has administrator permissions in the new member account.

Examples:

  • AWSControlTowerExecution
  • OrganizationAccountAccessRole
reports: undefined | ReportConfig = undefined

Report configuration

To enable budget report along with cost and usage report, you need to provide below value for this parameter.

example
reports:
costAndUsageReport:
compression: Parquet
format: Parquet
reportName: accelerator-cur
s3Prefix: cur
timeUnit: DAILY
refreshClosedReports: true
reportVersioning: CREATE_NEW_REPORT
budgets:
- name: accel-budget
timeUnit: MONTHLY
type: COST
amount: 2000
includeUpfront: true
includeTax: true
includeSupport: true
includeSubscription: true
includeRecurring: true
includeOtherSubscription: true
includeDiscount: true
includeCredit: false
includeRefund: false
useBlended: false
useAmortized: false
unit: USD
notification:
- type: ACTUAL
thresholdType: PERCENTAGE
threshold: 90
comparisonOperator: GREATER_THAN
subscriptionType: EMAIL
address: myemail+pa-budg@example.com
FILENAME: "global-config.yaml" = 'global-config.yaml'

Global configuration file name, this file must be present in accelerator config repository

Methods

  • Load from file in given directory

    Parameters

    • dir: string

    Returns GlobalConfig

  • Load from string content

    Parameters

    • content: string

    Returns undefined | GlobalConfig

Generated using TypeDoc