Class ViewerCertificate
- java.lang.Object
-
- software.amazon.awssdk.services.cloudfront.model.ViewerCertificate
-
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<ViewerCertificate.Builder,ViewerCertificate>
@Generated("software.amazon.awssdk:codegen") public final class ViewerCertificate extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ViewerCertificate.Builder,ViewerCertificate>
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 asd111111abcdef8.cloudfront.net
—setCloudFrontDefaultCertificate
totrue
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
tosni-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
tovip
. 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, Certificate Manager (ACM) (recommended) or Identity and Access Management (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 theCacheBehavior
orDefaultCacheBehavior
. To specify how CloudFront should use SSL/TLS to communicate with your custom origin, useCustomOriginConfig
.For more information, see Using HTTPS with CloudFront and Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ViewerCertificate.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description String
acmCertificateArn()
If the distribution usesAliases
(alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in Certificate Manager (ACM), provide the Amazon Resource Name (ARN) of the ACM certificate.static ViewerCertificate.Builder
builder()
String
certificate()
Deprecated.CertificateSource
certificateSource()
Deprecated.String
certificateSourceAsString()
Deprecated.Boolean
cloudFrontDefaultCertificate()
If the distribution uses the CloudFront domain name such asd111111abcdef8.cloudfront.net
, set this field totrue
.boolean
equals(Object obj)
boolean
equalsBySdkFields(Object obj)
<T> Optional<T>
getValueForField(String fieldName, Class<T> clazz)
int
hashCode()
String
iamCertificateId()
If the distribution usesAliases
(alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in Identity and Access Management (IAM), provide the ID of the IAM certificate.MinimumProtocolVersion
minimumProtocolVersion()
If the distribution usesAliases
(alternate domain names or CNAMEs), specify the security policy that you want CloudFront to use for HTTPS connections with viewers.String
minimumProtocolVersionAsString()
If the distribution usesAliases
(alternate domain names or CNAMEs), specify the security policy that you want CloudFront to use for HTTPS connections with viewers.List<SdkField<?>>
sdkFields()
static Class<? extends ViewerCertificate.Builder>
serializableBuilderClass()
SSLSupportMethod
sslSupportMethod()
If the distribution usesAliases
(alternate domain names or CNAMEs), specify which viewers the distribution accepts HTTPS connections from.String
sslSupportMethodAsString()
If the distribution usesAliases
(alternate domain names or CNAMEs), specify which viewers the distribution accepts HTTPS connections from.ViewerCertificate.Builder
toBuilder()
String
toString()
Returns a string representation of this object.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
cloudFrontDefaultCertificate
public final Boolean cloudFrontDefaultCertificate()
If the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
, set this field totrue
.If the distribution uses
Aliases
(alternate domain names or CNAMEs), set this field tofalse
and specify values for the following fields:-
ACMCertificateArn
orIAMCertificateId
(specify a value for one, not both) -
MinimumProtocolVersion
-
SSLSupportMethod
- Returns:
- If the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
, set this field totrue
.If the distribution uses
Aliases
(alternate domain names or CNAMEs), set this field tofalse
and specify values for the following fields:-
ACMCertificateArn
orIAMCertificateId
(specify a value for one, not both) -
MinimumProtocolVersion
-
SSLSupportMethod
-
-
-
iamCertificateId
public final String iamCertificateId()
If the distribution uses
Aliases
(alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in Identity and Access Management (IAM), provide the ID of the IAM certificate.If you specify an IAM certificate ID, you must also specify values for
MinimumProtocolVersion
andSSLSupportMethod
.- Returns:
- If the distribution uses
Aliases
(alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in Identity and Access Management (IAM), provide the ID of the IAM certificate.If you specify an IAM certificate ID, you must also specify values for
MinimumProtocolVersion
andSSLSupportMethod
.
-
acmCertificateArn
public final String acmCertificateArn()
If the distribution uses
Aliases
(alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in 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
andSSLSupportMethod
.- Returns:
- If the distribution uses
Aliases
(alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in 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
andSSLSupportMethod
.
-
sslSupportMethod
public final 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 Amazon Web Services Support Center.
If the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
, don't set a value for this field.If the service returns an enum value that is not available in the current SDK version,
sslSupportMethod
will returnSSLSupportMethod.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromsslSupportMethodAsString()
.- Returns:
- 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 Amazon Web Services Support Center.
If the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
, don't set a value for this field. -
- See Also:
SSLSupportMethod
-
-
sslSupportMethodAsString
public final String sslSupportMethodAsString()
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 Amazon Web Services Support Center.
If the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
, don't set a value for this field.If the service returns an enum value that is not available in the current SDK version,
sslSupportMethod
will returnSSLSupportMethod.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromsslSupportMethodAsString()
.- Returns:
- 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 Amazon Web Services Support Center.
If the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
, don't set a value for this field. -
- See Also:
SSLSupportMethod
-
-
minimumProtocolVersion
public final 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
tosni-only
), you must specifyTLSv1
or higher.If the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
(you setCloudFrontDefaultCertificate
totrue
), CloudFront automatically sets the security policy toTLSv1
regardless of the value that you set here.If the service returns an enum value that is not available in the current SDK version,
minimumProtocolVersion
will returnMinimumProtocolVersion.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromminimumProtocolVersionAsString()
.- Returns:
- 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
tosni-only
), you must specifyTLSv1
or higher.If the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
(you setCloudFrontDefaultCertificate
totrue
), CloudFront automatically sets the security policy toTLSv1
regardless of the value that you set here. -
- See Also:
MinimumProtocolVersion
-
-
minimumProtocolVersionAsString
public final String minimumProtocolVersionAsString()
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
tosni-only
), you must specifyTLSv1
or higher.If the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
(you setCloudFrontDefaultCertificate
totrue
), CloudFront automatically sets the security policy toTLSv1
regardless of the value that you set here.If the service returns an enum value that is not available in the current SDK version,
minimumProtocolVersion
will returnMinimumProtocolVersion.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromminimumProtocolVersionAsString()
.- Returns:
- 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
tosni-only
), you must specifyTLSv1
or higher.If the distribution uses the CloudFront domain name such as
d111111abcdef8.cloudfront.net
(you setCloudFrontDefaultCertificate
totrue
), CloudFront automatically sets the security policy toTLSv1
regardless of the value that you set here. -
- See Also:
MinimumProtocolVersion
-
-
certificate
@Deprecated public final String certificate()
Deprecated.This field is deprecated. Use one of the following fields instead:
-
ACMCertificateArn
-
IAMCertificateId
-
CloudFrontDefaultCertificate
- Returns:
- This field is deprecated. Use one of the following fields instead:
-
ACMCertificateArn
-
IAMCertificateId
-
CloudFrontDefaultCertificate
-
-
-
certificateSource
@Deprecated public final CertificateSource certificateSource()
Deprecated.This field is deprecated. Use one of the following fields instead:
-
ACMCertificateArn
-
IAMCertificateId
-
CloudFrontDefaultCertificate
If the service returns an enum value that is not available in the current SDK version,
certificateSource
will returnCertificateSource.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromcertificateSourceAsString()
.- Returns:
- This field is deprecated. Use one of the following fields instead:
-
ACMCertificateArn
-
IAMCertificateId
-
CloudFrontDefaultCertificate
-
- See Also:
CertificateSource
-
-
certificateSourceAsString
@Deprecated public final String certificateSourceAsString()
Deprecated.This field is deprecated. Use one of the following fields instead:
-
ACMCertificateArn
-
IAMCertificateId
-
CloudFrontDefaultCertificate
If the service returns an enum value that is not available in the current SDK version,
certificateSource
will returnCertificateSource.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromcertificateSourceAsString()
.- Returns:
- This field is deprecated. Use one of the following fields instead:
-
ACMCertificateArn
-
IAMCertificateId
-
CloudFrontDefaultCertificate
-
- See Also:
CertificateSource
-
-
toBuilder
public ViewerCertificate.Builder toBuilder()
- Specified by:
toBuilder
in interfaceToCopyableBuilder<ViewerCertificate.Builder,ViewerCertificate>
-
builder
public static ViewerCertificate.Builder builder()
-
serializableBuilderClass
public static Class<? extends ViewerCertificate.Builder> serializableBuilderClass()
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFields
in interfaceSdkPojo
-
toString
public final String toString()
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.
-
-