Global configuration items.

Hierarchy

  • GlobalConfigTypes

Constructors

Properties

acceleratorMetadataConfig: TypeC<{
    account: StringC;
    enable: BooleanC;
    readOnlyAccessRoleArns: OptionalType<ArrayC<StringC>>;
}> = ...
acceleratorSettingsConfig: TypeC<{
    maxConcurrentStacks: OptionalType<NumberC>;
}> = ...
accessLogBucketConfig: TypeC<{
    customPolicyOverrides: OptionalType<TypeC<{
        policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
    }>>;
    deploymentTargets: OptionalType<TypeC<{
        accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    }>>;
    enable: OptionalType<BooleanC>;
    importedBucket: OptionalType<TypeC<{
        applyAcceleratorManagedBucketPolicy: OptionalType<BooleanC>;
        name: SizedType<string, Type<string, string, unknown>>;
    }>>;
    lifecycleRules: OptionalType<ArrayC<TypeC<{
        abortIncompleteMultipartUpload: OptionalType<NumberC>;
        enabled: OptionalType<BooleanC>;
        expiration: OptionalType<NumberC>;
        expiredObjectDeleteMarker: OptionalType<BooleanC>;
        id: OptionalType<StringC>;
        noncurrentVersionExpiration: OptionalType<NumberC>;
        noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
            storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
            transitionAfter: NumberC;
        }>>>;
        prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        transitions: OptionalType<ArrayC<TypeC<{
            storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
            transitionAfter: NumberC;
        }>>>;
    }>>>;
    s3ResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
        policy: StringC;
    }>>>;
}> = ...
accountCloudTrailConfig: TypeC<{
    deploymentTargets: TypeC<{
        accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    }>;
    name: StringC;
    regions: ArrayC<SizedType<string, Type<string, string, unknown>>>;
    settings: TypeC<{
        apiCallRateInsight: BooleanC;
        apiErrorRateInsight: BooleanC;
        globalServiceEvents: BooleanC;
        lambdaDataEvents: BooleanC;
        managementEvents: BooleanC;
        multiRegionTrail: BooleanC;
        s3DataEvents: BooleanC;
        sendToCloudWatchLogs: BooleanC;
    }>;
}> = ...
artifactTypeEnum: EnumType<"REDSHIFT" | "QUICKSIGHT" | "ATHENA"> = ...
assetBucketConfig: TypeC<{
    customPolicyOverrides: OptionalType<TypeC<{
        kmsPolicy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        s3Policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
    }>>;
    importedBucket: OptionalType<TypeC<{
        applyAcceleratorManagedBucketPolicy: OptionalType<BooleanC>;
        createAcceleratorManagedKey: OptionalType<BooleanC>;
        name: SizedType<string, Type<string, string, unknown>>;
    }>>;
    kmsResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
        policy: StringC;
    }>>>;
    s3ResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
        policy: StringC;
    }>>>;
}> = ...
backupConfig: TypeC<{
    vaults: ArrayC<TypeC<{
        deploymentTargets: TypeC<{
            accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        }>;
        name: SizedType<string, Type<string, string, unknown>>;
        policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
    }>>;
}> = ...
budgetConfig: TypeC<{
    amount: NumberC;
    deploymentTargets: OptionalType<TypeC<{
        accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    }>>;
    includeCredit: OptionalType<BooleanC>;
    includeDiscount: OptionalType<BooleanC>;
    includeOtherSubscription: OptionalType<BooleanC>;
    includeRecurring: OptionalType<BooleanC>;
    includeRefund: OptionalType<BooleanC>;
    includeSubscription: OptionalType<BooleanC>;
    includeSupport: OptionalType<BooleanC>;
    includeTax: OptionalType<BooleanC>;
    includeUpfront: OptionalType<BooleanC>;
    name: SizedType<string, Type<string, string, unknown>>;
    notifications: OptionalType<ArrayC<TypeC<{
        address: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        comparisonOperator: EnumType<string>;
        recipients: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        subscriptionType: EnumType<string>;
        threshold: OptionalType<NumberC>;
        thresholdType: EnumType<string>;
        type: EnumType<string>;
    }>>>;
    timeUnit: EnumType<string>;
    type: EnumType<string>;
    unit: OptionalType<SizedType<string, Type<string, string, unknown>>>;
    useAmortized: OptionalType<BooleanC>;
    useBlended: OptionalType<BooleanC>;
}> = ...
cdkOptionsConfig: TypeC<{
    centralizeBuckets: BooleanC;
    customDeploymentRole: OptionalType<StringC>;
    forceBootstrap: OptionalType<BooleanC>;
    skipStaticValidation: OptionalType<BooleanC>;
    useManagementAccessRole: OptionalType<BooleanC>;
}> = ...
centralLogBucketConfig: TypeC<{
    customPolicyOverrides: OptionalType<TypeC<{
        kmsPolicy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        s3Policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
    }>>;
    importedBucket: OptionalType<TypeC<{
        applyAcceleratorManagedBucketPolicy: OptionalType<BooleanC>;
        createAcceleratorManagedKey: OptionalType<BooleanC>;
        name: SizedType<string, Type<string, string, unknown>>;
    }>>;
    kmsResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
        policy: StringC;
    }>>>;
    lifecycleRules: OptionalType<ArrayC<TypeC<{
        abortIncompleteMultipartUpload: OptionalType<NumberC>;
        enabled: OptionalType<BooleanC>;
        expiration: OptionalType<NumberC>;
        expiredObjectDeleteMarker: OptionalType<BooleanC>;
        id: OptionalType<StringC>;
        noncurrentVersionExpiration: OptionalType<NumberC>;
        noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
            storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
            transitionAfter: NumberC;
        }>>>;
        prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        transitions: OptionalType<ArrayC<TypeC<{
            storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
            transitionAfter: NumberC;
        }>>>;
    }>>>;
    s3ResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
        policy: StringC;
    }>>>;
}> = ...
centralizeCdkBucketsConfig: TypeC<{
    enable: BooleanC;
}> = ...
cloudTrailConfig: TypeC<{
    accountTrails: OptionalType<ArrayC<TypeC<{
        deploymentTargets: TypeC<{
            accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        }>;
        name: StringC;
        regions: ArrayC<SizedType<string, Type<string, string, unknown>>>;
        settings: TypeC<{
            apiCallRateInsight: BooleanC;
            apiErrorRateInsight: BooleanC;
            globalServiceEvents: BooleanC;
            lambdaDataEvents: BooleanC;
            managementEvents: BooleanC;
            multiRegionTrail: BooleanC;
            s3DataEvents: BooleanC;
            sendToCloudWatchLogs: BooleanC;
        }>;
    }>>>;
    enable: BooleanC;
    lifecycleRules: OptionalType<ArrayC<TypeC<{
        abortIncompleteMultipartUpload: OptionalType<NumberC>;
        enabled: OptionalType<BooleanC>;
        expiration: OptionalType<NumberC>;
        expiredObjectDeleteMarker: OptionalType<BooleanC>;
        id: OptionalType<StringC>;
        noncurrentVersionExpiration: OptionalType<NumberC>;
        noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
            storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
            transitionAfter: NumberC;
        }>>>;
        prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        transitions: OptionalType<ArrayC<TypeC<{
            storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
            transitionAfter: NumberC;
        }>>>;
    }>>>;
    organizationTrail: BooleanC;
    organizationTrailSettings: OptionalType<TypeC<{
        apiCallRateInsight: BooleanC;
        apiErrorRateInsight: BooleanC;
        globalServiceEvents: BooleanC;
        lambdaDataEvents: BooleanC;
        managementEvents: BooleanC;
        multiRegionTrail: BooleanC;
        s3DataEvents: BooleanC;
        sendToCloudWatchLogs: BooleanC;
    }>>;
}> = ...
cloudTrailSettingsConfig: TypeC<{
    apiCallRateInsight: BooleanC;
    apiErrorRateInsight: BooleanC;
    globalServiceEvents: BooleanC;
    lambdaDataEvents: BooleanC;
    managementEvents: BooleanC;
    multiRegionTrail: BooleanC;
    s3DataEvents: BooleanC;
    sendToCloudWatchLogs: BooleanC;
}> = ...
cloudWatchLogsExclusionConfig: TypeC<{
    accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    excludeAll: OptionalType<BooleanC>;
    logGroupNames: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    regions: OptionalType<ArrayC<EnumType<string>>>;
}> = ...
cloudwatchLogsConfig: TypeC<{
    dynamicPartitioning: OptionalType<SizedType<string, Type<string, string, unknown>>>;
    enable: OptionalType<BooleanC>;
    encryption: OptionalType<TypeC<{
        deploymentTargets: OptionalType<TypeC<{
            accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        }>>;
        useCMK: BooleanC;
    }>>;
    exclusions: OptionalType<ArrayC<TypeC<{
        accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludeAll: OptionalType<BooleanC>;
        logGroupNames: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        regions: OptionalType<ArrayC<EnumType<string>>>;
    }>>>;
    replaceLogDestinationArn: OptionalType<SizedType<string, Type<string, string, unknown>>>;
}> = ...
controlTowerConfig: TypeC<{
    controls: OptionalType<ArrayC<TypeC<{
        deploymentTargets: TypeC<{
            accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        }>;
        enable: BooleanC;
        identifier: SizedType<string, Type<string, string, unknown>>;
    }>>>;
    enable: BooleanC;
}> = ...
controlTowerControlConfig: TypeC<{
    deploymentTargets: TypeC<{
        accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    }>;
    enable: BooleanC;
    identifier: SizedType<string, Type<string, string, unknown>>;
}> = ...
costAndUsageReportConfig: TypeC<{
    additionalArtifacts: OptionalType<ArrayC<EnumType<"REDSHIFT" | "QUICKSIGHT" | "ATHENA">>>;
    additionalSchemaElements: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    compression: EnumType<string>;
    format: EnumType<string>;
    lifecycleRules: OptionalType<ArrayC<TypeC<{
        abortIncompleteMultipartUpload: OptionalType<NumberC>;
        enabled: OptionalType<BooleanC>;
        expiration: OptionalType<NumberC>;
        expiredObjectDeleteMarker: OptionalType<BooleanC>;
        id: OptionalType<StringC>;
        noncurrentVersionExpiration: OptionalType<NumberC>;
        noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
            storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
            transitionAfter: NumberC;
        }>>>;
        prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        transitions: OptionalType<ArrayC<TypeC<{
            storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
            transitionAfter: NumberC;
        }>>>;
    }>>>;
    refreshClosedReports: BooleanC;
    reportName: SizedType<string, Type<string, string, unknown>>;
    reportVersioning: EnumType<string>;
    s3Prefix: SizedType<string, Type<string, string, unknown>>;
    timeUnit: EnumType<string>;
}> = ...
elbLogBucketConfig: TypeC<{
    customPolicyOverrides: OptionalType<TypeC<{
        policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
    }>>;
    importedBucket: OptionalType<TypeC<{
        applyAcceleratorManagedBucketPolicy: OptionalType<BooleanC>;
        name: SizedType<string, Type<string, string, unknown>>;
    }>>;
    lifecycleRules: OptionalType<ArrayC<TypeC<{
        abortIncompleteMultipartUpload: OptionalType<NumberC>;
        enabled: OptionalType<BooleanC>;
        expiration: OptionalType<NumberC>;
        expiredObjectDeleteMarker: OptionalType<BooleanC>;
        id: OptionalType<StringC>;
        noncurrentVersionExpiration: OptionalType<NumberC>;
        noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
            storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
            transitionAfter: NumberC;
        }>>>;
        prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        transitions: OptionalType<ArrayC<TypeC<{
            storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
            transitionAfter: NumberC;
        }>>>;
    }>>>;
    s3ResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
        policy: StringC;
    }>>>;
}> = ...
externalLandingZoneResourcesConfig: TypeC<{
    acceleratorName: SizedType<string, Type<string, string, unknown>>;
    acceleratorPrefix: SizedType<string, Type<string, string, unknown>>;
    importExternalLandingZoneResources: BooleanC;
    mappingFileBucket: OptionalType<StringC>;
}> = ...
globalConfig: TypeC<{
    acceleratorMetadata: OptionalType<TypeC<{
        account: StringC;
        enable: BooleanC;
        readOnlyAccessRoleArns: OptionalType<ArrayC<StringC>>;
    }>>;
    acceleratorSettings: OptionalType<TypeC<{
        maxConcurrentStacks: OptionalType<NumberC>;
    }>>;
    backup: OptionalType<TypeC<{
        vaults: ArrayC<TypeC<{
            deploymentTargets: TypeC<{
                accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            }>;
            name: SizedType<string, Type<string, string, unknown>>;
            policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        }>>;
    }>>;
    cdkOptions: OptionalType<TypeC<{
        centralizeBuckets: BooleanC;
        customDeploymentRole: OptionalType<StringC>;
        forceBootstrap: OptionalType<BooleanC>;
        skipStaticValidation: OptionalType<BooleanC>;
        useManagementAccessRole: OptionalType<BooleanC>;
    }>>;
    centralizeCdkBuckets: OptionalType<TypeC<{
        enable: BooleanC;
    }>>;
    cloudwatchLogRetentionInDays: NumberC;
    controlTower: TypeC<{
        controls: OptionalType<ArrayC<TypeC<{
            deploymentTargets: TypeC<{
                accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            }>;
            enable: BooleanC;
            identifier: SizedType<string, Type<string, string, unknown>>;
        }>>>;
        enable: BooleanC;
    }>;
    enabledRegions: ArrayC<EnumType<string>>;
    externalLandingZoneResources: OptionalType<TypeC<{
        acceleratorName: SizedType<string, Type<string, string, unknown>>;
        acceleratorPrefix: SizedType<string, Type<string, string, unknown>>;
        importExternalLandingZoneResources: BooleanC;
        mappingFileBucket: OptionalType<StringC>;
    }>>;
    homeRegion: SizedType<string, Type<string, string, unknown>>;
    lambda: OptionalType<TypeC<{
        encryption: OptionalType<TypeC<{
            deploymentTargets: OptionalType<TypeC<{
                accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            }>>;
            useCMK: BooleanC;
        }>>;
    }>>;
    limits: OptionalType<ArrayC<TypeC<{
        deploymentTargets: TypeC<{
            accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        }>;
        desiredValue: NumberC;
        quotaCode: StringC;
        regions: OptionalType<ArrayC<EnumType<string>>>;
        serviceCode: StringC;
    }>>>;
    logging: TypeC<{
        accessLogBucket: OptionalType<TypeC<{
            customPolicyOverrides: OptionalType<TypeC<{
                policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            }>>;
            deploymentTargets: OptionalType<TypeC<{
                accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            }>>;
            enable: OptionalType<BooleanC>;
            importedBucket: OptionalType<TypeC<{
                applyAcceleratorManagedBucketPolicy: OptionalType<BooleanC>;
                name: SizedType<string, Type<string, string, unknown>>;
            }>>;
            lifecycleRules: OptionalType<ArrayC<TypeC<{
                abortIncompleteMultipartUpload: OptionalType<NumberC>;
                enabled: OptionalType<BooleanC>;
                expiration: OptionalType<NumberC>;
                expiredObjectDeleteMarker: OptionalType<BooleanC>;
                id: OptionalType<StringC>;
                noncurrentVersionExpiration: OptionalType<NumberC>;
                noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
                    storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                    transitionAfter: NumberC;
                }>>>;
                prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
                transitions: OptionalType<ArrayC<TypeC<{
                    storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                    transitionAfter: NumberC;
                }>>>;
            }>>>;
            s3ResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
                policy: StringC;
            }>>>;
        }>>;
        account: SizedType<string, Type<string, string, unknown>>;
        assetBucket: OptionalType<TypeC<{
            customPolicyOverrides: OptionalType<TypeC<{
                kmsPolicy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
                s3Policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            }>>;
            importedBucket: OptionalType<TypeC<{
                applyAcceleratorManagedBucketPolicy: OptionalType<BooleanC>;
                createAcceleratorManagedKey: OptionalType<BooleanC>;
                name: SizedType<string, Type<string, string, unknown>>;
            }>>;
            kmsResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
                policy: StringC;
            }>>>;
            s3ResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
                policy: StringC;
            }>>>;
        }>>;
        centralLogBucket: OptionalType<TypeC<{
            customPolicyOverrides: OptionalType<TypeC<{
                kmsPolicy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
                s3Policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            }>>;
            importedBucket: OptionalType<TypeC<{
                applyAcceleratorManagedBucketPolicy: OptionalType<BooleanC>;
                createAcceleratorManagedKey: OptionalType<BooleanC>;
                name: SizedType<string, Type<string, string, unknown>>;
            }>>;
            kmsResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
                policy: StringC;
            }>>>;
            lifecycleRules: OptionalType<ArrayC<TypeC<{
                abortIncompleteMultipartUpload: OptionalType<NumberC>;
                enabled: OptionalType<BooleanC>;
                expiration: OptionalType<NumberC>;
                expiredObjectDeleteMarker: OptionalType<BooleanC>;
                id: OptionalType<StringC>;
                noncurrentVersionExpiration: OptionalType<NumberC>;
                noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
                    storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                    transitionAfter: NumberC;
                }>>>;
                prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
                transitions: OptionalType<ArrayC<TypeC<{
                    storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                    transitionAfter: NumberC;
                }>>>;
            }>>>;
            s3ResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
                policy: StringC;
            }>>>;
        }>>;
        centralizedLoggingRegion: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        cloudtrail: TypeC<{
            accountTrails: OptionalType<ArrayC<TypeC<{
                deploymentTargets: TypeC<{
                    accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                    excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                    excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                    organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                }>;
                name: StringC;
                regions: ArrayC<SizedType<string, Type<string, string, unknown>>>;
                settings: TypeC<{
                    apiCallRateInsight: BooleanC;
                    apiErrorRateInsight: BooleanC;
                    globalServiceEvents: BooleanC;
                    lambdaDataEvents: BooleanC;
                    managementEvents: BooleanC;
                    multiRegionTrail: BooleanC;
                    s3DataEvents: BooleanC;
                    sendToCloudWatchLogs: BooleanC;
                }>;
            }>>>;
            enable: BooleanC;
            lifecycleRules: OptionalType<ArrayC<TypeC<{
                abortIncompleteMultipartUpload: OptionalType<NumberC>;
                enabled: OptionalType<BooleanC>;
                expiration: OptionalType<NumberC>;
                expiredObjectDeleteMarker: OptionalType<BooleanC>;
                id: OptionalType<StringC>;
                noncurrentVersionExpiration: OptionalType<NumberC>;
                noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
                    storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                    transitionAfter: NumberC;
                }>>>;
                prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
                transitions: OptionalType<ArrayC<TypeC<{
                    storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                    transitionAfter: NumberC;
                }>>>;
            }>>>;
            organizationTrail: BooleanC;
            organizationTrailSettings: OptionalType<TypeC<{
                apiCallRateInsight: BooleanC;
                apiErrorRateInsight: BooleanC;
                globalServiceEvents: BooleanC;
                lambdaDataEvents: BooleanC;
                managementEvents: BooleanC;
                multiRegionTrail: BooleanC;
                s3DataEvents: BooleanC;
                sendToCloudWatchLogs: BooleanC;
            }>>;
        }>;
        cloudwatchLogs: OptionalType<TypeC<{
            dynamicPartitioning: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            enable: OptionalType<BooleanC>;
            encryption: OptionalType<TypeC<{
                deploymentTargets: OptionalType<TypeC<{
                    accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                    excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                    excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                    organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                }>>;
                useCMK: BooleanC;
            }>>;
            exclusions: OptionalType<ArrayC<TypeC<{
                accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludeAll: OptionalType<BooleanC>;
                logGroupNames: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                regions: OptionalType<ArrayC<EnumType<string>>>;
            }>>>;
            replaceLogDestinationArn: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        }>>;
        elbLogBucket: OptionalType<TypeC<{
            customPolicyOverrides: OptionalType<TypeC<{
                policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            }>>;
            importedBucket: OptionalType<TypeC<{
                applyAcceleratorManagedBucketPolicy: OptionalType<BooleanC>;
                name: SizedType<string, Type<string, string, unknown>>;
            }>>;
            lifecycleRules: OptionalType<ArrayC<TypeC<{
                abortIncompleteMultipartUpload: OptionalType<NumberC>;
                enabled: OptionalType<BooleanC>;
                expiration: OptionalType<NumberC>;
                expiredObjectDeleteMarker: OptionalType<BooleanC>;
                id: OptionalType<StringC>;
                noncurrentVersionExpiration: OptionalType<NumberC>;
                noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
                    storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                    transitionAfter: NumberC;
                }>>>;
                prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
                transitions: OptionalType<ArrayC<TypeC<{
                    storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                    transitionAfter: NumberC;
                }>>>;
            }>>>;
            s3ResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
                policy: StringC;
            }>>>;
        }>>;
        sessionManager: TypeC<{
            attachPolicyToIamRoles: OptionalType<ArrayC<StringC>>;
            excludeAccounts: OptionalType<ArrayC<StringC>>;
            excludeRegions: OptionalType<ArrayC<EnumType<string>>>;
            lifecycleRules: OptionalType<ArrayC<TypeC<{
                abortIncompleteMultipartUpload: OptionalType<NumberC>;
                enabled: OptionalType<BooleanC>;
                expiration: OptionalType<NumberC>;
                expiredObjectDeleteMarker: OptionalType<BooleanC>;
                id: OptionalType<StringC>;
                noncurrentVersionExpiration: OptionalType<NumberC>;
                noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
                    storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                    transitionAfter: NumberC;
                }>>>;
                prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
                transitions: OptionalType<ArrayC<TypeC<{
                    storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                    transitionAfter: NumberC;
                }>>>;
            }>>>;
            sendToCloudWatchLogs: BooleanC;
            sendToS3: BooleanC;
        }>;
    }>;
    managementAccountAccessRole: SizedType<string, Type<string, string, unknown>>;
    reports: OptionalType<TypeC<{
        budgets: OptionalType<ArrayC<TypeC<{
            amount: NumberC;
            deploymentTargets: OptionalType<TypeC<{
                accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            }>>;
            includeCredit: OptionalType<BooleanC>;
            includeDiscount: OptionalType<BooleanC>;
            includeOtherSubscription: OptionalType<BooleanC>;
            includeRecurring: OptionalType<BooleanC>;
            includeRefund: OptionalType<BooleanC>;
            includeSubscription: OptionalType<BooleanC>;
            includeSupport: OptionalType<BooleanC>;
            includeTax: OptionalType<BooleanC>;
            includeUpfront: OptionalType<BooleanC>;
            name: SizedType<string, Type<string, string, unknown>>;
            notifications: OptionalType<ArrayC<TypeC<{
                address: OptionalType<SizedType<string, Type<string, string, unknown>>>;
                comparisonOperator: EnumType<string>;
                recipients: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                subscriptionType: EnumType<string>;
                threshold: OptionalType<NumberC>;
                thresholdType: EnumType<string>;
                type: EnumType<string>;
            }>>>;
            timeUnit: EnumType<string>;
            type: EnumType<string>;
            unit: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            useAmortized: OptionalType<BooleanC>;
            useBlended: OptionalType<BooleanC>;
        }>>>;
        costAndUsageReport: OptionalType<TypeC<{
            additionalArtifacts: OptionalType<ArrayC<EnumType<"REDSHIFT" | "QUICKSIGHT" | "ATHENA">>>;
            additionalSchemaElements: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            compression: EnumType<string>;
            format: EnumType<string>;
            lifecycleRules: OptionalType<ArrayC<TypeC<{
                abortIncompleteMultipartUpload: OptionalType<NumberC>;
                enabled: OptionalType<BooleanC>;
                expiration: OptionalType<NumberC>;
                expiredObjectDeleteMarker: OptionalType<BooleanC>;
                id: OptionalType<StringC>;
                noncurrentVersionExpiration: OptionalType<NumberC>;
                noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
                    storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                    transitionAfter: NumberC;
                }>>>;
                prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
                transitions: OptionalType<ArrayC<TypeC<{
                    storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                    transitionAfter: NumberC;
                }>>>;
            }>>>;
            refreshClosedReports: BooleanC;
            reportName: SizedType<string, Type<string, string, unknown>>;
            reportVersioning: EnumType<string>;
            s3Prefix: SizedType<string, Type<string, string, unknown>>;
            timeUnit: EnumType<string>;
        }>>;
    }>>;
    s3: OptionalType<TypeC<{
        encryption: OptionalType<TypeC<{
            createCMK: BooleanC;
            deploymentTargets: OptionalType<TypeC<{
                accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            }>>;
        }>>;
    }>>;
    snsTopics: OptionalType<TypeC<{
        deploymentTargets: OptionalType<TypeC<{
            accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        }>>;
        topics: OptionalType<ArrayC<TypeC<{
            emailAddresses: ArrayC<SizedType<string, Type<string, string, unknown>>>;
            name: SizedType<string, Type<string, string, unknown>>;
        }>>>;
    }>>;
    ssmInventory: OptionalType<TypeC<{
        deploymentTargets: TypeC<{
            accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        }>;
        enable: BooleanC;
    }>>;
    ssmParameters: OptionalType<ArrayC<TypeC<{
        deploymentTargets: TypeC<{
            accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        }>;
        parameters: ArrayC<TypeC<{
            name: SizedType<string, Type<string, string, unknown>>;
            path: SizedType<string, Type<string, string, unknown>>;
            value: SizedType<string, Type<string, string, unknown>>;
        }>>;
    }>>>;
    tags: OptionalType<ArrayC<TypeC<{
        key: StringC;
        value: StringC;
    }>>>;
    terminationProtection: OptionalType<BooleanC>;
}> = ...
lambdaConfig: TypeC<{
    encryption: OptionalType<TypeC<{
        deploymentTargets: OptionalType<TypeC<{
            accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        }>>;
        useCMK: BooleanC;
    }>>;
}> = ...
loggingConfig: TypeC<{
    accessLogBucket: OptionalType<TypeC<{
        customPolicyOverrides: OptionalType<TypeC<{
            policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        }>>;
        deploymentTargets: OptionalType<TypeC<{
            accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        }>>;
        enable: OptionalType<BooleanC>;
        importedBucket: OptionalType<TypeC<{
            applyAcceleratorManagedBucketPolicy: OptionalType<BooleanC>;
            name: SizedType<string, Type<string, string, unknown>>;
        }>>;
        lifecycleRules: OptionalType<ArrayC<TypeC<{
            abortIncompleteMultipartUpload: OptionalType<NumberC>;
            enabled: OptionalType<BooleanC>;
            expiration: OptionalType<NumberC>;
            expiredObjectDeleteMarker: OptionalType<BooleanC>;
            id: OptionalType<StringC>;
            noncurrentVersionExpiration: OptionalType<NumberC>;
            noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
                storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                transitionAfter: NumberC;
            }>>>;
            prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            transitions: OptionalType<ArrayC<TypeC<{
                storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                transitionAfter: NumberC;
            }>>>;
        }>>>;
        s3ResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
            policy: StringC;
        }>>>;
    }>>;
    account: SizedType<string, Type<string, string, unknown>>;
    assetBucket: OptionalType<TypeC<{
        customPolicyOverrides: OptionalType<TypeC<{
            kmsPolicy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            s3Policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        }>>;
        importedBucket: OptionalType<TypeC<{
            applyAcceleratorManagedBucketPolicy: OptionalType<BooleanC>;
            createAcceleratorManagedKey: OptionalType<BooleanC>;
            name: SizedType<string, Type<string, string, unknown>>;
        }>>;
        kmsResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
            policy: StringC;
        }>>>;
        s3ResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
            policy: StringC;
        }>>>;
    }>>;
    centralLogBucket: OptionalType<TypeC<{
        customPolicyOverrides: OptionalType<TypeC<{
            kmsPolicy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            s3Policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        }>>;
        importedBucket: OptionalType<TypeC<{
            applyAcceleratorManagedBucketPolicy: OptionalType<BooleanC>;
            createAcceleratorManagedKey: OptionalType<BooleanC>;
            name: SizedType<string, Type<string, string, unknown>>;
        }>>;
        kmsResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
            policy: StringC;
        }>>>;
        lifecycleRules: OptionalType<ArrayC<TypeC<{
            abortIncompleteMultipartUpload: OptionalType<NumberC>;
            enabled: OptionalType<BooleanC>;
            expiration: OptionalType<NumberC>;
            expiredObjectDeleteMarker: OptionalType<BooleanC>;
            id: OptionalType<StringC>;
            noncurrentVersionExpiration: OptionalType<NumberC>;
            noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
                storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                transitionAfter: NumberC;
            }>>>;
            prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            transitions: OptionalType<ArrayC<TypeC<{
                storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                transitionAfter: NumberC;
            }>>>;
        }>>>;
        s3ResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
            policy: StringC;
        }>>>;
    }>>;
    centralizedLoggingRegion: OptionalType<SizedType<string, Type<string, string, unknown>>>;
    cloudtrail: TypeC<{
        accountTrails: OptionalType<ArrayC<TypeC<{
            deploymentTargets: TypeC<{
                accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            }>;
            name: StringC;
            regions: ArrayC<SizedType<string, Type<string, string, unknown>>>;
            settings: TypeC<{
                apiCallRateInsight: BooleanC;
                apiErrorRateInsight: BooleanC;
                globalServiceEvents: BooleanC;
                lambdaDataEvents: BooleanC;
                managementEvents: BooleanC;
                multiRegionTrail: BooleanC;
                s3DataEvents: BooleanC;
                sendToCloudWatchLogs: BooleanC;
            }>;
        }>>>;
        enable: BooleanC;
        lifecycleRules: OptionalType<ArrayC<TypeC<{
            abortIncompleteMultipartUpload: OptionalType<NumberC>;
            enabled: OptionalType<BooleanC>;
            expiration: OptionalType<NumberC>;
            expiredObjectDeleteMarker: OptionalType<BooleanC>;
            id: OptionalType<StringC>;
            noncurrentVersionExpiration: OptionalType<NumberC>;
            noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
                storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                transitionAfter: NumberC;
            }>>>;
            prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            transitions: OptionalType<ArrayC<TypeC<{
                storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                transitionAfter: NumberC;
            }>>>;
        }>>>;
        organizationTrail: BooleanC;
        organizationTrailSettings: OptionalType<TypeC<{
            apiCallRateInsight: BooleanC;
            apiErrorRateInsight: BooleanC;
            globalServiceEvents: BooleanC;
            lambdaDataEvents: BooleanC;
            managementEvents: BooleanC;
            multiRegionTrail: BooleanC;
            s3DataEvents: BooleanC;
            sendToCloudWatchLogs: BooleanC;
        }>>;
    }>;
    cloudwatchLogs: OptionalType<TypeC<{
        dynamicPartitioning: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        enable: OptionalType<BooleanC>;
        encryption: OptionalType<TypeC<{
            deploymentTargets: OptionalType<TypeC<{
                accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
                organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            }>>;
            useCMK: BooleanC;
        }>>;
        exclusions: OptionalType<ArrayC<TypeC<{
            accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludeAll: OptionalType<BooleanC>;
            logGroupNames: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            regions: OptionalType<ArrayC<EnumType<string>>>;
        }>>>;
        replaceLogDestinationArn: OptionalType<SizedType<string, Type<string, string, unknown>>>;
    }>>;
    elbLogBucket: OptionalType<TypeC<{
        customPolicyOverrides: OptionalType<TypeC<{
            policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        }>>;
        importedBucket: OptionalType<TypeC<{
            applyAcceleratorManagedBucketPolicy: OptionalType<BooleanC>;
            name: SizedType<string, Type<string, string, unknown>>;
        }>>;
        lifecycleRules: OptionalType<ArrayC<TypeC<{
            abortIncompleteMultipartUpload: OptionalType<NumberC>;
            enabled: OptionalType<BooleanC>;
            expiration: OptionalType<NumberC>;
            expiredObjectDeleteMarker: OptionalType<BooleanC>;
            id: OptionalType<StringC>;
            noncurrentVersionExpiration: OptionalType<NumberC>;
            noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
                storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                transitionAfter: NumberC;
            }>>>;
            prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            transitions: OptionalType<ArrayC<TypeC<{
                storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                transitionAfter: NumberC;
            }>>>;
        }>>>;
        s3ResourcePolicyAttachments: OptionalType<ArrayC<TypeC<{
            policy: StringC;
        }>>>;
    }>>;
    sessionManager: TypeC<{
        attachPolicyToIamRoles: OptionalType<ArrayC<StringC>>;
        excludeAccounts: OptionalType<ArrayC<StringC>>;
        excludeRegions: OptionalType<ArrayC<EnumType<string>>>;
        lifecycleRules: OptionalType<ArrayC<TypeC<{
            abortIncompleteMultipartUpload: OptionalType<NumberC>;
            enabled: OptionalType<BooleanC>;
            expiration: OptionalType<NumberC>;
            expiredObjectDeleteMarker: OptionalType<BooleanC>;
            id: OptionalType<StringC>;
            noncurrentVersionExpiration: OptionalType<NumberC>;
            noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
                storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                transitionAfter: NumberC;
            }>>>;
            prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            transitions: OptionalType<ArrayC<TypeC<{
                storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                transitionAfter: NumberC;
            }>>>;
        }>>>;
        sendToCloudWatchLogs: BooleanC;
        sendToS3: BooleanC;
    }>;
}> = ...
notificationConfig: TypeC<{
    address: OptionalType<SizedType<string, Type<string, string, unknown>>>;
    comparisonOperator: EnumType<string>;
    recipients: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    subscriptionType: EnumType<string>;
    threshold: OptionalType<NumberC>;
    thresholdType: EnumType<string>;
    type: EnumType<string>;
}> = ...
reportConfig: TypeC<{
    budgets: OptionalType<ArrayC<TypeC<{
        amount: NumberC;
        deploymentTargets: OptionalType<TypeC<{
            accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        }>>;
        includeCredit: OptionalType<BooleanC>;
        includeDiscount: OptionalType<BooleanC>;
        includeOtherSubscription: OptionalType<BooleanC>;
        includeRecurring: OptionalType<BooleanC>;
        includeRefund: OptionalType<BooleanC>;
        includeSubscription: OptionalType<BooleanC>;
        includeSupport: OptionalType<BooleanC>;
        includeTax: OptionalType<BooleanC>;
        includeUpfront: OptionalType<BooleanC>;
        name: SizedType<string, Type<string, string, unknown>>;
        notifications: OptionalType<ArrayC<TypeC<{
            address: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            comparisonOperator: EnumType<string>;
            recipients: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            subscriptionType: EnumType<string>;
            threshold: OptionalType<NumberC>;
            thresholdType: EnumType<string>;
            type: EnumType<string>;
        }>>>;
        timeUnit: EnumType<string>;
        type: EnumType<string>;
        unit: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        useAmortized: OptionalType<BooleanC>;
        useBlended: OptionalType<BooleanC>;
    }>>>;
    costAndUsageReport: OptionalType<TypeC<{
        additionalArtifacts: OptionalType<ArrayC<EnumType<"REDSHIFT" | "QUICKSIGHT" | "ATHENA">>>;
        additionalSchemaElements: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        compression: EnumType<string>;
        format: EnumType<string>;
        lifecycleRules: OptionalType<ArrayC<TypeC<{
            abortIncompleteMultipartUpload: OptionalType<NumberC>;
            enabled: OptionalType<BooleanC>;
            expiration: OptionalType<NumberC>;
            expiredObjectDeleteMarker: OptionalType<BooleanC>;
            id: OptionalType<StringC>;
            noncurrentVersionExpiration: OptionalType<NumberC>;
            noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
                storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                transitionAfter: NumberC;
            }>>>;
            prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
            transitions: OptionalType<ArrayC<TypeC<{
                storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
                transitionAfter: NumberC;
            }>>>;
        }>>>;
        refreshClosedReports: BooleanC;
        reportName: SizedType<string, Type<string, string, unknown>>;
        reportVersioning: EnumType<string>;
        s3Prefix: SizedType<string, Type<string, string, unknown>>;
        timeUnit: EnumType<string>;
    }>>;
}> = ...
s3EncryptionConfig: TypeC<{
    createCMK: BooleanC;
    deploymentTargets: OptionalType<TypeC<{
        accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    }>>;
}> = ...
s3GlobalConfig: TypeC<{
    encryption: OptionalType<TypeC<{
        createCMK: BooleanC;
        deploymentTargets: OptionalType<TypeC<{
            accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
            organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        }>>;
    }>>;
}> = ...
serviceEncryptionConfig: TypeC<{
    deploymentTargets: OptionalType<TypeC<{
        accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    }>>;
    useCMK: BooleanC;
}> = ...
serviceQuotaLimitsConfig: TypeC<{
    deploymentTargets: TypeC<{
        accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    }>;
    desiredValue: NumberC;
    quotaCode: StringC;
    regions: OptionalType<ArrayC<EnumType<string>>>;
    serviceCode: StringC;
}> = ...
sessionManagerConfig: TypeC<{
    attachPolicyToIamRoles: OptionalType<ArrayC<StringC>>;
    excludeAccounts: OptionalType<ArrayC<StringC>>;
    excludeRegions: OptionalType<ArrayC<EnumType<string>>>;
    lifecycleRules: OptionalType<ArrayC<TypeC<{
        abortIncompleteMultipartUpload: OptionalType<NumberC>;
        enabled: OptionalType<BooleanC>;
        expiration: OptionalType<NumberC>;
        expiredObjectDeleteMarker: OptionalType<BooleanC>;
        id: OptionalType<StringC>;
        noncurrentVersionExpiration: OptionalType<NumberC>;
        noncurrentVersionTransitions: OptionalType<ArrayC<TypeC<{
            storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
            transitionAfter: NumberC;
        }>>>;
        prefix: OptionalType<SizedType<string, Type<string, string, unknown>>>;
        transitions: OptionalType<ArrayC<TypeC<{
            storageClass: EnumType<"STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "GLACIER_IR" | "Value should be an AWS S3 Storage Class.">;
            transitionAfter: NumberC;
        }>>>;
    }>>>;
    sendToCloudWatchLogs: BooleanC;
    sendToS3: BooleanC;
}> = ...
snsConfig: TypeC<{
    deploymentTargets: OptionalType<TypeC<{
        accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    }>>;
    topics: OptionalType<ArrayC<TypeC<{
        emailAddresses: ArrayC<SizedType<string, Type<string, string, unknown>>>;
        name: SizedType<string, Type<string, string, unknown>>;
    }>>>;
}> = ...
snsTopicConfig: TypeC<{
    emailAddresses: ArrayC<SizedType<string, Type<string, string, unknown>>>;
    name: SizedType<string, Type<string, string, unknown>>;
}> = ...
ssmInventoryConfig: TypeC<{
    deploymentTargets: TypeC<{
        accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    }>;
    enable: BooleanC;
}> = ...
ssmParameterConfig: TypeC<{
    name: SizedType<string, Type<string, string, unknown>>;
    path: SizedType<string, Type<string, string, unknown>>;
    value: SizedType<string, Type<string, string, unknown>>;
}> = ...
ssmParametersConfig: TypeC<{
    deploymentTargets: TypeC<{
        accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    }>;
    parameters: ArrayC<TypeC<{
        name: SizedType<string, Type<string, string, unknown>>;
        path: SizedType<string, Type<string, string, unknown>>;
        value: SizedType<string, Type<string, string, unknown>>;
    }>>;
}> = ...
vaultConfig: TypeC<{
    deploymentTargets: TypeC<{
        accounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedAccounts: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        excludedRegions: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
        organizationalUnits: OptionalType<ArrayC<SizedType<string, Type<string, string, unknown>>>>;
    }>;
    name: SizedType<string, Type<string, string, unknown>>;
    policy: OptionalType<SizedType<string, Type<string, string, unknown>>>;
}> = ...

Generated using TypeDoc