MDAA TS Docs
    Preparing search index...
    interface MdaaBucketProps {
        additionalKmsKeyArns?: string[];
        bucketName?: string;
        corsRules?: CorsRule[];
        createOutputs?: boolean;
        createParams?: boolean;
        encryptionKey: IKey;
        enforceExclusiveKmsKeys?: boolean;
        eventBridgeEnabled?: boolean;
        intelligentTieringConfigurations?: IntelligentTieringConfiguration[];
        inventories?: Inventory[];
        lifecycleRules?: LifecycleRule[];
        naming: IMdaaResourceNaming;
        publicAccessBlockManagedExternally?: boolean;
        replicationRole?: IRole;
        replicationRules?: ReplicationRule[];
        tier?: ParameterTier;
        transferAcceleration?: boolean;
        uniqueBucketName?: boolean;
    }

    Hierarchy (View Summary)

    Index

    Properties

    additionalKmsKeyArns?: string[]
    bucketName?: string

    Physical name for the S3 bucket that will be processed through MDAA naming conventions

    corsRules?: CorsRule[]

    Cross-origin resource sharing rules for the bucket

    createOutputs?: boolean

    Flag controlling CloudFormation output and stack export creation for construct resources

    createParams?: boolean

    Flag controlling SSM parameter creation for construct resource references enabling

    encryptionKey: IKey
    enforceExclusiveKmsKeys?: boolean
    eventBridgeEnabled?: boolean
    intelligentTieringConfigurations?: IntelligentTieringConfiguration[]
    inventories?: Inventory[]

    Array of inventory configurations for automated bucket content reporting and analysis

    lifecycleRules?: LifecycleRule[]
    naming: IMdaaResourceNaming

    MDAA naming implementation for consistent resource naming across all MDAA constructs

    publicAccessBlockManagedExternally?: boolean

    When true, omits the explicit blockPublicAccess setting so CDK does not emit a PutBucketPublicAccessBlock API call. Use this when public access block is managed externally (e.g., by AWS defaults and/or SCPs that deny s3:PutBucketPublicAccessBlock).

    false
    
    replicationRole?: IRole

    Role assumed by S3 to replicate objects out of this bucket. Required whenever replicationRules is set, and the construct rejects rules without one: CDK would otherwise create its own role, which would miss MDAA naming and, more importantly, the bucket-policy exclusion a replication role needs - leaving a bucket that deploys and replicates nothing. CDK grants an explicitly supplied role nothing, so the caller attaches all replication permissions itself.

    - none; required when replicationRules is set
    
    replicationRules?: ReplicationRule[]

    Replication rules making this bucket a replication source. Requires replicationRole.

    When set, the S3BucketReplicationEnabled nag suppressions are not applied, as the bucket now satisfies those rules on its own.

    Because this bucket always encrypts with a CMK, every rule must set both kmsKey and sseKmsEncryptedObjects, and the construct rejects rules that do not: S3 skips SSE-KMS encrypted objects unless the rule opts in and names a replica key, so an incomplete rule deploys cleanly and then replicates nothing. Granting the replication role decrypt on this bucket's key and encrypt on the replica key remains the caller's responsibility.

    - no replication configuration
    
    tier?: ParameterTier

    Tier for the SSM parameters this construct publishes. Only Advanced-tier parameters can be shared with another account through AWS RAM, and Advanced-tier parameters are billed, so leave this unset unless a parameter is being shared.

    - ParameterTier.STANDARD, as applied by SSM
    
    transferAcceleration?: boolean
    uniqueBucketName?: boolean