S3DeliveryDestinationProps

class aws_cdk.mixins_preview.aws_logs.S3DeliveryDestinationProps(*, bucket, encryption_key=None, output_format=None, permissions_version=None, source_account_id=None)

Bases: object

(experimental) Properties for S3 delivery destination.

Parameters:
  • bucket (IBucketRef) – (experimental) The S3 bucket to deliver logs to.

  • encryption_key (Optional[IKeyRef]) – (experimental) KMS key to use for encrypting logs in the S3 bucket. When provided, grants the logs delivery service permissions to use the key. Default: - No encryption key is configured

  • output_format (Optional[str]) – (experimental) Format of the logs that are sent to this delivery destination.

  • permissions_version (Optional[S3LogsDeliveryPermissionsVersion]) – (experimental) The permissions version (‘V1’ or ‘V2’) to be used for this delivery. Depending on the source of the logs, different permissions are required. Default: “V2”

  • source_account_id (Optional[str]) – (experimental) Optional acount id for account the delivery source is in for cross account Vended Logs.

Stability:

experimental

ExampleMetadata:

infused

Example:

from aws_cdk import Environment, Environment
import aws_cdk.mixins_preview.aws_logs as log_destinations
import aws_cdk.mixins_preview.aws_cloudfront.mixins as cloudfront_mixins

# Create CloudFront distribution
# origin: s3.IBucket


destination_account = "123456789012"
source_account = "234567890123"
region = "us-east-1"

app = App()

dest_stack = Stack(app, "destination-stack",
    env=Environment(
        account=destination_account,
        region=region
    )
)

# Create destination bucket
dest_bucket = s3.Bucket(dest_stack, "DeliveryBucket")
log_destinations.S3DeliveryDestination(dest_stack, "Destination",
    bucket=dest_bucket,
    source_account_id=source_account
)

source_stack = Stack(app, "source-stack",
    env=Environment(
        account=source_account,
        region=region
    )
)
distribution = cloudfront.Distribution(source_stack, "Distribution",
    default_behavior=cloudfront.BehaviorOptions(
        origin=origins.S3BucketOrigin.with_origin_access_control(origin)
    )
)

destination = logs.CfnDeliveryDestination.from_delivery_destination_arn(source_stack, "Destination", "arn of Delivery Destination in destinationAccount")

distribution.with(cloudfront_mixins.CfnDistributionLogsMixin.CONNECTION_LOGS.to_destination(destination))

Attributes

bucket

(experimental) The S3 bucket to deliver logs to.

Stability:

experimental

encryption_key

(experimental) KMS key to use for encrypting logs in the S3 bucket.

When provided, grants the logs delivery service permissions to use the key.

Default:
  • No encryption key is configured

Stability:

experimental

output_format

(experimental) Format of the logs that are sent to this delivery destination.

Stability:

experimental

permissions_version

(experimental) The permissions version (‘V1’ or ‘V2’) to be used for this delivery.

Depending on the source of the logs, different permissions are required.

Default:

“V2”

Stability:

experimental

source_account_id

(experimental) Optional acount id for account the delivery source is in for cross account Vended Logs.

Stability:

experimental