Struct Client

Source
pub struct Client { /* private fields */ }
Expand description

Client for Elastic Load Balancing

Client for invoking operations on Elastic Load Balancing. Each operation on Elastic Load Balancing is a method on this this struct. .send() MUST be invoked on the generated operations to dispatch the request to the service.

§Constructing a Client

A Config is required to construct a client. For most use cases, the aws-config crate should be used to automatically resolve this config using aws_config::load_from_env(), since this will resolve an SdkConfig which can be shared across multiple different AWS SDK clients. This config resolution process can be customized by calling aws_config::from_env() instead, which returns a ConfigLoader that uses the builder pattern to customize the default config.

In the simplest case, creating a client looks as follows:

let config = aws_config::load_from_env().await;
let client = aws_sdk_elasticloadbalancingv2::Client::new(&config);

Occasionally, SDKs may have additional service-specific values that can be set on the Config that is absent from SdkConfig, or slightly different settings for a specific client may be desired. The Builder struct implements From<&SdkConfig>, so setting these specific settings can be done as follows:

let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_elasticloadbalancingv2::config::Builder::from(&sdk_config)
    .some_service_specific_setting("value")
    .build();

See the aws-config docs and Config for more information on customizing configuration.

Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.

§Using the Client

A client has a function for every operation that can be performed by the service. For example, the AddListenerCertificates operation has a Client::add_listener_certificates, function which returns a builder for that operation. The fluent builder ultimately has a send() function that returns an async future that returns a result, as illustrated below:

let result = client.add_listener_certificates()
    .listener_arn("example")
    .send()
    .await;

The underlying HTTP requests that get made by this can be modified with the customize_operation function on the fluent builder. See the customize module for more information.

§Waiters

This client provides wait_until methods behind the Waiters trait. To use them, simply import the trait, and then call one of the wait_until methods. This will return a waiter fluent builder that takes various parameters, which are documented on the builder type. Once parameters have been provided, the wait method can be called to initiate waiting.

For example, if there was a wait_until_thing method, it could look like:

let result = client.wait_until_thing()
    .thing_id("someId")
    .wait(Duration::from_secs(120))
    .await;

Implementations§

Source§

impl Client

Source

pub fn add_listener_certificates(&self) -> AddListenerCertificatesFluentBuilder

Constructs a fluent builder for the AddListenerCertificates operation.

Source§

impl Client

Source

pub fn add_tags(&self) -> AddTagsFluentBuilder

Constructs a fluent builder for the AddTags operation.

Source§

impl Client

Source

pub fn add_trust_store_revocations( &self, ) -> AddTrustStoreRevocationsFluentBuilder

Constructs a fluent builder for the AddTrustStoreRevocations operation.

Source§

impl Client

Source

pub fn create_listener(&self) -> CreateListenerFluentBuilder

Constructs a fluent builder for the CreateListener operation.

Source§

impl Client

Source

pub fn create_load_balancer(&self) -> CreateLoadBalancerFluentBuilder

Constructs a fluent builder for the CreateLoadBalancer operation.

  • The fluent builder is configurable:
    • name(impl Into<String>) / set_name(Option<String>):
      required: true

      The name of the load balancer.

      This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with “internal-”.


    • subnets(impl Into<String>) / set_subnets(Option<Vec::<String>>):
      required: false

      The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.

      [Application Load Balancers] You must specify subnets from at least two Availability Zones.

      [Application Load Balancers on Outposts] You must specify one Outpost subnet.

      [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

      [Network Load Balancers and Gateway Load Balancers] You can specify subnets from one or more Availability Zones.


    • subnet_mappings(SubnetMapping) / set_subnet_mappings(Option<Vec::<SubnetMapping>>):
      required: false

      The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.

      [Application Load Balancers] You must specify subnets from at least two Availability Zones. You can’t specify Elastic IP addresses for your subnets.

      [Application Load Balancers on Outposts] You must specify one Outpost subnet.

      [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

      [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.

      [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You can’t specify Elastic IP addresses for your subnets.


    • security_groups(impl Into<String>) / set_security_groups(Option<Vec::<String>>):
      required: false

      [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.


    • scheme(LoadBalancerSchemeEnum) / set_scheme(Option<LoadBalancerSchemeEnum>):
      required: false

      The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.

      The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.

      The default is an Internet-facing load balancer.

      You can’t specify a scheme for a Gateway Load Balancer.


    • tags(Tag) / set_tags(Option<Vec::<Tag>>):
      required: false

      The tags to assign to the load balancer.


    • r#type(LoadBalancerTypeEnum) / set_type(Option<LoadBalancerTypeEnum>):
      required: false

      The type of load balancer. The default is application.


    • ip_address_type(IpAddressType) / set_ip_address_type(Option<IpAddressType>):
      required: false

      The IP address type. Internal load balancers must use ipv4.

      [Application Load Balancers] The possible values are ipv4 (IPv4 addresses), dualstack (IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (public IPv6 addresses and private IPv4 and IPv6 addresses).

      [Network Load Balancers and Gateway Load Balancers] The possible values are ipv4 (IPv4 addresses) and dualstack (IPv4 and IPv6 addresses).


    • customer_owned_ipv4_pool(impl Into<String>) / set_customer_owned_ipv4_pool(Option<String>):
      required: false

      [Application Load Balancers on Outposts] The ID of the customer-owned address pool (CoIP pool).


    • enable_prefix_for_ipv6_source_nat(EnablePrefixForIpv6SourceNatEnum) / set_enable_prefix_for_ipv6_source_nat(Option<EnablePrefixForIpv6SourceNatEnum>):
      required: false

      [Network Load Balancers with UDP listeners] Indicates whether to use an IPv6 prefix from each subnet for source NAT. The IP address type must be dualstack. The default value is off.


    • ipam_pools(IpamPools) / set_ipam_pools(Option<IpamPools>):
      required: false

      [Application Load Balancers] The IPAM pools to use with the load balancer.


  • On success, responds with CreateLoadBalancerOutput with field(s):
  • On failure, responds with SdkError<CreateLoadBalancerError>
Source§

impl Client

Source

pub fn create_rule(&self) -> CreateRuleFluentBuilder

Constructs a fluent builder for the CreateRule operation.

Source§

impl Client

Source

pub fn create_target_group(&self) -> CreateTargetGroupFluentBuilder

Constructs a fluent builder for the CreateTargetGroup operation.

  • The fluent builder is configurable:
    • name(impl Into<String>) / set_name(Option<String>):
      required: true

      The name of the target group.

      This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.


    • protocol(ProtocolEnum) / set_protocol(Option<ProtocolEnum>):
      required: false

      The protocol to use for routing traffic to the targets. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. For Gateway Load Balancers, the supported protocol is GENEVE. A TCP_UDP listener must be associated with a TCP_UDP target group. If the target is a Lambda function, this parameter does not apply.


    • protocol_version(impl Into<String>) / set_protocol_version(Option<String>):
      required: false

      [HTTP/HTTPS protocol] The protocol version. Specify GRPC to send requests to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2. The default is HTTP1, which sends requests to targets using HTTP/1.1.


    • port(i32) / set_port(Option<i32>):
      required: false

      The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply. If the protocol is GENEVE, the supported port is 6081.


    • vpc_id(impl Into<String>) / set_vpc_id(Option<String>):
      required: false

      The identifier of the virtual private cloud (VPC). If the target is a Lambda function, this parameter does not apply. Otherwise, this parameter is required.


    • health_check_protocol(ProtocolEnum) / set_health_check_protocol(Option<ProtocolEnum>):
      required: false

      The protocol the load balancer uses when performing health checks on targets. For Application Load Balancers, the default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is TCP. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. The GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks.


    • health_check_port(impl Into<String>) / set_health_check_port(Option<String>):
      required: false

      The port the load balancer uses when performing health checks on targets. If the protocol is HTTP, HTTPS, TCP, TLS, UDP, or TCP_UDP, the default is traffic-port, which is the port on which each target receives traffic from the load balancer. If the protocol is GENEVE, the default is port 80.


    • health_check_enabled(bool) / set_health_check_enabled(Option<bool>):
      required: false

      Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance, ip, or alb, health checks are always enabled and can’t be disabled.


    • health_check_path(impl Into<String>) / set_health_check_path(Option<String>):
      required: false

      [HTTP/HTTPS health checks] The destination for health checks on the targets.

      [HTTP1 or HTTP2 protocol version] The ping path. The default is /.

      [GRPC protocol version] The path of a custom health check method with the format /package.service/method. The default is /Amazon Web Services.ALB/healthcheck.


    • health_check_interval_seconds(i32) / set_health_check_interval_seconds(Option<i32>):
      required: false

      The approximate amount of time, in seconds, between health checks of an individual target. The range is 5-300. If the target group protocol is TCP, TLS, UDP, TCP_UDP, HTTP or HTTPS, the default is 30 seconds. If the target group protocol is GENEVE, the default is 10 seconds. If the target type is lambda, the default is 35 seconds.


    • health_check_timeout_seconds(i32) / set_health_check_timeout_seconds(Option<i32>):
      required: false

      The amount of time, in seconds, during which no response from a target means a failed health check. The range is 2–120 seconds. For target groups with a protocol of HTTP, the default is 6 seconds. For target groups with a protocol of TCP, TLS or HTTPS, the default is 10 seconds. For target groups with a protocol of GENEVE, the default is 5 seconds. If the target type is lambda, the default is 30 seconds.


    • healthy_threshold_count(i32) / set_healthy_threshold_count(Option<i32>):
      required: false

      The number of consecutive health check successes required before considering a target healthy. The range is 2-10. If the target group protocol is TCP, TCP_UDP, UDP, TLS, HTTP or HTTPS, the default is 5. For target groups with a protocol of GENEVE, the default is 5. If the target type is lambda, the default is 5.


    • unhealthy_threshold_count(i32) / set_unhealthy_threshold_count(Option<i32>):
      required: false

      The number of consecutive health check failures required before considering a target unhealthy. The range is 2-10. If the target group protocol is TCP, TCP_UDP, UDP, TLS, HTTP or HTTPS, the default is 2. For target groups with a protocol of GENEVE, the default is 2. If the target type is lambda, the default is 5.


    • matcher(Matcher) / set_matcher(Option<Matcher>):
      required: false

      [HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target. For target groups with a protocol of TCP, TCP_UDP, UDP or TLS the range is 200-599. For target groups with a protocol of HTTP or HTTPS, the range is 200-499. For target groups with a protocol of GENEVE, the range is 200-399.


    • target_type(TargetTypeEnum) / set_target_type(Option<TargetTypeEnum>):
      required: false

      The type of target that you must specify when registering targets with this target group. You can’t specify targets for a target group using more than one target type.

      • instance - Register targets by instance ID. This is the default value.

      • ip - Register targets by IP address. You can specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can’t specify publicly routable IP addresses.

      • lambda - Register a single Lambda function as a target.

      • alb - Register a single Application Load Balancer as a target.


    • tags(Tag) / set_tags(Option<Vec::<Tag>>):
      required: false

      The tags to assign to the target group.


    • ip_address_type(TargetGroupIpAddressTypeEnum) / set_ip_address_type(Option<TargetGroupIpAddressTypeEnum>):
      required: false

      The IP address type. The default value is ipv4.


  • On success, responds with CreateTargetGroupOutput with field(s):
  • On failure, responds with SdkError<CreateTargetGroupError>
Source§

impl Client

Source

pub fn create_trust_store(&self) -> CreateTrustStoreFluentBuilder

Constructs a fluent builder for the CreateTrustStore operation.

Source§

impl Client

Source

pub fn delete_listener(&self) -> DeleteListenerFluentBuilder

Constructs a fluent builder for the DeleteListener operation.

Source§

impl Client

Source

pub fn delete_load_balancer(&self) -> DeleteLoadBalancerFluentBuilder

Constructs a fluent builder for the DeleteLoadBalancer operation.

Source§

impl Client

Source

pub fn delete_rule(&self) -> DeleteRuleFluentBuilder

Constructs a fluent builder for the DeleteRule operation.

Source§

impl Client

Source

pub fn delete_shared_trust_store_association( &self, ) -> DeleteSharedTrustStoreAssociationFluentBuilder

Constructs a fluent builder for the DeleteSharedTrustStoreAssociation operation.

Source§

impl Client

Source

pub fn delete_target_group(&self) -> DeleteTargetGroupFluentBuilder

Constructs a fluent builder for the DeleteTargetGroup operation.

Source§

impl Client

Source

pub fn delete_trust_store(&self) -> DeleteTrustStoreFluentBuilder

Constructs a fluent builder for the DeleteTrustStore operation.

Source§

impl Client

Source

pub fn deregister_targets(&self) -> DeregisterTargetsFluentBuilder

Constructs a fluent builder for the DeregisterTargets operation.

Source§

impl Client

Source

pub fn describe_account_limits(&self) -> DescribeAccountLimitsFluentBuilder

Constructs a fluent builder for the DescribeAccountLimits operation.

Source§

impl Client

Source

pub fn describe_capacity_reservation( &self, ) -> DescribeCapacityReservationFluentBuilder

Constructs a fluent builder for the DescribeCapacityReservation operation.

Source§

impl Client

Source

pub fn describe_listener_attributes( &self, ) -> DescribeListenerAttributesFluentBuilder

Constructs a fluent builder for the DescribeListenerAttributes operation.

Source§

impl Client

Source

pub fn describe_listener_certificates( &self, ) -> DescribeListenerCertificatesFluentBuilder

Constructs a fluent builder for the DescribeListenerCertificates operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn describe_listeners(&self) -> DescribeListenersFluentBuilder

Constructs a fluent builder for the DescribeListeners operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn describe_load_balancer_attributes( &self, ) -> DescribeLoadBalancerAttributesFluentBuilder

Constructs a fluent builder for the DescribeLoadBalancerAttributes operation.

Source§

impl Client

Source

pub fn describe_load_balancers(&self) -> DescribeLoadBalancersFluentBuilder

Constructs a fluent builder for the DescribeLoadBalancers operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn describe_rules(&self) -> DescribeRulesFluentBuilder

Constructs a fluent builder for the DescribeRules operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn describe_ssl_policies(&self) -> DescribeSSLPoliciesFluentBuilder

Constructs a fluent builder for the DescribeSSLPolicies operation.

Source§

impl Client

Source

pub fn describe_tags(&self) -> DescribeTagsFluentBuilder

Constructs a fluent builder for the DescribeTags operation.

Source§

impl Client

Source

pub fn describe_target_group_attributes( &self, ) -> DescribeTargetGroupAttributesFluentBuilder

Constructs a fluent builder for the DescribeTargetGroupAttributes operation.

Source§

impl Client

Source

pub fn describe_target_groups(&self) -> DescribeTargetGroupsFluentBuilder

Constructs a fluent builder for the DescribeTargetGroups operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn describe_target_health(&self) -> DescribeTargetHealthFluentBuilder

Constructs a fluent builder for the DescribeTargetHealth operation.

Source§

impl Client

Source

pub fn describe_trust_store_associations( &self, ) -> DescribeTrustStoreAssociationsFluentBuilder

Constructs a fluent builder for the DescribeTrustStoreAssociations operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn describe_trust_store_revocations( &self, ) -> DescribeTrustStoreRevocationsFluentBuilder

Constructs a fluent builder for the DescribeTrustStoreRevocations operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn describe_trust_stores(&self) -> DescribeTrustStoresFluentBuilder

Constructs a fluent builder for the DescribeTrustStores operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn get_resource_policy(&self) -> GetResourcePolicyFluentBuilder

Constructs a fluent builder for the GetResourcePolicy operation.

Source§

impl Client

Source

pub fn get_trust_store_ca_certificates_bundle( &self, ) -> GetTrustStoreCaCertificatesBundleFluentBuilder

Constructs a fluent builder for the GetTrustStoreCaCertificatesBundle operation.

Source§

impl Client

Source

pub fn get_trust_store_revocation_content( &self, ) -> GetTrustStoreRevocationContentFluentBuilder

Constructs a fluent builder for the GetTrustStoreRevocationContent operation.

Source§

impl Client

Source

pub fn modify_capacity_reservation( &self, ) -> ModifyCapacityReservationFluentBuilder

Constructs a fluent builder for the ModifyCapacityReservation operation.

Source§

impl Client

Source

pub fn modify_ip_pools(&self) -> ModifyIpPoolsFluentBuilder

Constructs a fluent builder for the ModifyIpPools operation.

Source§

impl Client

Source

pub fn modify_listener(&self) -> ModifyListenerFluentBuilder

Constructs a fluent builder for the ModifyListener operation.

Source§

impl Client

Source

pub fn modify_listener_attributes( &self, ) -> ModifyListenerAttributesFluentBuilder

Constructs a fluent builder for the ModifyListenerAttributes operation.

Source§

impl Client

Source

pub fn modify_load_balancer_attributes( &self, ) -> ModifyLoadBalancerAttributesFluentBuilder

Constructs a fluent builder for the ModifyLoadBalancerAttributes operation.

Source§

impl Client

Source

pub fn modify_rule(&self) -> ModifyRuleFluentBuilder

Constructs a fluent builder for the ModifyRule operation.

Source§

impl Client

Source

pub fn modify_target_group(&self) -> ModifyTargetGroupFluentBuilder

Constructs a fluent builder for the ModifyTargetGroup operation.

Source§

impl Client

Source

pub fn modify_target_group_attributes( &self, ) -> ModifyTargetGroupAttributesFluentBuilder

Constructs a fluent builder for the ModifyTargetGroupAttributes operation.

Source§

impl Client

Source

pub fn modify_trust_store(&self) -> ModifyTrustStoreFluentBuilder

Constructs a fluent builder for the ModifyTrustStore operation.

Source§

impl Client

Source

pub fn register_targets(&self) -> RegisterTargetsFluentBuilder

Constructs a fluent builder for the RegisterTargets operation.

Source§

impl Client

Source

pub fn remove_listener_certificates( &self, ) -> RemoveListenerCertificatesFluentBuilder

Constructs a fluent builder for the RemoveListenerCertificates operation.

Source§

impl Client

Source

pub fn remove_tags(&self) -> RemoveTagsFluentBuilder

Constructs a fluent builder for the RemoveTags operation.

Source§

impl Client

Source

pub fn remove_trust_store_revocations( &self, ) -> RemoveTrustStoreRevocationsFluentBuilder

Constructs a fluent builder for the RemoveTrustStoreRevocations operation.

Source§

impl Client

Source

pub fn set_ip_address_type(&self) -> SetIpAddressTypeFluentBuilder

Constructs a fluent builder for the SetIpAddressType operation.

Source§

impl Client

Source

pub fn set_rule_priorities(&self) -> SetRulePrioritiesFluentBuilder

Constructs a fluent builder for the SetRulePriorities operation.

Source§

impl Client

Source

pub fn set_security_groups(&self) -> SetSecurityGroupsFluentBuilder

Constructs a fluent builder for the SetSecurityGroups operation.

Source§

impl Client

Source

pub fn set_subnets(&self) -> SetSubnetsFluentBuilder

Constructs a fluent builder for the SetSubnets operation.

Source§

impl Client

Source

pub fn from_conf(conf: Config) -> Self

Creates a new client from the service Config.

§Panics

This method will panic in the following cases:

  • Retries or timeouts are enabled without a sleep_impl configured.
  • Identity caching is enabled without a sleep_impl and time_source configured.
  • No behavior_version is provided.

The panic message for each of these will have instructions on how to resolve them.

Source

pub fn config(&self) -> &Config

Returns the client’s configuration.

Source§

impl Client

Source

pub fn new(sdk_config: &SdkConfig) -> Self

Creates a new client from an SDK Config.

§Panics
  • This method will panic if the sdk_config is missing an async sleep implementation. If you experience this panic, set the sleep_impl on the Config passed into this function to fix it.
  • This method will panic if the sdk_config is missing an HTTP connector. If you experience this panic, set the http_connector on the Config passed into this function to fix it.
  • This method will panic if no BehaviorVersion is provided. If you experience this panic, set behavior_version on the Config or enable the behavior-version-latest Cargo feature.

Trait Implementations§

Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Client

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Waiters for Client

Auto Trait Implementations§

§

impl Freeze for Client

§

impl !RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
Source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

impl<T> Paint for T
where T: ?Sized,

Source§

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 primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
Source§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
Source§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
Source§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
Source§

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>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
Source§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
Source§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
Source§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
Source§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

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 bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

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 mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
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.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

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);
Source§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,