BucketDeploymentProps

class aws_cdk.aws_s3_deployment.BucketDeploymentProps(*, destination_bucket, sources, cache_control=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, destination_key_prefix=None, distribution=None, distribution_paths=None, expires=None, memory_limit=None, metadata=None, prune=None, retain_on_delete=None, role=None, server_side_encryption=None, server_side_encryption_aws_kms_key_id=None, server_side_encryption_customer_algorithm=None, storage_class=None, website_redirect_location=None)

Bases: object

__init__(*, destination_bucket, sources, cache_control=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, destination_key_prefix=None, distribution=None, distribution_paths=None, expires=None, memory_limit=None, metadata=None, prune=None, retain_on_delete=None, role=None, server_side_encryption=None, server_side_encryption_aws_kms_key_id=None, server_side_encryption_customer_algorithm=None, storage_class=None, website_redirect_location=None)
Parameters
  • destination_bucket (IBucket) – The S3 bucket to sync the contents of the zip file to.

  • sources (List[ISource]) – The sources from which to deploy the contents of this bucket.

  • cache_control (Optional[List[CacheControl]]) – System-defined cache-control metadata to be set on all objects in the deployment. Default: - Not set.

  • content_disposition (Optional[str]) – System-defined cache-disposition metadata to be set on all objects in the deployment. Default: - Not set.

  • content_encoding (Optional[str]) – System-defined content-encoding metadata to be set on all objects in the deployment. Default: - Not set.

  • content_language (Optional[str]) – System-defined content-language metadata to be set on all objects in the deployment. Default: - Not set.

  • content_type (Optional[str]) – System-defined content-type metadata to be set on all objects in the deployment. Default: - Not set.

  • destination_key_prefix (Optional[str]) – Key prefix in the destination bucket. Default: “/” (unzip to root of the destination bucket)

  • distribution (Optional[IDistribution]) – The CloudFront distribution using the destination bucket as an origin. Files in the distribution’s edge caches will be invalidated after files are uploaded to the destination bucket. Default: - No invalidation occurs

  • distribution_paths (Optional[List[str]]) – The file paths to invalidate in the CloudFront distribution. Default: - All files under the destination bucket key prefix will be invalidated.

  • expires (Optional[Expires]) – System-defined expires metadata to be set on all objects in the deployment. Default: - The objects in the distribution will not expire.

  • memory_limit (Union[int, float, None]) – The amount of memory (in MiB) to allocate to the AWS Lambda function which replicates the files from the CDK bucket to the destination bucket. If you are deploying large files, you will need to increase this number accordingly. Default: 128

  • metadata (Optional[UserDefinedObjectMetadata]) – User-defined object metadata to be set on all objects in the deployment. Default: - No user metadata is set

  • prune (Optional[bool]) – If this is set to false, files in the destination bucket that do not exist in the asset, will NOT be deleted during deployment (create/update). Default: true

  • retain_on_delete (Optional[bool]) – If this is set to “false”, the destination files will be deleted when the resource is deleted or the destination is updated. NOTICE: if this is set to “false” and destination bucket/prefix is updated, all files in the previous destination will first be deleted and then uploaded to the new destination location. This could have availablity implications on your users. Default: true - when resource is deleted/updated, files are retained

  • role (Optional[IRole]) – Execution role associated with this function. Default: - A role is automatically created

  • server_side_encryption (Optional[ServerSideEncryption]) – System-defined x-amz-server-side-encryption metadata to be set on all objects in the deployment. Default: - Server side encryption is not used.

  • server_side_encryption_aws_kms_key_id (Optional[str]) – System-defined x-amz-server-side-encryption-aws-kms-key-id metadata to be set on all objects in the deployment. Default: - Not set.

  • server_side_encryption_customer_algorithm (Optional[str]) – System-defined x-amz-server-side-encryption-customer-algorithm metadata to be set on all objects in the deployment. Warning: This is not a useful parameter until this bug is fixed: https://github.com/aws/aws-cdk/issues/6080 Default: - Not set.

  • storage_class (Optional[StorageClass]) – System-defined x-amz-storage-class metadata to be set on all objects in the deployment. Default: - Default storage-class for the bucket is used.

  • website_redirect_location (Optional[str]) – System-defined x-amz-website-redirect-location metadata to be set on all objects in the deployment. Default: - No website redirection.

stability :stability: experimental

Return type

None

Attributes

cache_control

System-defined cache-control metadata to be set on all objects in the deployment.

default :default: - Not set.

see :see: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#SysMetadata stability :stability: experimental

Return type

Optional[List[CacheControl]]

content_disposition

System-defined cache-disposition metadata to be set on all objects in the deployment.

default :default: - Not set.

see :see: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#SysMetadata stability :stability: experimental

Return type

Optional[str]

content_encoding

System-defined content-encoding metadata to be set on all objects in the deployment.

default :default: - Not set.

see :see: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#SysMetadata stability :stability: experimental

Return type

Optional[str]

content_language

System-defined content-language metadata to be set on all objects in the deployment.

default :default: - Not set.

see :see: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#SysMetadata stability :stability: experimental

Return type

Optional[str]

content_type

System-defined content-type metadata to be set on all objects in the deployment.

default :default: - Not set.

see :see: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#SysMetadata stability :stability: experimental

Return type

Optional[str]

destination_bucket

The S3 bucket to sync the contents of the zip file to.

stability :stability: experimental

Return type

IBucket

destination_key_prefix

Key prefix in the destination bucket.

default :default: “/” (unzip to root of the destination bucket)

stability :stability: experimental

Return type

Optional[str]

distribution

The CloudFront distribution using the destination bucket as an origin.

Files in the distribution’s edge caches will be invalidated after files are uploaded to the destination bucket.

default :default: - No invalidation occurs

stability :stability: experimental

Return type

Optional[IDistribution]

distribution_paths

The file paths to invalidate in the CloudFront distribution.

default :default: - All files under the destination bucket key prefix will be invalidated.

stability :stability: experimental

Return type

Optional[List[str]]

expires

System-defined expires metadata to be set on all objects in the deployment.

default :default: - The objects in the distribution will not expire.

see :see: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#SysMetadata stability :stability: experimental

Return type

Optional[Expires]

memory_limit

The amount of memory (in MiB) to allocate to the AWS Lambda function which replicates the files from the CDK bucket to the destination bucket.

If you are deploying large files, you will need to increase this number accordingly.

default :default: 128

stability :stability: experimental

Return type

Union[int, float, None]

metadata

User-defined object metadata to be set on all objects in the deployment.

default :default: - No user metadata is set

see :see: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#UserMetadata stability :stability: experimental

Return type

Optional[UserDefinedObjectMetadata]

prune

If this is set to false, files in the destination bucket that do not exist in the asset, will NOT be deleted during deployment (create/update).

default :default: true

see :see: https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html stability :stability: experimental

Return type

Optional[bool]

retain_on_delete

If this is set to “false”, the destination files will be deleted when the resource is deleted or the destination is updated.

NOTICE: if this is set to “false” and destination bucket/prefix is updated, all files in the previous destination will first be deleted and then uploaded to the new destination location. This could have availablity implications on your users.

default :default: true - when resource is deleted/updated, files are retained

stability :stability: experimental

Return type

Optional[bool]

role

Execution role associated with this function.

default :default: - A role is automatically created

stability :stability: experimental

Return type

Optional[IRole]

server_side_encryption

System-defined x-amz-server-side-encryption metadata to be set on all objects in the deployment.

default :default: - Server side encryption is not used.

see :see: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#SysMetadata stability :stability: experimental

Return type

Optional[ServerSideEncryption]

server_side_encryption_aws_kms_key_id

System-defined x-amz-server-side-encryption-aws-kms-key-id metadata to be set on all objects in the deployment.

default :default: - Not set.

see :see: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#SysMetadata stability :stability: experimental

Return type

Optional[str]

server_side_encryption_customer_algorithm

System-defined x-amz-server-side-encryption-customer-algorithm metadata to be set on all objects in the deployment.

Warning: This is not a useful parameter until this bug is fixed: https://github.com/aws/aws-cdk/issues/6080

default :default: - Not set.

see :see: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html#sse-c-how-to-programmatically-intro stability :stability: experimental

Return type

Optional[str]

sources

The sources from which to deploy the contents of this bucket.

stability :stability: experimental

Return type

List[ISource]

storage_class

System-defined x-amz-storage-class metadata to be set on all objects in the deployment.

default :default: - Default storage-class for the bucket is used.

see :see: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#SysMetadata stability :stability: experimental

Return type

Optional[StorageClass]

website_redirect_location

System-defined x-amz-website-redirect-location metadata to be set on all objects in the deployment.

default :default: - No website redirection.

see :see: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#SysMetadata stability :stability: experimental

Return type

Optional[str]