All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.cloudfront.model.ViewerCertificate Maven / Gradle / Ivy

/*
 * Copyright 2016-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.cloudfront.model;

import java.io.Serializable;
import javax.annotation.Generated;

/**
 * 

* A complex type that determines the distribution’s SSL/TLS configuration for communicating with viewers. *

*

* If the distribution doesn’t use Aliases (also known as alternate domain names or CNAMEs)—that is, if the * distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net—set * CloudFrontDefaultCertificate to true and leave all other fields empty. *

*

* If the distribution uses Aliases (alternate domain names or CNAMEs), use the fields in this type to * specify the following settings: *

*
    *
  • *

    * Which viewers the distribution accepts HTTPS connections from: only viewers that support server name indication (SNI) (recommended), or all * viewers including those that don’t support SNI. *

    *
      *
    • *

      * To accept HTTPS connections from only viewers that support SNI, set SSLSupportMethod to * sni-only. This is recommended. Most browsers and clients support SNI. *

      *
    • *
    • *

      * To accept HTTPS connections from all viewers, including those that don’t support SNI, set * SSLSupportMethod to vip. This is not recommended, and results in additional monthly charges * from CloudFront. *

      *
    • *
    *
  • *
  • *

    * The minimum SSL/TLS protocol version that the distribution can use to communicate with viewers. To specify a minimum * version, choose a value for MinimumProtocolVersion. For more information, see Security Policy in the Amazon CloudFront Developer Guide. *

    *
  • *
  • *

    * The location of the SSL/TLS certificate, AWS Certificate Manager (ACM) * (recommended) or AWS * Identity and Access Management (AWS IAM). You specify the location by setting a value in one of the following * fields (not both): *

    *
      *
    • *

      * ACMCertificateArn *

      *
    • *
    • *

      * IAMCertificateId *

      *
    • *
    *
  • *
*

* All distributions support HTTPS connections from viewers. To require viewers to use HTTPS only, or to redirect them * from HTTP to HTTPS, use ViewerProtocolPolicy in the CacheBehavior or * DefaultCacheBehavior. To specify how CloudFront should use SSL/TLS to communicate with your custom * origin, use CustomOriginConfig. *

*

* For more information, see Using HTTPS with * CloudFront and * Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ViewerCertificate implements Serializable, Cloneable { /** *

* If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, set this * field to true. *

*

* If the distribution uses Aliases (alternate domain names or CNAMEs), set this field to * false and specify values for the following fields: *

*
    *
  • *

    * ACMCertificateArn or IAMCertificateId (specify a value for one, not both) *

    *
  • *
  • *

    * MinimumProtocolVersion *

    *
  • *
  • *

    * SSLSupportMethod *

    *
  • *
*/ private Boolean cloudFrontDefaultCertificate; /** *

* If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS certificate is * stored in AWS * Identity and Access Management (AWS IAM), provide the ID of the IAM certificate. *

*

* If you specify an IAM certificate ID, you must also specify values for MinimumProtocolVersion and * SSLSupportMethod. *

*/ private String iAMCertificateId; /** *

* If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS certificate is * stored in AWS Certificate Manager * (ACM), provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront only supports ACM * certificates in the US East (N. Virginia) Region (us-east-1). *

*

* If you specify an ACM certificate ARN, you must also specify values for MinimumProtocolVersion and * SSLSupportMethod. *

*/ private String aCMCertificateArn; /** *

* If the distribution uses Aliases (alternate domain names or CNAMEs), specify which viewers the * distribution accepts HTTPS connections from. *

*
    *
  • *

    * sni-only – The distribution accepts HTTPS connections from only viewers that support server name indication (SNI). This is * recommended. Most browsers and clients support SNI. *

    *
  • *
  • *

    * vip – The distribution accepts HTTPS connections from all viewers including those that don’t support * SNI. This is not recommended, and results in additional monthly charges from CloudFront. *

    *
  • *
  • *

    * static-ip - Do not specify this value unless your distribution has been enabled for this feature by * the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact * CloudFront through the AWS Support Center. *

    *
  • *
*

* If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, don’t set * a value for this field. *

*/ private String sSLSupportMethod; /** *

* If the distribution uses Aliases (alternate domain names or CNAMEs), specify the security policy * that you want CloudFront to use for HTTPS connections with viewers. The security policy determines two settings: *

*
    *
  • *

    * The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers. *

    *
  • *
  • *

    * The ciphers that CloudFront can use to encrypt the content that it returns to viewers. *

    *
  • *
*

* For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and CloudFront in the Amazon CloudFront Developer * Guide. *

* *

* On the CloudFront console, this setting is called Security Policy. *

*
*

* When you’re using SNI only (you set SSLSupportMethod to sni-only), you must specify * TLSv1 or higher. *

*

* If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net (you set * CloudFrontDefaultCertificate to true), CloudFront automatically sets the security * policy to TLSv1 regardless of the value that you set here. *

*/ private String minimumProtocolVersion; /** *

* This field is deprecated. Use one of the following fields instead: *

*
    *
  • *

    * ACMCertificateArn *

    *
  • *
  • *

    * IAMCertificateId *

    *
  • *
  • *

    * CloudFrontDefaultCertificate *

    *
  • *
*/ @Deprecated private String certificate; /** *

* This field is deprecated. Use one of the following fields instead: *

*
    *
  • *

    * ACMCertificateArn *

    *
  • *
  • *

    * IAMCertificateId *

    *
  • *
  • *

    * CloudFrontDefaultCertificate *

    *
  • *
*/ @Deprecated private String certificateSource; /** *

* If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, set this * field to true. *

*

* If the distribution uses Aliases (alternate domain names or CNAMEs), set this field to * false and specify values for the following fields: *

*
    *
  • *

    * ACMCertificateArn or IAMCertificateId (specify a value for one, not both) *

    *
  • *
  • *

    * MinimumProtocolVersion *

    *
  • *
  • *

    * SSLSupportMethod *

    *
  • *
* * @param cloudFrontDefaultCertificate * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, * set this field to true.

*

* If the distribution uses Aliases (alternate domain names or CNAMEs), set this field to * false and specify values for the following fields: *

*
    *
  • *

    * ACMCertificateArn or IAMCertificateId (specify a value for one, not both) *

    *
  • *
  • *

    * MinimumProtocolVersion *

    *
  • *
  • *

    * SSLSupportMethod *

    *
  • */ public void setCloudFrontDefaultCertificate(Boolean cloudFrontDefaultCertificate) { this.cloudFrontDefaultCertificate = cloudFrontDefaultCertificate; } /** *

    * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, set this * field to true. *

    *

    * If the distribution uses Aliases (alternate domain names or CNAMEs), set this field to * false and specify values for the following fields: *

    *
      *
    • *

      * ACMCertificateArn or IAMCertificateId (specify a value for one, not both) *

      *
    • *
    • *

      * MinimumProtocolVersion *

      *
    • *
    • *

      * SSLSupportMethod *

      *
    • *
    * * @return If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, * set this field to true.

    *

    * If the distribution uses Aliases (alternate domain names or CNAMEs), set this field to * false and specify values for the following fields: *

    *
      *
    • *

      * ACMCertificateArn or IAMCertificateId (specify a value for one, not both) *

      *
    • *
    • *

      * MinimumProtocolVersion *

      *
    • *
    • *

      * SSLSupportMethod *

      *
    • */ public Boolean getCloudFrontDefaultCertificate() { return this.cloudFrontDefaultCertificate; } /** *

      * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, set this * field to true. *

      *

      * If the distribution uses Aliases (alternate domain names or CNAMEs), set this field to * false and specify values for the following fields: *

      *
        *
      • *

        * ACMCertificateArn or IAMCertificateId (specify a value for one, not both) *

        *
      • *
      • *

        * MinimumProtocolVersion *

        *
      • *
      • *

        * SSLSupportMethod *

        *
      • *
      * * @param cloudFrontDefaultCertificate * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, * set this field to true.

      *

      * If the distribution uses Aliases (alternate domain names or CNAMEs), set this field to * false and specify values for the following fields: *

      *
        *
      • *

        * ACMCertificateArn or IAMCertificateId (specify a value for one, not both) *

        *
      • *
      • *

        * MinimumProtocolVersion *

        *
      • *
      • *

        * SSLSupportMethod *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public ViewerCertificate withCloudFrontDefaultCertificate(Boolean cloudFrontDefaultCertificate) { setCloudFrontDefaultCertificate(cloudFrontDefaultCertificate); return this; } /** *

        * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, set this * field to true. *

        *

        * If the distribution uses Aliases (alternate domain names or CNAMEs), set this field to * false and specify values for the following fields: *

        *
          *
        • *

          * ACMCertificateArn or IAMCertificateId (specify a value for one, not both) *

          *
        • *
        • *

          * MinimumProtocolVersion *

          *
        • *
        • *

          * SSLSupportMethod *

          *
        • *
        * * @return If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, * set this field to true.

        *

        * If the distribution uses Aliases (alternate domain names or CNAMEs), set this field to * false and specify values for the following fields: *

        *
          *
        • *

          * ACMCertificateArn or IAMCertificateId (specify a value for one, not both) *

          *
        • *
        • *

          * MinimumProtocolVersion *

          *
        • *
        • *

          * SSLSupportMethod *

          *
        • */ public Boolean isCloudFrontDefaultCertificate() { return this.cloudFrontDefaultCertificate; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS certificate is * stored in AWS * Identity and Access Management (AWS IAM), provide the ID of the IAM certificate. *

          *

          * If you specify an IAM certificate ID, you must also specify values for MinimumProtocolVersion and * SSLSupportMethod. *

          * * @param iAMCertificateId * If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS * certificate is stored in AWS Identity and * Access Management (AWS IAM), provide the ID of the IAM certificate.

          *

          * If you specify an IAM certificate ID, you must also specify values for MinimumProtocolVersion * and SSLSupportMethod. */ public void setIAMCertificateId(String iAMCertificateId) { this.iAMCertificateId = iAMCertificateId; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS certificate is * stored in AWS * Identity and Access Management (AWS IAM), provide the ID of the IAM certificate. *

          *

          * If you specify an IAM certificate ID, you must also specify values for MinimumProtocolVersion and * SSLSupportMethod. *

          * * @return If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS * certificate is stored in AWS Identity and * Access Management (AWS IAM), provide the ID of the IAM certificate.

          *

          * If you specify an IAM certificate ID, you must also specify values for * MinimumProtocolVersion and SSLSupportMethod. */ public String getIAMCertificateId() { return this.iAMCertificateId; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS certificate is * stored in AWS * Identity and Access Management (AWS IAM), provide the ID of the IAM certificate. *

          *

          * If you specify an IAM certificate ID, you must also specify values for MinimumProtocolVersion and * SSLSupportMethod. *

          * * @param iAMCertificateId * If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS * certificate is stored in AWS Identity and * Access Management (AWS IAM), provide the ID of the IAM certificate.

          *

          * If you specify an IAM certificate ID, you must also specify values for MinimumProtocolVersion * and SSLSupportMethod. * @return Returns a reference to this object so that method calls can be chained together. */ public ViewerCertificate withIAMCertificateId(String iAMCertificateId) { setIAMCertificateId(iAMCertificateId); return this; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS certificate is * stored in AWS Certificate Manager * (ACM), provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront only supports ACM * certificates in the US East (N. Virginia) Region (us-east-1). *

          *

          * If you specify an ACM certificate ARN, you must also specify values for MinimumProtocolVersion and * SSLSupportMethod. *

          * * @param aCMCertificateArn * If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS * certificate is stored in AWS * Certificate Manager (ACM), provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront * only supports ACM certificates in the US East (N. Virginia) Region (us-east-1).

          *

          * If you specify an ACM certificate ARN, you must also specify values for * MinimumProtocolVersion and SSLSupportMethod. */ public void setACMCertificateArn(String aCMCertificateArn) { this.aCMCertificateArn = aCMCertificateArn; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS certificate is * stored in AWS Certificate Manager * (ACM), provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront only supports ACM * certificates in the US East (N. Virginia) Region (us-east-1). *

          *

          * If you specify an ACM certificate ARN, you must also specify values for MinimumProtocolVersion and * SSLSupportMethod. *

          * * @return If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS * certificate is stored in AWS * Certificate Manager (ACM), provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront * only supports ACM certificates in the US East (N. Virginia) Region (us-east-1).

          *

          * If you specify an ACM certificate ARN, you must also specify values for * MinimumProtocolVersion and SSLSupportMethod. */ public String getACMCertificateArn() { return this.aCMCertificateArn; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS certificate is * stored in AWS Certificate Manager * (ACM), provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront only supports ACM * certificates in the US East (N. Virginia) Region (us-east-1). *

          *

          * If you specify an ACM certificate ARN, you must also specify values for MinimumProtocolVersion and * SSLSupportMethod. *

          * * @param aCMCertificateArn * If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS * certificate is stored in AWS * Certificate Manager (ACM), provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront * only supports ACM certificates in the US East (N. Virginia) Region (us-east-1).

          *

          * If you specify an ACM certificate ARN, you must also specify values for * MinimumProtocolVersion and SSLSupportMethod. * @return Returns a reference to this object so that method calls can be chained together. */ public ViewerCertificate withACMCertificateArn(String aCMCertificateArn) { setACMCertificateArn(aCMCertificateArn); return this; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs), specify which viewers the * distribution accepts HTTPS connections from. *

          *
            *
          • *

            * sni-only – The distribution accepts HTTPS connections from only viewers that support server name indication (SNI). This is * recommended. Most browsers and clients support SNI. *

            *
          • *
          • *

            * vip – The distribution accepts HTTPS connections from all viewers including those that don’t support * SNI. This is not recommended, and results in additional monthly charges from CloudFront. *

            *
          • *
          • *

            * static-ip - Do not specify this value unless your distribution has been enabled for this feature by * the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact * CloudFront through the AWS Support Center. *

            *
          • *
          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, don’t set * a value for this field. *

          * * @param sSLSupportMethod * If the distribution uses Aliases (alternate domain names or CNAMEs), specify which viewers * the distribution accepts HTTPS connections from.

          *
            *
          • *

            * sni-only – The distribution accepts HTTPS connections from only viewers that support server name indication (SNI). This is * recommended. Most browsers and clients support SNI. *

            *
          • *
          • *

            * vip – The distribution accepts HTTPS connections from all viewers including those that don’t * support SNI. This is not recommended, and results in additional monthly charges from CloudFront. *

            *
          • *
          • *

            * static-ip - Do not specify this value unless your distribution has been enabled for this * feature by the CloudFront team. If you have a use case that requires static IP addresses for a * distribution, contact CloudFront through the AWS * Support Center. *

            *
          • *
          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, * don’t set a value for this field. * @see SSLSupportMethod */ public void setSSLSupportMethod(String sSLSupportMethod) { this.sSLSupportMethod = sSLSupportMethod; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs), specify which viewers the * distribution accepts HTTPS connections from. *

          *
            *
          • *

            * sni-only – The distribution accepts HTTPS connections from only viewers that support server name indication (SNI). This is * recommended. Most browsers and clients support SNI. *

            *
          • *
          • *

            * vip – The distribution accepts HTTPS connections from all viewers including those that don’t support * SNI. This is not recommended, and results in additional monthly charges from CloudFront. *

            *
          • *
          • *

            * static-ip - Do not specify this value unless your distribution has been enabled for this feature by * the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact * CloudFront through the AWS Support Center. *

            *
          • *
          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, don’t set * a value for this field. *

          * * @return If the distribution uses Aliases (alternate domain names or CNAMEs), specify which viewers * the distribution accepts HTTPS connections from.

          *
            *
          • *

            * sni-only – The distribution accepts HTTPS connections from only viewers that support server name indication (SNI). This is * recommended. Most browsers and clients support SNI. *

            *
          • *
          • *

            * vip – The distribution accepts HTTPS connections from all viewers including those that don’t * support SNI. This is not recommended, and results in additional monthly charges from CloudFront. *

            *
          • *
          • *

            * static-ip - Do not specify this value unless your distribution has been enabled for this * feature by the CloudFront team. If you have a use case that requires static IP addresses for a * distribution, contact CloudFront through the AWS * Support Center. *

            *
          • *
          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, * don’t set a value for this field. * @see SSLSupportMethod */ public String getSSLSupportMethod() { return this.sSLSupportMethod; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs), specify which viewers the * distribution accepts HTTPS connections from. *

          *
            *
          • *

            * sni-only – The distribution accepts HTTPS connections from only viewers that support server name indication (SNI). This is * recommended. Most browsers and clients support SNI. *

            *
          • *
          • *

            * vip – The distribution accepts HTTPS connections from all viewers including those that don’t support * SNI. This is not recommended, and results in additional monthly charges from CloudFront. *

            *
          • *
          • *

            * static-ip - Do not specify this value unless your distribution has been enabled for this feature by * the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact * CloudFront through the AWS Support Center. *

            *
          • *
          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, don’t set * a value for this field. *

          * * @param sSLSupportMethod * If the distribution uses Aliases (alternate domain names or CNAMEs), specify which viewers * the distribution accepts HTTPS connections from.

          *
            *
          • *

            * sni-only – The distribution accepts HTTPS connections from only viewers that support server name indication (SNI). This is * recommended. Most browsers and clients support SNI. *

            *
          • *
          • *

            * vip – The distribution accepts HTTPS connections from all viewers including those that don’t * support SNI. This is not recommended, and results in additional monthly charges from CloudFront. *

            *
          • *
          • *

            * static-ip - Do not specify this value unless your distribution has been enabled for this * feature by the CloudFront team. If you have a use case that requires static IP addresses for a * distribution, contact CloudFront through the AWS * Support Center. *

            *
          • *
          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, * don’t set a value for this field. * @return Returns a reference to this object so that method calls can be chained together. * @see SSLSupportMethod */ public ViewerCertificate withSSLSupportMethod(String sSLSupportMethod) { setSSLSupportMethod(sSLSupportMethod); return this; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs), specify which viewers the * distribution accepts HTTPS connections from. *

          *
            *
          • *

            * sni-only – The distribution accepts HTTPS connections from only viewers that support server name indication (SNI). This is * recommended. Most browsers and clients support SNI. *

            *
          • *
          • *

            * vip – The distribution accepts HTTPS connections from all viewers including those that don’t support * SNI. This is not recommended, and results in additional monthly charges from CloudFront. *

            *
          • *
          • *

            * static-ip - Do not specify this value unless your distribution has been enabled for this feature by * the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact * CloudFront through the AWS Support Center. *

            *
          • *
          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, don’t set * a value for this field. *

          * * @param sSLSupportMethod * If the distribution uses Aliases (alternate domain names or CNAMEs), specify which viewers * the distribution accepts HTTPS connections from.

          *
            *
          • *

            * sni-only – The distribution accepts HTTPS connections from only viewers that support server name indication (SNI). This is * recommended. Most browsers and clients support SNI. *

            *
          • *
          • *

            * vip – The distribution accepts HTTPS connections from all viewers including those that don’t * support SNI. This is not recommended, and results in additional monthly charges from CloudFront. *

            *
          • *
          • *

            * static-ip - Do not specify this value unless your distribution has been enabled for this * feature by the CloudFront team. If you have a use case that requires static IP addresses for a * distribution, contact CloudFront through the AWS * Support Center. *

            *
          • *
          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, * don’t set a value for this field. * @see SSLSupportMethod */ public void setSSLSupportMethod(SSLSupportMethod sSLSupportMethod) { withSSLSupportMethod(sSLSupportMethod); } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs), specify which viewers the * distribution accepts HTTPS connections from. *

          *
            *
          • *

            * sni-only – The distribution accepts HTTPS connections from only viewers that support server name indication (SNI). This is * recommended. Most browsers and clients support SNI. *

            *
          • *
          • *

            * vip – The distribution accepts HTTPS connections from all viewers including those that don’t support * SNI. This is not recommended, and results in additional monthly charges from CloudFront. *

            *
          • *
          • *

            * static-ip - Do not specify this value unless your distribution has been enabled for this feature by * the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact * CloudFront through the AWS Support Center. *

            *
          • *
          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, don’t set * a value for this field. *

          * * @param sSLSupportMethod * If the distribution uses Aliases (alternate domain names or CNAMEs), specify which viewers * the distribution accepts HTTPS connections from.

          *
            *
          • *

            * sni-only – The distribution accepts HTTPS connections from only viewers that support server name indication (SNI). This is * recommended. Most browsers and clients support SNI. *

            *
          • *
          • *

            * vip – The distribution accepts HTTPS connections from all viewers including those that don’t * support SNI. This is not recommended, and results in additional monthly charges from CloudFront. *

            *
          • *
          • *

            * static-ip - Do not specify this value unless your distribution has been enabled for this * feature by the CloudFront team. If you have a use case that requires static IP addresses for a * distribution, contact CloudFront through the AWS * Support Center. *

            *
          • *
          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, * don’t set a value for this field. * @return Returns a reference to this object so that method calls can be chained together. * @see SSLSupportMethod */ public ViewerCertificate withSSLSupportMethod(SSLSupportMethod sSLSupportMethod) { this.sSLSupportMethod = sSLSupportMethod.toString(); return this; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs), specify the security policy * that you want CloudFront to use for HTTPS connections with viewers. The security policy determines two settings: *

          *
            *
          • *

            * The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers. *

            *
          • *
          • *

            * The ciphers that CloudFront can use to encrypt the content that it returns to viewers. *

            *
          • *
          *

          * For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and CloudFront in the Amazon CloudFront Developer * Guide. *

          * *

          * On the CloudFront console, this setting is called Security Policy. *

          *
          *

          * When you’re using SNI only (you set SSLSupportMethod to sni-only), you must specify * TLSv1 or higher. *

          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net (you set * CloudFrontDefaultCertificate to true), CloudFront automatically sets the security * policy to TLSv1 regardless of the value that you set here. *

          * * @param minimumProtocolVersion * If the distribution uses Aliases (alternate domain names or CNAMEs), specify the security * policy that you want CloudFront to use for HTTPS connections with viewers. The security policy determines * two settings:

          *
            *
          • *

            * The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers. *

            *
          • *
          • *

            * The ciphers that CloudFront can use to encrypt the content that it returns to viewers. *

            *
          • *
          *

          * For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and CloudFront in the Amazon CloudFront Developer * Guide. *

          * *

          * On the CloudFront console, this setting is called Security Policy. *

          *
          *

          * When you’re using SNI only (you set SSLSupportMethod to sni-only), you must * specify TLSv1 or higher. *

          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net * (you set CloudFrontDefaultCertificate to true), CloudFront automatically sets * the security policy to TLSv1 regardless of the value that you set here. * @see MinimumProtocolVersion */ public void setMinimumProtocolVersion(String minimumProtocolVersion) { this.minimumProtocolVersion = minimumProtocolVersion; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs), specify the security policy * that you want CloudFront to use for HTTPS connections with viewers. The security policy determines two settings: *

          *
            *
          • *

            * The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers. *

            *
          • *
          • *

            * The ciphers that CloudFront can use to encrypt the content that it returns to viewers. *

            *
          • *
          *

          * For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and CloudFront in the Amazon CloudFront Developer * Guide. *

          * *

          * On the CloudFront console, this setting is called Security Policy. *

          *
          *

          * When you’re using SNI only (you set SSLSupportMethod to sni-only), you must specify * TLSv1 or higher. *

          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net (you set * CloudFrontDefaultCertificate to true), CloudFront automatically sets the security * policy to TLSv1 regardless of the value that you set here. *

          * * @return If the distribution uses Aliases (alternate domain names or CNAMEs), specify the security * policy that you want CloudFront to use for HTTPS connections with viewers. The security policy determines * two settings:

          *
            *
          • *

            * The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers. *

            *
          • *
          • *

            * The ciphers that CloudFront can use to encrypt the content that it returns to viewers. *

            *
          • *
          *

          * For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and CloudFront in the Amazon CloudFront Developer * Guide. *

          * *

          * On the CloudFront console, this setting is called Security Policy. *

          *
          *

          * When you’re using SNI only (you set SSLSupportMethod to sni-only), you must * specify TLSv1 or higher. *

          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net * (you set CloudFrontDefaultCertificate to true), CloudFront automatically sets * the security policy to TLSv1 regardless of the value that you set here. * @see MinimumProtocolVersion */ public String getMinimumProtocolVersion() { return this.minimumProtocolVersion; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs), specify the security policy * that you want CloudFront to use for HTTPS connections with viewers. The security policy determines two settings: *

          *
            *
          • *

            * The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers. *

            *
          • *
          • *

            * The ciphers that CloudFront can use to encrypt the content that it returns to viewers. *

            *
          • *
          *

          * For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and CloudFront in the Amazon CloudFront Developer * Guide. *

          * *

          * On the CloudFront console, this setting is called Security Policy. *

          *
          *

          * When you’re using SNI only (you set SSLSupportMethod to sni-only), you must specify * TLSv1 or higher. *

          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net (you set * CloudFrontDefaultCertificate to true), CloudFront automatically sets the security * policy to TLSv1 regardless of the value that you set here. *

          * * @param minimumProtocolVersion * If the distribution uses Aliases (alternate domain names or CNAMEs), specify the security * policy that you want CloudFront to use for HTTPS connections with viewers. The security policy determines * two settings:

          *
            *
          • *

            * The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers. *

            *
          • *
          • *

            * The ciphers that CloudFront can use to encrypt the content that it returns to viewers. *

            *
          • *
          *

          * For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and CloudFront in the Amazon CloudFront Developer * Guide. *

          * *

          * On the CloudFront console, this setting is called Security Policy. *

          *
          *

          * When you’re using SNI only (you set SSLSupportMethod to sni-only), you must * specify TLSv1 or higher. *

          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net * (you set CloudFrontDefaultCertificate to true), CloudFront automatically sets * the security policy to TLSv1 regardless of the value that you set here. * @return Returns a reference to this object so that method calls can be chained together. * @see MinimumProtocolVersion */ public ViewerCertificate withMinimumProtocolVersion(String minimumProtocolVersion) { setMinimumProtocolVersion(minimumProtocolVersion); return this; } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs), specify the security policy * that you want CloudFront to use for HTTPS connections with viewers. The security policy determines two settings: *

          *
            *
          • *

            * The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers. *

            *
          • *
          • *

            * The ciphers that CloudFront can use to encrypt the content that it returns to viewers. *

            *
          • *
          *

          * For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and CloudFront in the Amazon CloudFront Developer * Guide. *

          * *

          * On the CloudFront console, this setting is called Security Policy. *

          *
          *

          * When you’re using SNI only (you set SSLSupportMethod to sni-only), you must specify * TLSv1 or higher. *

          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net (you set * CloudFrontDefaultCertificate to true), CloudFront automatically sets the security * policy to TLSv1 regardless of the value that you set here. *

          * * @param minimumProtocolVersion * If the distribution uses Aliases (alternate domain names or CNAMEs), specify the security * policy that you want CloudFront to use for HTTPS connections with viewers. The security policy determines * two settings:

          *
            *
          • *

            * The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers. *

            *
          • *
          • *

            * The ciphers that CloudFront can use to encrypt the content that it returns to viewers. *

            *
          • *
          *

          * For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and CloudFront in the Amazon CloudFront Developer * Guide. *

          * *

          * On the CloudFront console, this setting is called Security Policy. *

          *
          *

          * When you’re using SNI only (you set SSLSupportMethod to sni-only), you must * specify TLSv1 or higher. *

          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net * (you set CloudFrontDefaultCertificate to true), CloudFront automatically sets * the security policy to TLSv1 regardless of the value that you set here. * @see MinimumProtocolVersion */ public void setMinimumProtocolVersion(MinimumProtocolVersion minimumProtocolVersion) { withMinimumProtocolVersion(minimumProtocolVersion); } /** *

          * If the distribution uses Aliases (alternate domain names or CNAMEs), specify the security policy * that you want CloudFront to use for HTTPS connections with viewers. The security policy determines two settings: *

          *
            *
          • *

            * The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers. *

            *
          • *
          • *

            * The ciphers that CloudFront can use to encrypt the content that it returns to viewers. *

            *
          • *
          *

          * For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and CloudFront in the Amazon CloudFront Developer * Guide. *

          * *

          * On the CloudFront console, this setting is called Security Policy. *

          *
          *

          * When you’re using SNI only (you set SSLSupportMethod to sni-only), you must specify * TLSv1 or higher. *

          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net (you set * CloudFrontDefaultCertificate to true), CloudFront automatically sets the security * policy to TLSv1 regardless of the value that you set here. *

          * * @param minimumProtocolVersion * If the distribution uses Aliases (alternate domain names or CNAMEs), specify the security * policy that you want CloudFront to use for HTTPS connections with viewers. The security policy determines * two settings:

          *
            *
          • *

            * The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers. *

            *
          • *
          • *

            * The ciphers that CloudFront can use to encrypt the content that it returns to viewers. *

            *
          • *
          *

          * For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and CloudFront in the Amazon CloudFront Developer * Guide. *

          * *

          * On the CloudFront console, this setting is called Security Policy. *

          *
          *

          * When you’re using SNI only (you set SSLSupportMethod to sni-only), you must * specify TLSv1 or higher. *

          *

          * If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net * (you set CloudFrontDefaultCertificate to true), CloudFront automatically sets * the security policy to TLSv1 regardless of the value that you set here. * @return Returns a reference to this object so that method calls can be chained together. * @see MinimumProtocolVersion */ public ViewerCertificate withMinimumProtocolVersion(MinimumProtocolVersion minimumProtocolVersion) { this.minimumProtocolVersion = minimumProtocolVersion.toString(); return this; } /** *

          * This field is deprecated. Use one of the following fields instead: *

          *
            *
          • *

            * ACMCertificateArn *

            *
          • *
          • *

            * IAMCertificateId *

            *
          • *
          • *

            * CloudFrontDefaultCertificate *

            *
          • *
          * * @param certificate * This field is deprecated. Use one of the following fields instead:

          *
            *
          • *

            * ACMCertificateArn *

            *
          • *
          • *

            * IAMCertificateId *

            *
          • *
          • *

            * CloudFrontDefaultCertificate *

            *
          • */ @Deprecated public void setCertificate(String certificate) { this.certificate = certificate; } /** *

            * This field is deprecated. Use one of the following fields instead: *

            *
              *
            • *

              * ACMCertificateArn *

              *
            • *
            • *

              * IAMCertificateId *

              *
            • *
            • *

              * CloudFrontDefaultCertificate *

              *
            • *
            * * @return This field is deprecated. Use one of the following fields instead:

            *
              *
            • *

              * ACMCertificateArn *

              *
            • *
            • *

              * IAMCertificateId *

              *
            • *
            • *

              * CloudFrontDefaultCertificate *

              *
            • */ @Deprecated public String getCertificate() { return this.certificate; } /** *

              * This field is deprecated. Use one of the following fields instead: *

              *
                *
              • *

                * ACMCertificateArn *

                *
              • *
              • *

                * IAMCertificateId *

                *
              • *
              • *

                * CloudFrontDefaultCertificate *

                *
              • *
              * * @param certificate * This field is deprecated. Use one of the following fields instead:

              *
                *
              • *

                * ACMCertificateArn *

                *
              • *
              • *

                * IAMCertificateId *

                *
              • *
              • *

                * CloudFrontDefaultCertificate *

                *
              • * @return Returns a reference to this object so that method calls can be chained together. */ @Deprecated public ViewerCertificate withCertificate(String certificate) { setCertificate(certificate); return this; } /** *

                * This field is deprecated. Use one of the following fields instead: *

                *
                  *
                • *

                  * ACMCertificateArn *

                  *
                • *
                • *

                  * IAMCertificateId *

                  *
                • *
                • *

                  * CloudFrontDefaultCertificate *

                  *
                • *
                * * @param certificateSource * This field is deprecated. Use one of the following fields instead:

                *
                  *
                • *

                  * ACMCertificateArn *

                  *
                • *
                • *

                  * IAMCertificateId *

                  *
                • *
                • *

                  * CloudFrontDefaultCertificate *

                  *
                • * @see CertificateSource */ @Deprecated public void setCertificateSource(String certificateSource) { this.certificateSource = certificateSource; } /** *

                  * This field is deprecated. Use one of the following fields instead: *

                  *
                    *
                  • *

                    * ACMCertificateArn *

                    *
                  • *
                  • *

                    * IAMCertificateId *

                    *
                  • *
                  • *

                    * CloudFrontDefaultCertificate *

                    *
                  • *
                  * * @return This field is deprecated. Use one of the following fields instead:

                  *
                    *
                  • *

                    * ACMCertificateArn *

                    *
                  • *
                  • *

                    * IAMCertificateId *

                    *
                  • *
                  • *

                    * CloudFrontDefaultCertificate *

                    *
                  • * @see CertificateSource */ @Deprecated public String getCertificateSource() { return this.certificateSource; } /** *

                    * This field is deprecated. Use one of the following fields instead: *

                    *
                      *
                    • *

                      * ACMCertificateArn *

                      *
                    • *
                    • *

                      * IAMCertificateId *

                      *
                    • *
                    • *

                      * CloudFrontDefaultCertificate *

                      *
                    • *
                    * * @param certificateSource * This field is deprecated. Use one of the following fields instead:

                    *
                      *
                    • *

                      * ACMCertificateArn *

                      *
                    • *
                    • *

                      * IAMCertificateId *

                      *
                    • *
                    • *

                      * CloudFrontDefaultCertificate *

                      *
                    • * @return Returns a reference to this object so that method calls can be chained together. * @see CertificateSource */ @Deprecated public ViewerCertificate withCertificateSource(String certificateSource) { setCertificateSource(certificateSource); return this; } /** *

                      * This field is deprecated. Use one of the following fields instead: *

                      *
                        *
                      • *

                        * ACMCertificateArn *

                        *
                      • *
                      • *

                        * IAMCertificateId *

                        *
                      • *
                      • *

                        * CloudFrontDefaultCertificate *

                        *
                      • *
                      * * @param certificateSource * This field is deprecated. Use one of the following fields instead:

                      *
                        *
                      • *

                        * ACMCertificateArn *

                        *
                      • *
                      • *

                        * IAMCertificateId *

                        *
                      • *
                      • *

                        * CloudFrontDefaultCertificate *

                        *
                      • * @see CertificateSource */ @Deprecated public void setCertificateSource(CertificateSource certificateSource) { withCertificateSource(certificateSource); } /** *

                        * This field is deprecated. Use one of the following fields instead: *

                        *
                          *
                        • *

                          * ACMCertificateArn *

                          *
                        • *
                        • *

                          * IAMCertificateId *

                          *
                        • *
                        • *

                          * CloudFrontDefaultCertificate *

                          *
                        • *
                        * * @param certificateSource * This field is deprecated. Use one of the following fields instead:

                        *
                          *
                        • *

                          * ACMCertificateArn *

                          *
                        • *
                        • *

                          * IAMCertificateId *

                          *
                        • *
                        • *

                          * CloudFrontDefaultCertificate *

                          *
                        • * @return Returns a reference to this object so that method calls can be chained together. * @see CertificateSource */ @Deprecated public ViewerCertificate withCertificateSource(CertificateSource certificateSource) { this.certificateSource = certificateSource.toString(); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getCloudFrontDefaultCertificate() != null) sb.append("CloudFrontDefaultCertificate: ").append(getCloudFrontDefaultCertificate()).append(","); if (getIAMCertificateId() != null) sb.append("IAMCertificateId: ").append(getIAMCertificateId()).append(","); if (getACMCertificateArn() != null) sb.append("ACMCertificateArn: ").append(getACMCertificateArn()).append(","); if (getSSLSupportMethod() != null) sb.append("SSLSupportMethod: ").append(getSSLSupportMethod()).append(","); if (getMinimumProtocolVersion() != null) sb.append("MinimumProtocolVersion: ").append(getMinimumProtocolVersion()).append(","); if (getCertificate() != null) sb.append("Certificate: ").append(getCertificate()).append(","); if (getCertificateSource() != null) sb.append("CertificateSource: ").append(getCertificateSource()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ViewerCertificate == false) return false; ViewerCertificate other = (ViewerCertificate) obj; if (other.getCloudFrontDefaultCertificate() == null ^ this.getCloudFrontDefaultCertificate() == null) return false; if (other.getCloudFrontDefaultCertificate() != null && other.getCloudFrontDefaultCertificate().equals(this.getCloudFrontDefaultCertificate()) == false) return false; if (other.getIAMCertificateId() == null ^ this.getIAMCertificateId() == null) return false; if (other.getIAMCertificateId() != null && other.getIAMCertificateId().equals(this.getIAMCertificateId()) == false) return false; if (other.getACMCertificateArn() == null ^ this.getACMCertificateArn() == null) return false; if (other.getACMCertificateArn() != null && other.getACMCertificateArn().equals(this.getACMCertificateArn()) == false) return false; if (other.getSSLSupportMethod() == null ^ this.getSSLSupportMethod() == null) return false; if (other.getSSLSupportMethod() != null && other.getSSLSupportMethod().equals(this.getSSLSupportMethod()) == false) return false; if (other.getMinimumProtocolVersion() == null ^ this.getMinimumProtocolVersion() == null) return false; if (other.getMinimumProtocolVersion() != null && other.getMinimumProtocolVersion().equals(this.getMinimumProtocolVersion()) == false) return false; if (other.getCertificate() == null ^ this.getCertificate() == null) return false; if (other.getCertificate() != null && other.getCertificate().equals(this.getCertificate()) == false) return false; if (other.getCertificateSource() == null ^ this.getCertificateSource() == null) return false; if (other.getCertificateSource() != null && other.getCertificateSource().equals(this.getCertificateSource()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getCloudFrontDefaultCertificate() == null) ? 0 : getCloudFrontDefaultCertificate().hashCode()); hashCode = prime * hashCode + ((getIAMCertificateId() == null) ? 0 : getIAMCertificateId().hashCode()); hashCode = prime * hashCode + ((getACMCertificateArn() == null) ? 0 : getACMCertificateArn().hashCode()); hashCode = prime * hashCode + ((getSSLSupportMethod() == null) ? 0 : getSSLSupportMethod().hashCode()); hashCode = prime * hashCode + ((getMinimumProtocolVersion() == null) ? 0 : getMinimumProtocolVersion().hashCode()); hashCode = prime * hashCode + ((getCertificate() == null) ? 0 : getCertificate().hashCode()); hashCode = prime * hashCode + ((getCertificateSource() == null) ? 0 : getCertificateSource().hashCode()); return hashCode; } @Override public ViewerCertificate clone() { try { return (ViewerCertificate) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy