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 Config 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.

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 public 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] You can specify subnets from one or more Availability Zones.

      [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 public 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 cannot 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 cannot 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 cannot 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 type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for 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).


  • 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 cannot 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 type of IP address used for this target group. The possible values are ipv4 and ipv6. This is an optional parameter. If not specified, the IP address type defaults to 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_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_listener_certificates( &self ) -> DescribeListenerCertificatesFluentBuilder

Constructs a fluent builder for the DescribeListenerCertificates operation.

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.

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_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_listener(&self) -> ModifyListenerFluentBuilder

Constructs a fluent builder for the ModifyListener 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.

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

      The Amazon Resource Name (ARN) of the load balancer.


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

      The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

      [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] You can specify subnets from one or more Availability Zones.

      [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 public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

      [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot 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.


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

      [Network Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load balancer with a UDP or TCP_UDP listener.

      [Gateway Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).


  • On success, responds with SetSubnetsOutput with field(s):
  • On failure, responds with SdkError<SetSubnetsError>
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

Auto Trait Implementations§

§

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> 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<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> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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>,

§

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