Class DistributionProps.Jsii$Proxy

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.cloudfront.DistributionProps.Jsii$Proxy
All Implemented Interfaces:
DistributionProps, software.amazon.jsii.JsiiSerializable
Enclosing interface:
DistributionProps

@Stability(Stable) @Internal public static final class DistributionProps.Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DistributionProps
An implementation for DistributionProps
  • Constructor Details

    • Jsii$Proxy

      protected Jsii$Proxy(software.amazon.jsii.JsiiObjectRef objRef)
      Constructor that initializes the object based on values retrieved from the JsiiObject.
      Parameters:
      objRef - Reference to the JSII managed object.
    • Jsii$Proxy

      protected Jsii$Proxy(DistributionProps.Builder builder)
      Constructor that initializes the object based on literal property values passed by the DistributionProps.Builder.
  • Method Details

    • getDefaultBehavior

      public final BehaviorOptions getDefaultBehavior()
      Description copied from interface: DistributionProps
      The default behavior for the distribution.
      Specified by:
      getDefaultBehavior in interface DistributionProps
    • getAdditionalBehaviors

      public final Map<String,BehaviorOptions> getAdditionalBehaviors()
      Description copied from interface: DistributionProps
      Additional behaviors for the distribution, mapped by the pathPattern that specifies which requests to apply the behavior to.

      Default: - no additional behaviors are added.

      Specified by:
      getAdditionalBehaviors in interface DistributionProps
    • getCertificate

      public final ICertificate getCertificate()
      Description copied from interface: DistributionProps
      A certificate to associate with the distribution.

      The certificate must be located in N. Virginia (us-east-1).

      Default: - the CloudFront wildcard certificate (*.cloudfront.net) will be used.

      Specified by:
      getCertificate in interface DistributionProps
    • getComment

      public final String getComment()
      Description copied from interface: DistributionProps
      Any comments you want to include about the distribution.

      Default: - no comment

      Specified by:
      getComment in interface DistributionProps
    • getDefaultRootObject

      public final String getDefaultRootObject()
      Description copied from interface: DistributionProps
      The object that you want CloudFront to request from your origin (for example, index.html) when a viewer requests the root URL for your distribution. If no default object is set, the request goes to the origin's root (e.g., example.com/).

      Default: - no default root object

      Specified by:
      getDefaultRootObject in interface DistributionProps
    • getDomainNames

      public final List<String> getDomainNames()
      Description copied from interface: DistributionProps
      Alternative domain names for this distribution.

      If you want to use your own domain name, such as www.example.com, instead of the cloudfront.net domain name, you can add an alternate domain name to your distribution. If you attach a certificate to the distribution, you must add (at least one of) the domain names of the certificate to this list.

      Default: - The distribution will only support the default generated name (e.g., d111111abcdef8.cloudfront.net)

      Specified by:
      getDomainNames in interface DistributionProps
    • getEnabled

      public final Boolean getEnabled()
      Description copied from interface: DistributionProps
      Enable or disable the distribution.

      Default: true

      Specified by:
      getEnabled in interface DistributionProps
    • getEnableIpv6

      public final Boolean getEnableIpv6()
      Description copied from interface: DistributionProps
      Whether CloudFront will respond to IPv6 DNS requests with an IPv6 address.

      If you specify false, CloudFront responds to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. This allows viewers to submit a second request, for an IPv4 address for your distribution.

      Default: true

      Specified by:
      getEnableIpv6 in interface DistributionProps
    • getEnableLogging

      public final Boolean getEnableLogging()
      Description copied from interface: DistributionProps
      Enable access logging for the distribution.

      Default: - false, unless `logBucket` is specified.

      Specified by:
      getEnableLogging in interface DistributionProps
    • getErrorResponses

      public final List<ErrorResponse> getErrorResponses()
      Description copied from interface: DistributionProps
      How CloudFront should handle requests that are not successful (e.g., PageNotFound).

      Default: - No custom error responses.

      Specified by:
      getErrorResponses in interface DistributionProps
    • getGeoRestriction

      public final GeoRestriction getGeoRestriction()
      Description copied from interface: DistributionProps
      Controls the countries in which your content is distributed.

      Default: - No geographic restrictions

      Specified by:
      getGeoRestriction in interface DistributionProps
    • getHttpVersion

      public final HttpVersion getHttpVersion()
      Description copied from interface: DistributionProps
      Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront.

      For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support server name identification (SNI).

      Default: HttpVersion.HTTP2

      Specified by:
      getHttpVersion in interface DistributionProps
    • getLogBucket

      public final IBucket getLogBucket()
      Description copied from interface: DistributionProps
      The Amazon S3 bucket to store the access logs in.

      Make sure to set objectOwnership to s3.ObjectOwnership.OBJECT_WRITER in your custom bucket.

      Default: - A bucket is created if `enableLogging` is true

      Specified by:
      getLogBucket in interface DistributionProps
    • getLogFilePrefix

      public final String getLogFilePrefix()
      Description copied from interface: DistributionProps
      An optional string that you want CloudFront to prefix to the access log filenames for this distribution.

      Default: - no prefix

      Specified by:
      getLogFilePrefix in interface DistributionProps
    • getLogIncludesCookies

      public final Boolean getLogIncludesCookies()
      Description copied from interface: DistributionProps
      Specifies whether you want CloudFront to include cookies in access logs.

      Default: false

      Specified by:
      getLogIncludesCookies in interface DistributionProps
    • getMinimumProtocolVersion

      public final SecurityPolicyProtocol getMinimumProtocolVersion()
      Description copied from interface: DistributionProps
      The minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections.

      CloudFront serves your objects only to browsers or devices that support at least the SSL version that you specify.

      Default: - SecurityPolicyProtocol.TLS_V1_2_2021 if the '@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021' feature flag is set; otherwise, SecurityPolicyProtocol.TLS_V1_2_2019.

      Specified by:
      getMinimumProtocolVersion in interface DistributionProps
    • getPriceClass

      public final PriceClass getPriceClass()
      Description copied from interface: DistributionProps
      The price class that corresponds with the maximum price that you want to pay for CloudFront service.

      If you specify PriceClass_All, CloudFront responds to requests for your objects from all CloudFront edge locations. If you specify a price class other than PriceClass_All, CloudFront serves your objects from the CloudFront edge location that has the lowest latency among the edge locations in your price class.

      Default: PriceClass.PRICE_CLASS_ALL

      Specified by:
      getPriceClass in interface DistributionProps
    • getPublishAdditionalMetrics

      public final Boolean getPublishAdditionalMetrics()
      Description copied from interface: DistributionProps
      Whether to enable additional CloudWatch metrics.

      Default: false

      Specified by:
      getPublishAdditionalMetrics in interface DistributionProps
      See Also:
    • getSslSupportMethod

      public final SSLMethod getSslSupportMethod()
      Description copied from interface: DistributionProps
      The SSL method CloudFront will use for your distribution.

      Server Name Indication (SNI) - is an extension to the TLS computer networking protocol by which a client indicates which hostname it is attempting to connect to at the start of the handshaking process. This allows a server to present multiple certificates on the same IP address and TCP port number and hence allows multiple secure (HTTPS) websites (or any other service over TLS) to be served by the same IP address without requiring all those sites to use the same certificate.

      CloudFront can use SNI to host multiple distributions on the same IP - which a large majority of clients will support.

      If your clients cannot support SNI however - CloudFront can use dedicated IPs for your distribution - but there is a prorated monthly charge for using this feature. By default, we use SNI - but you can optionally enable dedicated IPs (VIP).

      See the CloudFront SSL for more details about pricing : https://aws.amazon.com/cloudfront/custom-ssl-domains/

      Default: SSLMethod.SNI

      Specified by:
      getSslSupportMethod in interface DistributionProps
    • getWebAclId

      public final String getWebAclId()
      Description copied from interface: DistributionProps
      Unique identifier that specifies the AWS WAF web ACL to associate with this CloudFront distribution.

      To specify a web ACL created using the latest version of AWS WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example 473e64fd-f30b-4765-81a0-62ad96dd167a.

      Default: - No AWS Web Application Firewall web access control list (web ACL).

      Specified by:
      getWebAclId in interface DistributionProps
      See Also:
    • $jsii$toJson

      @Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
      Specified by:
      $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
    • equals

      public final boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object