#[non_exhaustive]pub struct ViewerCertificate {
pub cloud_front_default_certificate: Option<bool>,
pub iam_certificate_id: Option<String>,
pub acm_certificate_arn: Option<String>,
pub ssl_support_method: Option<SslSupportMethod>,
pub minimum_protocol_version: Option<MinimumProtocolVersion>,
pub certificate: Option<String>,
pub certificate_source: Option<CertificateSource>,
}
Expand description
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
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 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.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.cloud_front_default_certificate: Option<bool>
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
orIAMCertificateId
(specify a value for one, not both) -
MinimumProtocolVersion
-
SSLSupportMethod
iam_certificate_id: Option<String>
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
and SSLSupportMethod
.
acm_certificate_arn: Option<String>
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
and SSLSupportMethod
.
ssl_support_method: Option<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.
minimum_protocol_version: Option<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.
certificate: Option<String>
This field is deprecated. Use one of the following fields instead:
-
ACMCertificateArn
-
IAMCertificateId
-
CloudFrontDefaultCertificate
certificate_source: Option<CertificateSource>
This field is deprecated. Use one of the following fields instead:
-
ACMCertificateArn
-
IAMCertificateId
-
CloudFrontDefaultCertificate
Implementations§
Source§impl ViewerCertificate
impl ViewerCertificate
Sourcepub fn cloud_front_default_certificate(&self) -> Option<bool>
pub fn cloud_front_default_certificate(&self) -> Option<bool>
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
orIAMCertificateId
(specify a value for one, not both) -
MinimumProtocolVersion
-
SSLSupportMethod
Sourcepub fn iam_certificate_id(&self) -> Option<&str>
pub fn iam_certificate_id(&self) -> Option<&str>
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
and SSLSupportMethod
.
Sourcepub fn acm_certificate_arn(&self) -> Option<&str>
pub fn acm_certificate_arn(&self) -> Option<&str>
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
and SSLSupportMethod
.
Sourcepub fn ssl_support_method(&self) -> Option<&SslSupportMethod>
pub fn ssl_support_method(&self) -> Option<&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.
Sourcepub fn minimum_protocol_version(&self) -> Option<&MinimumProtocolVersion>
pub fn minimum_protocol_version(&self) -> Option<&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.
Sourcepub fn certificate(&self) -> Option<&str>
👎Deprecated
pub fn certificate(&self) -> Option<&str>
This field is deprecated. Use one of the following fields instead:
-
ACMCertificateArn
-
IAMCertificateId
-
CloudFrontDefaultCertificate
Sourcepub fn certificate_source(&self) -> Option<&CertificateSource>
👎Deprecated
pub fn certificate_source(&self) -> Option<&CertificateSource>
This field is deprecated. Use one of the following fields instead:
-
ACMCertificateArn
-
IAMCertificateId
-
CloudFrontDefaultCertificate
Source§impl ViewerCertificate
impl ViewerCertificate
Sourcepub fn builder() -> ViewerCertificateBuilder
pub fn builder() -> ViewerCertificateBuilder
Creates a new builder-style object to manufacture ViewerCertificate
.
Trait Implementations§
Source§impl Clone for ViewerCertificate
impl Clone for ViewerCertificate
Source§fn clone(&self) -> ViewerCertificate
fn clone(&self) -> ViewerCertificate
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ViewerCertificate
impl Debug for ViewerCertificate
Source§impl PartialEq for ViewerCertificate
impl PartialEq for ViewerCertificate
impl StructuralPartialEq for ViewerCertificate
Auto Trait Implementations§
impl Freeze for ViewerCertificate
impl RefUnwindSafe for ViewerCertificate
impl Send for ViewerCertificate
impl Sync for ViewerCertificate
impl Unpin for ViewerCertificate
impl UnwindSafe for ViewerCertificate
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);