#[non_exhaustive]pub struct AliasTarget {
pub hosted_zone_id: String,
pub dns_name: String,
pub evaluate_target_health: bool,
}
Expand description
Alias resource record sets only: Information about the Amazon Web Services resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.
When creating resource record sets for a private hosted zone, note the following:
-
For information about creating failover resource record sets in a private hosted zone, see Configuring Failover in a Private Hosted Zone.
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.hosted_zone_id: String
Alias resource records sets only: The value used depends on where you want to route traffic:
- Amazon API Gateway custom regional APIs and edge-optimized APIs
-
Specify the hosted zone ID for your API. You can get the applicable value using the CLI command get-domain-names:
-
For regional APIs, specify the value of
regionalHostedZoneId
. -
For edge-optimized APIs, specify the value of
distributionHostedZoneId
.
-
- Amazon Virtual Private Cloud interface VPC endpoint
-
Specify the hosted zone ID for your interface endpoint. You can get the value of
HostedZoneId
using the CLI command describe-vpc-endpoints. - CloudFront distribution
-
Specify
Z2FDTNDATAQYW2
.Alias resource record sets for CloudFront can't be created in a private zone.
- Elastic Beanstalk environment
-
Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see Elastic Beanstalk endpoints and quotas in the Amazon Web Services General Reference.
- ELB load balancer
-
Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:
-
Elastic Load Balancing endpoints and quotas topic in the Amazon Web Services General Reference: Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.
-
Amazon Web Services Management Console: Go to the Amazon EC2 page, choose Load Balancers in the navigation pane, select the load balancer, and get the value of the Hosted zone field on the Description tab.
-
Elastic Load Balancing API: Use
DescribeLoadBalancers
to get the applicable value. For more information, see the applicable guide:-
Classic Load Balancers: Use DescribeLoadBalancers to get the value of
CanonicalHostedZoneNameId
. -
Application and Network Load Balancers: Use DescribeLoadBalancers to get the value of
CanonicalHostedZoneId
.
-
-
CLI: Use
describe-load-balancers
to get the applicable value. For more information, see the applicable guide:-
Classic Load Balancers: Use describe-load-balancers to get the value of
CanonicalHostedZoneNameId
. -
Application and Network Load Balancers: Use describe-load-balancers to get the value of
CanonicalHostedZoneId
.
-
-
- Global Accelerator accelerator
-
Specify
Z2BJ6XQ5FK7U4H
. - An Amazon S3 bucket configured as a static website
-
Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table Amazon S3 Website Endpoints in the Amazon Web Services General Reference.
- Another Route 53 resource record set in your hosted zone
-
Specify the hosted zone ID of your hosted zone. (An alias resource record set can't reference a resource record set in a different hosted zone.)
dns_name: String
Alias resource record sets only: The value that you specify depends on where you want to route queries:
- Amazon API Gateway custom regional APIs and edge-optimized APIs
-
Specify the applicable domain name for your API. You can get the applicable value using the CLI command get-domain-names:
-
For regional APIs, specify the value of
regionalDomainName
. -
For edge-optimized APIs, specify the value of
distributionDomainName
. This is the name of the associated CloudFront distribution, such asda1b2c3d4e5.cloudfront.net
.
The name of the record that you're creating must match a custom domain name for your API, such as
api.example.com
. -
- Amazon Virtual Private Cloud interface VPC endpoint
-
Enter the API endpoint for the interface endpoint, such as
vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com
. For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value ofDnsName
using the CLI command describe-vpc-endpoints. - CloudFront distribution
-
Specify the domain name that CloudFront assigned when you created your distribution.
Your CloudFront distribution must include an alternate domain name that matches the name of the resource record set. For example, if the name of the resource record set is acme.example.com, your CloudFront distribution must include acme.example.com as one of the alternate domain names. For more information, see Using Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer Guide.
You can't create a resource record set in a private hosted zone to route traffic to a CloudFront distribution.
For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.
- Elastic Beanstalk environment
-
If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name
my-environment.us-west-2.elasticbeanstalk.com
is a regionalized domain name.For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment.
For Elastic Beanstalk environments that have regionalized subdomains, specify the
CNAME
attribute for the environment. You can use the following methods to get the value of the CNAME attribute:-
Amazon Web Services Management Console: For information about how to get the value by using the console, see Using Custom Domains with Elastic Beanstalk in the Elastic Beanstalk Developer Guide.
-
Elastic Beanstalk API: Use the
DescribeEnvironments
action to get the value of theCNAME
attribute. For more information, see DescribeEnvironments in the Elastic Beanstalk API Reference. -
CLI: Use the
describe-environments
command to get the value of theCNAME
attribute. For more information, see describe-environments in the CLI Command Reference.
-
- ELB load balancer
-
Specify the DNS name that is associated with the load balancer. Get the DNS name by using the Amazon Web Services Management Console, the ELB API, or the CLI.
-
Amazon Web Services Management Console: Go to the EC2 page, choose Load Balancers in the navigation pane, choose the load balancer, choose the Description tab, and get the value of the DNS name field.
If you're routing traffic to a Classic Load Balancer, get the value that begins with dualstack. If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.
-
Elastic Load Balancing API: Use
DescribeLoadBalancers
to get the value ofDNSName
. For more information, see the applicable guide:-
Classic Load Balancers: DescribeLoadBalancers
-
Application and Network Load Balancers: DescribeLoadBalancers
-
-
CLI: Use
describe-load-balancers
to get the value ofDNSName
. For more information, see the applicable guide:-
Classic Load Balancers: describe-load-balancers
-
Application and Network Load Balancers: describe-load-balancers
-
-
- Global Accelerator accelerator
-
Specify the DNS name for your accelerator:
-
Global Accelerator API: To get the DNS name, use DescribeAccelerator.
-
CLI: To get the DNS name, use describe-accelerator.
-
- Amazon S3 bucket that is configured as a static website
-
Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example,
s3-website.us-east-2.amazonaws.com
. For more information about valid values, see the table Amazon S3 Website Endpoints in the Amazon Web Services General Reference. For more information about using S3 buckets for websites, see Getting Started with Amazon Route 53 in the Amazon Route 53 Developer Guide. - Another Route 53 resource record set
-
Specify the value of the
Name
element for a resource record set in the current hosted zone.If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of
Type
isCNAME
. This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.
evaluate_target_health: bool
Applies only to alias, failover alias, geolocation alias, latency alias, and weighted alias resource record sets: When EvaluateTargetHealth
is true
, an alias resource record set inherits the health of the referenced Amazon Web Services resource, such as an ELB load balancer or another resource record set in the hosted zone.
Note the following:
- CloudFront distributions
-
You can't set
EvaluateTargetHealth
totrue
when the alias target is a CloudFront distribution. - Elastic Beanstalk environments that have regionalized subdomains
-
If you specify an Elastic Beanstalk environment in
DNSName
and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you setEvaluateTargetHealth
totrue
and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.If the environment contains a single Amazon EC2 instance, there are no special requirements.
- ELB load balancers
-
Health checking behavior depends on the type of load balancer:
-
Classic Load Balancers: If you specify an ELB Classic Load Balancer in
DNSName
, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you setEvaluateTargetHealth
totrue
and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources. -
Application and Network Load Balancers: If you specify an ELB Application or Network Load Balancer and you set
EvaluateTargetHealth
totrue
, Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:-
For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.
-
A target group that has no registered targets is considered unhealthy.
-
When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.
-
- S3 buckets
-
There are no special requirements for setting
EvaluateTargetHealth
totrue
when the alias target is an S3 bucket. - Other records in the same hosted zone
-
If the Amazon Web Services resource that you specify in
DNSName
is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see What Happens When You Omit Health Checks? in the Amazon Route 53 Developer Guide.
For more information and examples, see Amazon Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer Guide.
Implementations§
Source§impl AliasTarget
impl AliasTarget
Sourcepub fn hosted_zone_id(&self) -> &str
pub fn hosted_zone_id(&self) -> &str
Alias resource records sets only: The value used depends on where you want to route traffic:
- Amazon API Gateway custom regional APIs and edge-optimized APIs
-
Specify the hosted zone ID for your API. You can get the applicable value using the CLI command get-domain-names:
-
For regional APIs, specify the value of
regionalHostedZoneId
. -
For edge-optimized APIs, specify the value of
distributionHostedZoneId
.
-
- Amazon Virtual Private Cloud interface VPC endpoint
-
Specify the hosted zone ID for your interface endpoint. You can get the value of
HostedZoneId
using the CLI command describe-vpc-endpoints. - CloudFront distribution
-
Specify
Z2FDTNDATAQYW2
.Alias resource record sets for CloudFront can't be created in a private zone.
- Elastic Beanstalk environment
-
Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see Elastic Beanstalk endpoints and quotas in the Amazon Web Services General Reference.
- ELB load balancer
-
Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:
-
Elastic Load Balancing endpoints and quotas topic in the Amazon Web Services General Reference: Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.
-
Amazon Web Services Management Console: Go to the Amazon EC2 page, choose Load Balancers in the navigation pane, select the load balancer, and get the value of the Hosted zone field on the Description tab.
-
Elastic Load Balancing API: Use
DescribeLoadBalancers
to get the applicable value. For more information, see the applicable guide:-
Classic Load Balancers: Use DescribeLoadBalancers to get the value of
CanonicalHostedZoneNameId
. -
Application and Network Load Balancers: Use DescribeLoadBalancers to get the value of
CanonicalHostedZoneId
.
-
-
CLI: Use
describe-load-balancers
to get the applicable value. For more information, see the applicable guide:-
Classic Load Balancers: Use describe-load-balancers to get the value of
CanonicalHostedZoneNameId
. -
Application and Network Load Balancers: Use describe-load-balancers to get the value of
CanonicalHostedZoneId
.
-
-
- Global Accelerator accelerator
-
Specify
Z2BJ6XQ5FK7U4H
. - An Amazon S3 bucket configured as a static website
-
Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table Amazon S3 Website Endpoints in the Amazon Web Services General Reference.
- Another Route 53 resource record set in your hosted zone
-
Specify the hosted zone ID of your hosted zone. (An alias resource record set can't reference a resource record set in a different hosted zone.)
Sourcepub fn dns_name(&self) -> &str
pub fn dns_name(&self) -> &str
Alias resource record sets only: The value that you specify depends on where you want to route queries:
- Amazon API Gateway custom regional APIs and edge-optimized APIs
-
Specify the applicable domain name for your API. You can get the applicable value using the CLI command get-domain-names:
-
For regional APIs, specify the value of
regionalDomainName
. -
For edge-optimized APIs, specify the value of
distributionDomainName
. This is the name of the associated CloudFront distribution, such asda1b2c3d4e5.cloudfront.net
.
The name of the record that you're creating must match a custom domain name for your API, such as
api.example.com
. -
- Amazon Virtual Private Cloud interface VPC endpoint
-
Enter the API endpoint for the interface endpoint, such as
vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com
. For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value ofDnsName
using the CLI command describe-vpc-endpoints. - CloudFront distribution
-
Specify the domain name that CloudFront assigned when you created your distribution.
Your CloudFront distribution must include an alternate domain name that matches the name of the resource record set. For example, if the name of the resource record set is acme.example.com, your CloudFront distribution must include acme.example.com as one of the alternate domain names. For more information, see Using Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer Guide.
You can't create a resource record set in a private hosted zone to route traffic to a CloudFront distribution.
For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.
- Elastic Beanstalk environment
-
If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name
my-environment.us-west-2.elasticbeanstalk.com
is a regionalized domain name.For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment.
For Elastic Beanstalk environments that have regionalized subdomains, specify the
CNAME
attribute for the environment. You can use the following methods to get the value of the CNAME attribute:-
Amazon Web Services Management Console: For information about how to get the value by using the console, see Using Custom Domains with Elastic Beanstalk in the Elastic Beanstalk Developer Guide.
-
Elastic Beanstalk API: Use the
DescribeEnvironments
action to get the value of theCNAME
attribute. For more information, see DescribeEnvironments in the Elastic Beanstalk API Reference. -
CLI: Use the
describe-environments
command to get the value of theCNAME
attribute. For more information, see describe-environments in the CLI Command Reference.
-
- ELB load balancer
-
Specify the DNS name that is associated with the load balancer. Get the DNS name by using the Amazon Web Services Management Console, the ELB API, or the CLI.
-
Amazon Web Services Management Console: Go to the EC2 page, choose Load Balancers in the navigation pane, choose the load balancer, choose the Description tab, and get the value of the DNS name field.
If you're routing traffic to a Classic Load Balancer, get the value that begins with dualstack. If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.
-
Elastic Load Balancing API: Use
DescribeLoadBalancers
to get the value ofDNSName
. For more information, see the applicable guide:-
Classic Load Balancers: DescribeLoadBalancers
-
Application and Network Load Balancers: DescribeLoadBalancers
-
-
CLI: Use
describe-load-balancers
to get the value ofDNSName
. For more information, see the applicable guide:-
Classic Load Balancers: describe-load-balancers
-
Application and Network Load Balancers: describe-load-balancers
-
-
- Global Accelerator accelerator
-
Specify the DNS name for your accelerator:
-
Global Accelerator API: To get the DNS name, use DescribeAccelerator.
-
CLI: To get the DNS name, use describe-accelerator.
-
- Amazon S3 bucket that is configured as a static website
-
Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example,
s3-website.us-east-2.amazonaws.com
. For more information about valid values, see the table Amazon S3 Website Endpoints in the Amazon Web Services General Reference. For more information about using S3 buckets for websites, see Getting Started with Amazon Route 53 in the Amazon Route 53 Developer Guide. - Another Route 53 resource record set
-
Specify the value of the
Name
element for a resource record set in the current hosted zone.If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of
Type
isCNAME
. This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.
Sourcepub fn evaluate_target_health(&self) -> bool
pub fn evaluate_target_health(&self) -> bool
Applies only to alias, failover alias, geolocation alias, latency alias, and weighted alias resource record sets: When EvaluateTargetHealth
is true
, an alias resource record set inherits the health of the referenced Amazon Web Services resource, such as an ELB load balancer or another resource record set in the hosted zone.
Note the following:
- CloudFront distributions
-
You can't set
EvaluateTargetHealth
totrue
when the alias target is a CloudFront distribution. - Elastic Beanstalk environments that have regionalized subdomains
-
If you specify an Elastic Beanstalk environment in
DNSName
and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you setEvaluateTargetHealth
totrue
and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.If the environment contains a single Amazon EC2 instance, there are no special requirements.
- ELB load balancers
-
Health checking behavior depends on the type of load balancer:
-
Classic Load Balancers: If you specify an ELB Classic Load Balancer in
DNSName
, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you setEvaluateTargetHealth
totrue
and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources. -
Application and Network Load Balancers: If you specify an ELB Application or Network Load Balancer and you set
EvaluateTargetHealth
totrue
, Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:-
For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.
-
A target group that has no registered targets is considered unhealthy.
-
When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.
-
- S3 buckets
-
There are no special requirements for setting
EvaluateTargetHealth
totrue
when the alias target is an S3 bucket. - Other records in the same hosted zone
-
If the Amazon Web Services resource that you specify in
DNSName
is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see What Happens When You Omit Health Checks? in the Amazon Route 53 Developer Guide.
For more information and examples, see Amazon Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer Guide.
Source§impl AliasTarget
impl AliasTarget
Sourcepub fn builder() -> AliasTargetBuilder
pub fn builder() -> AliasTargetBuilder
Creates a new builder-style object to manufacture AliasTarget
.
Trait Implementations§
Source§impl Clone for AliasTarget
impl Clone for AliasTarget
Source§fn clone(&self) -> AliasTarget
fn clone(&self) -> AliasTarget
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for AliasTarget
impl Debug for AliasTarget
Source§impl PartialEq for AliasTarget
impl PartialEq for AliasTarget
impl StructuralPartialEq for AliasTarget
Auto Trait Implementations§
impl Freeze for AliasTarget
impl RefUnwindSafe for AliasTarget
impl Send for AliasTarget
impl Sync for AliasTarget
impl Unpin for AliasTarget
impl UnwindSafe for AliasTarget
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);