Skip to main content

TargetPool

Struct TargetPool 

Source
#[non_exhaustive]
pub struct TargetPool {
Show 13 fields pub backup_pool: Option<String>, pub creation_timestamp: Option<String>, pub description: Option<String>, pub failover_ratio: Option<f32>, pub health_checks: Vec<String>, pub id: Option<u64>, pub instances: Vec<String>, pub kind: Option<String>, pub name: Option<String>, pub region: Option<String>, pub security_policy: Option<String>, pub self_link: Option<String>, pub session_affinity: Option<SessionAffinity>, /* private fields */
}
Available on crate feature target-pools only.
Expand description

Represents a Target Pool resource.

Target pools are used with external passthrough Network Load Balancers. A target pool references member instances, an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool. For more information, readUsing target pools.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§backup_pool: Option<String>

The server-defined URL for the resource. This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its failoverRatio field is properly set to a value between [0, 1].backupPool and failoverRatio together define the fallback behavior of the primary target pool: if the ratio of the healthy instances in the primary pool is at or belowfailoverRatio, traffic arriving at the load-balanced IP will be directed to the backup pool.

In case where failoverRatio and backupPool are not set, or all the instances in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the “force” mode, where traffic will be spread to the healthy instances with the best effort, or to all instances when no instance is healthy.

§creation_timestamp: Option<String>

Output only. [Output Only] Creation timestamp inRFC3339 text format.

§description: Option<String>

An optional description of this resource. Provide this property when you create the resource.

§failover_ratio: Option<f32>

This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool (i.e., not as a backup pool to some other target pool). The value of the field must be in [0, 1].

If set, backupPool must also be set. They together define the fallback behavior of the primary target pool: if the ratio of the healthy instances in the primary pool is at or below this number, traffic arriving at the load-balanced IP will be directed to the backup pool.

In case where failoverRatio is not set or all the instances in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the “force” mode, where traffic will be spread to the healthy instances with the best effort, or to all instances when no instance is healthy.

§health_checks: Vec<String>

The URL of the HttpHealthCheck resource. A member instance in this pool is considered healthy if and only if the health checks pass. Only legacy HttpHealthChecks are supported. Only one health check may be specified.

§id: Option<u64>

[Output Only] The unique identifier for the resource. This identifier is defined by the server.

§instances: Vec<String>

A list of resource URLs to the virtual machine instances serving this pool. They must live in zones contained in the same region as this pool.

§kind: Option<String>

Output only. [Output Only] Type of the resource. Always compute#targetPool for target pools.

§name: Option<String>

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply withRFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

§region: Option<String>

Output only. [Output Only] URL of the region where the target pool resides.

§security_policy: Option<String>

[Output Only] The resource URL for the security policy associated with this target pool.

§self_link: Option<String>

[Output Only] Server-defined URL for the resource.

§session_affinity: Option<SessionAffinity>

Session affinity option, must be one of the following values: NONE: Connections from the same client IP may go to any instance in the pool. CLIENT_IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy. CLIENT_IP_PROTO: Connections from the same client IP with the same IP protocol will go to the same instance in the pool while that instance remains healthy.

Implementations§

Source§

impl TargetPool

Source

pub fn new() -> Self

Source

pub fn set_backup_pool<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of backup_pool.

§Example
let x = TargetPool::new().set_backup_pool("example");
Source

pub fn set_or_clear_backup_pool<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of backup_pool.

§Example
let x = TargetPool::new().set_or_clear_backup_pool(Some("example"));
let x = TargetPool::new().set_or_clear_backup_pool(None::<String>);
Source

pub fn set_creation_timestamp<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of creation_timestamp.

§Example
let x = TargetPool::new().set_creation_timestamp("example");
Source

pub fn set_or_clear_creation_timestamp<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of creation_timestamp.

§Example
let x = TargetPool::new().set_or_clear_creation_timestamp(Some("example"));
let x = TargetPool::new().set_or_clear_creation_timestamp(None::<String>);
Source

pub fn set_description<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of description.

§Example
let x = TargetPool::new().set_description("example");
Source

pub fn set_or_clear_description<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of description.

§Example
let x = TargetPool::new().set_or_clear_description(Some("example"));
let x = TargetPool::new().set_or_clear_description(None::<String>);
Source

pub fn set_failover_ratio<T>(self, v: T) -> Self
where T: Into<f32>,

Sets the value of failover_ratio.

§Example
let x = TargetPool::new().set_failover_ratio(42.0);
Source

pub fn set_or_clear_failover_ratio<T>(self, v: Option<T>) -> Self
where T: Into<f32>,

Sets or clears the value of failover_ratio.

§Example
let x = TargetPool::new().set_or_clear_failover_ratio(Some(42.0));
let x = TargetPool::new().set_or_clear_failover_ratio(None::<f32>);
Source

pub fn set_health_checks<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of health_checks.

§Example
let x = TargetPool::new().set_health_checks(["a", "b", "c"]);
Source

pub fn set_id<T>(self, v: T) -> Self
where T: Into<u64>,

Sets the value of id.

§Example
let x = TargetPool::new().set_id(42_u32);
Source

pub fn set_or_clear_id<T>(self, v: Option<T>) -> Self
where T: Into<u64>,

Sets or clears the value of id.

§Example
let x = TargetPool::new().set_or_clear_id(Some(42_u32));
let x = TargetPool::new().set_or_clear_id(None::<u32>);
Source

pub fn set_instances<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of instances.

§Example
let x = TargetPool::new().set_instances(["a", "b", "c"]);
Source

pub fn set_kind<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of kind.

§Example
let x = TargetPool::new().set_kind("example");
Source

pub fn set_or_clear_kind<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of kind.

§Example
let x = TargetPool::new().set_or_clear_kind(Some("example"));
let x = TargetPool::new().set_or_clear_kind(None::<String>);
Source

pub fn set_name<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of name.

§Example
let x = TargetPool::new().set_name("example");
Source

pub fn set_or_clear_name<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of name.

§Example
let x = TargetPool::new().set_or_clear_name(Some("example"));
let x = TargetPool::new().set_or_clear_name(None::<String>);
Source

pub fn set_region<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of region.

§Example
let x = TargetPool::new().set_region("example");
Source

pub fn set_or_clear_region<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of region.

§Example
let x = TargetPool::new().set_or_clear_region(Some("example"));
let x = TargetPool::new().set_or_clear_region(None::<String>);
Source

pub fn set_security_policy<T>(self, v: T) -> Self
where T: Into<String>,

Sets the value of security_policy.

§Example
let x = TargetPool::new().set_security_policy("example");
Source

pub fn set_or_clear_security_policy<T>(self, v: Option<T>) -> Self
where T: Into<String>,

Sets or clears the value of security_policy.

§Example
let x = TargetPool::new().set_or_clear_security_policy(Some("example"));
let x = TargetPool::new().set_or_clear_security_policy(None::<String>);

Sets the value of self_link.

§Example
let x = TargetPool::new().set_self_link("example");

Sets or clears the value of self_link.

§Example
let x = TargetPool::new().set_or_clear_self_link(Some("example"));
let x = TargetPool::new().set_or_clear_self_link(None::<String>);
Source

pub fn set_session_affinity<T>(self, v: T) -> Self

Sets the value of session_affinity.

§Example
use google_cloud_compute_v1::model::target_pool::SessionAffinity;
let x0 = TargetPool::new().set_session_affinity(SessionAffinity::ClientIpNoDestination);
let x1 = TargetPool::new().set_session_affinity(SessionAffinity::ClientIpPortProto);
let x2 = TargetPool::new().set_session_affinity(SessionAffinity::ClientIpProto);
Source

pub fn set_or_clear_session_affinity<T>(self, v: Option<T>) -> Self

Sets or clears the value of session_affinity.

§Example
use google_cloud_compute_v1::model::target_pool::SessionAffinity;
let x0 = TargetPool::new().set_or_clear_session_affinity(Some(SessionAffinity::ClientIpNoDestination));
let x1 = TargetPool::new().set_or_clear_session_affinity(Some(SessionAffinity::ClientIpPortProto));
let x2 = TargetPool::new().set_or_clear_session_affinity(Some(SessionAffinity::ClientIpProto));
let x_none = TargetPool::new().set_or_clear_session_affinity(None::<SessionAffinity>);

Trait Implementations§

Source§

impl Clone for TargetPool

Source§

fn clone(&self) -> TargetPool

Returns a duplicate 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 TargetPool

Source§

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

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

impl Default for TargetPool

Source§

fn default() -> TargetPool

Returns the “default value” for a type. Read more
Source§

impl Message for TargetPool

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for TargetPool

Source§

fn eq(&self, other: &TargetPool) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for TargetPool

Auto Trait Implementations§

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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,