Class StaticWebsite.Builder

  • All Implemented Interfaces:
    software.amazon.jsii.Builder<StaticWebsite>
    Enclosing class:
    StaticWebsite

    @Stability(Experimental)
    public static final class StaticWebsite.Builder
    extends Object
    implements software.amazon.jsii.Builder<StaticWebsite>
    (experimental) A fluent builder for StaticWebsite.
    • Method Detail

      • create

        @Stability(Experimental)
        public static StaticWebsite.Builder create​(software.constructs.Construct scope,
                                                   String id)
        Parameters:
        scope - This parameter is required.
        id - This parameter is required.
        Returns:
        a new instance of StaticWebsite.Builder.
      • websiteContentPath

        @Stability(Experimental)
        public StaticWebsite.Builder websiteContentPath​(String websiteContentPath)
        (experimental) Path to the directory containing the static website files and assets.

        This directory must contain an index.html file.

        Parameters:
        websiteContentPath - Path to the directory containing the static website files and assets. This parameter is required.
        Returns:
        this
      • defaultWebsiteBucketEncryption

        @Stability(Experimental)
        public StaticWebsite.Builder defaultWebsiteBucketEncryption​(software.amazon.awscdk.services.s3.BucketEncryption defaultWebsiteBucketEncryption)
        (experimental) Bucket encryption to use for the default bucket.

        Supported options are KMS or S3MANAGED.

        Note: If planning to use KMS, ensure you associate a Lambda Edge function to sign requests to S3 as OAI does not currently support KMS encryption. Refer to {@link https://aws.amazon.com/blogs/networking-and-content-delivery/serving-sse-kms-encrypted-content-from-s3-using-cloudfront/}

        Default: - "S3MANAGED"

        Parameters:
        defaultWebsiteBucketEncryption - Bucket encryption to use for the default bucket. This parameter is required.
        Returns:
        this
      • defaultWebsiteBucketEncryptionKey

        @Stability(Experimental)
        public StaticWebsite.Builder defaultWebsiteBucketEncryptionKey​(software.amazon.awscdk.services.kms.Key defaultWebsiteBucketEncryptionKey)
        (experimental) A predefined KMS customer encryption key to use for the default bucket that gets created.

        Note: This is only used if the websiteBucket is left undefined, otherwise all settings from the provided websiteBucket will be used.

        Parameters:
        defaultWebsiteBucketEncryptionKey - A predefined KMS customer encryption key to use for the default bucket that gets created. This parameter is required.
        Returns:
        this
      • distributionProps

        @Stability(Experimental)
        public StaticWebsite.Builder distributionProps​(software.amazon.awscdk.services.cloudfront.DistributionProps distributionProps)
        (experimental) Custom distribution properties.

        Note: defaultBehaviour.origin is a required parameter, however it will not be used as this construct will wire it on your behalf. You will need to pass in an instance of StaticWebsiteOrigin (NoOp) to keep the compiler happy.

        Parameters:
        distributionProps - Custom distribution properties. This parameter is required.
        Returns:
        this
      • runtimeOptions

        @Stability(Experimental)
        public StaticWebsite.Builder runtimeOptions​(RuntimeOptions runtimeOptions)
        (experimental) Dynamic configuration which gets resolved only during deployment.

        Parameters:
        runtimeOptions - Dynamic configuration which gets resolved only during deployment. This parameter is required.
        Returns:
        this
      • webAclProps

        @Stability(Experimental)
        public StaticWebsite.Builder webAclProps​(CloudFrontWebAclProps webAclProps)
        (experimental) Limited configuration settings for the generated webAcl.

        For more advanced settings, create your own ACL and pass in the webAclId as a param to distributionProps.

        Note: If pass in your own ACL, make sure the SCOPE is CLOUDFRONT and it is created in us-east-1.

        Parameters:
        webAclProps - Limited configuration settings for the generated webAcl. This parameter is required.
        Returns:
        this
      • websiteBucket

        @Stability(Experimental)
        public StaticWebsite.Builder websiteBucket​(software.amazon.awscdk.services.s3.IBucket websiteBucket)
        (experimental) Predefined bucket to deploy the website into.

        Parameters:
        websiteBucket - Predefined bucket to deploy the website into. This parameter is required.
        Returns:
        this
      • build

        @Stability(Experimental)
        public StaticWebsite build()
        Specified by:
        build in interface software.amazon.jsii.Builder<StaticWebsite>