Skip to main content

HealthCheck

Struct HealthCheck 

Source
#[non_exhaustive]
pub struct HealthCheck {
Show 21 fields pub check_interval_sec: Option<i32>, pub creation_timestamp: Option<String>, pub description: Option<String>, pub grpc_health_check: Option<GRPCHealthCheck>, pub grpc_tls_health_check: Option<GRPCTLSHealthCheck>, pub healthy_threshold: Option<i32>, pub http_2_health_check: Option<HTTP2HealthCheck>, pub http_health_check: Option<HTTPHealthCheck>, pub https_health_check: Option<HTTPSHealthCheck>, pub id: Option<u64>, pub kind: Option<String>, pub log_config: Option<HealthCheckLogConfig>, pub name: Option<String>, pub region: Option<String>, pub self_link: Option<String>, pub source_regions: Vec<String>, pub ssl_health_check: Option<SSLHealthCheck>, pub tcp_health_check: Option<TCPHealthCheck>, pub timeout_sec: Option<i32>, pub type: Option<Type>, pub unhealthy_threshold: Option<i32>, /* private fields */
}
Available on crate features health-checks or region-health-checks only.
Expand description

Represents a health check resource.

Google Compute Engine has two health check resources:

These health check resources can be used for load balancing and for autohealing VMs in a managed instance group (MIG).

Load balancing

Health check requirements vary depending on the type of load balancer. For details about the type of health check supported for each load balancer and corresponding backend type, see Health checks overview: Load balancer guide.

Autohealing in MIGs

The health checks that you use for autohealing VMs in a MIG can be either regional or global. For more information, see Set up an application health check and autohealing.

For more information, seeHealth checks overview.

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.
§check_interval_sec: Option<i32>

How often (in seconds) to send a health check. The default value is 5 seconds.

§creation_timestamp: Option<String>

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

§description: Option<String>

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

§grpc_health_check: Option<GRPCHealthCheck>§grpc_tls_health_check: Option<GRPCTLSHealthCheck>§healthy_threshold: Option<i32>

A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.

§http_2_health_check: Option<HTTP2HealthCheck>§http_health_check: Option<HTTPHealthCheck>§https_health_check: Option<HTTPSHealthCheck>§id: Option<u64>

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

§kind: Option<String>

Output only. Type of the resource.

§log_config: Option<HealthCheckLogConfig>

Configure logging on this health check.

§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. For example, a name that is 1-63 characters long, matches the regular expression [a-z]([-a-z0-9]*[a-z0-9])?, and otherwise complies with RFC1035. This regular expression describes a name where the first character is a lowercase letter, and all following characters are a dash, lowercase letter, or digit, except the last character, which isn’t a dash.

§region: Option<String>

Output only. [Output Only] Region where the health check resides. Not applicable to global health checks.

§self_link: Option<String>

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

§source_regions: Vec<String>

The list of cloud regions from which health checks are performed. If any regions are specified, then exactly 3 regions should be specified. The region names must be valid names of Google Cloud regions. This can only be set for global health check. If this list is non-empty, then there are restrictions on what other health check fields are supported and what other resources can use this health check:

  • SSL, HTTP2, and GRPC protocols are not supported.
  • The TCP request field is not supported.
  • The proxyHeader field for HTTP, HTTPS, and TCP is not supported.
  • The checkIntervalSec field must be at least 30.
  • The health check cannot be used with BackendService nor with managed instance group auto-healing.
§ssl_health_check: Option<SSLHealthCheck>§tcp_health_check: Option<TCPHealthCheck>§timeout_sec: Option<i32>

How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.

§type: Option<Type>

Specifies the type of the healthCheck, either TCP,SSL, HTTP, HTTPS,HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must matchtype field.

§unhealthy_threshold: Option<i32>

A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.

Implementations§

Source§

impl HealthCheck

Source

pub fn new() -> Self

Source

pub fn set_check_interval_sec<T>(self, v: T) -> Self
where T: Into<i32>,

Sets the value of check_interval_sec.

§Example
let x = HealthCheck::new().set_check_interval_sec(42);
Source

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

Sets or clears the value of check_interval_sec.

§Example
let x = HealthCheck::new().set_or_clear_check_interval_sec(Some(42));
let x = HealthCheck::new().set_or_clear_check_interval_sec(None::<i32>);
Source

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

Sets the value of creation_timestamp.

§Example
let x = HealthCheck::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 = HealthCheck::new().set_or_clear_creation_timestamp(Some("example"));
let x = HealthCheck::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 = HealthCheck::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 = HealthCheck::new().set_or_clear_description(Some("example"));
let x = HealthCheck::new().set_or_clear_description(None::<String>);
Source

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

Sets the value of grpc_health_check.

§Example
use google_cloud_compute_v1::model::GRPCHealthCheck;
let x = HealthCheck::new().set_grpc_health_check(GRPCHealthCheck::default()/* use setters */);
Source

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

Sets or clears the value of grpc_health_check.

§Example
use google_cloud_compute_v1::model::GRPCHealthCheck;
let x = HealthCheck::new().set_or_clear_grpc_health_check(Some(GRPCHealthCheck::default()/* use setters */));
let x = HealthCheck::new().set_or_clear_grpc_health_check(None::<GRPCHealthCheck>);
Source

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

Sets the value of grpc_tls_health_check.

§Example
use google_cloud_compute_v1::model::GRPCTLSHealthCheck;
let x = HealthCheck::new().set_grpc_tls_health_check(GRPCTLSHealthCheck::default()/* use setters */);
Source

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

Sets or clears the value of grpc_tls_health_check.

§Example
use google_cloud_compute_v1::model::GRPCTLSHealthCheck;
let x = HealthCheck::new().set_or_clear_grpc_tls_health_check(Some(GRPCTLSHealthCheck::default()/* use setters */));
let x = HealthCheck::new().set_or_clear_grpc_tls_health_check(None::<GRPCTLSHealthCheck>);
Source

pub fn set_healthy_threshold<T>(self, v: T) -> Self
where T: Into<i32>,

Sets the value of healthy_threshold.

§Example
let x = HealthCheck::new().set_healthy_threshold(42);
Source

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

Sets or clears the value of healthy_threshold.

§Example
let x = HealthCheck::new().set_or_clear_healthy_threshold(Some(42));
let x = HealthCheck::new().set_or_clear_healthy_threshold(None::<i32>);
Source

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

Sets the value of http_2_health_check.

§Example
use google_cloud_compute_v1::model::HTTP2HealthCheck;
let x = HealthCheck::new().set_http_2_health_check(HTTP2HealthCheck::default()/* use setters */);
Source

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

Sets or clears the value of http_2_health_check.

§Example
use google_cloud_compute_v1::model::HTTP2HealthCheck;
let x = HealthCheck::new().set_or_clear_http_2_health_check(Some(HTTP2HealthCheck::default()/* use setters */));
let x = HealthCheck::new().set_or_clear_http_2_health_check(None::<HTTP2HealthCheck>);
Source

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

Sets the value of http_health_check.

§Example
use google_cloud_compute_v1::model::HTTPHealthCheck;
let x = HealthCheck::new().set_http_health_check(HTTPHealthCheck::default()/* use setters */);
Source

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

Sets or clears the value of http_health_check.

§Example
use google_cloud_compute_v1::model::HTTPHealthCheck;
let x = HealthCheck::new().set_or_clear_http_health_check(Some(HTTPHealthCheck::default()/* use setters */));
let x = HealthCheck::new().set_or_clear_http_health_check(None::<HTTPHealthCheck>);
Source

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

Sets the value of https_health_check.

§Example
use google_cloud_compute_v1::model::HTTPSHealthCheck;
let x = HealthCheck::new().set_https_health_check(HTTPSHealthCheck::default()/* use setters */);
Source

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

Sets or clears the value of https_health_check.

§Example
use google_cloud_compute_v1::model::HTTPSHealthCheck;
let x = HealthCheck::new().set_or_clear_https_health_check(Some(HTTPSHealthCheck::default()/* use setters */));
let x = HealthCheck::new().set_or_clear_https_health_check(None::<HTTPSHealthCheck>);
Source

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

Sets the value of id.

§Example
let x = HealthCheck::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 = HealthCheck::new().set_or_clear_id(Some(42_u32));
let x = HealthCheck::new().set_or_clear_id(None::<u32>);
Source

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

Sets the value of kind.

§Example
let x = HealthCheck::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 = HealthCheck::new().set_or_clear_kind(Some("example"));
let x = HealthCheck::new().set_or_clear_kind(None::<String>);
Source

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

Sets the value of log_config.

§Example
use google_cloud_compute_v1::model::HealthCheckLogConfig;
let x = HealthCheck::new().set_log_config(HealthCheckLogConfig::default()/* use setters */);
Source

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

Sets or clears the value of log_config.

§Example
use google_cloud_compute_v1::model::HealthCheckLogConfig;
let x = HealthCheck::new().set_or_clear_log_config(Some(HealthCheckLogConfig::default()/* use setters */));
let x = HealthCheck::new().set_or_clear_log_config(None::<HealthCheckLogConfig>);
Source

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

Sets the value of name.

§Example
let x = HealthCheck::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 = HealthCheck::new().set_or_clear_name(Some("example"));
let x = HealthCheck::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 = HealthCheck::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 = HealthCheck::new().set_or_clear_region(Some("example"));
let x = HealthCheck::new().set_or_clear_region(None::<String>);

Sets the value of self_link.

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

Sets or clears the value of self_link.

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

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

Sets the value of source_regions.

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

pub fn set_ssl_health_check<T>(self, v: T) -> Self
where T: Into<SSLHealthCheck>,

Sets the value of ssl_health_check.

§Example
use google_cloud_compute_v1::model::SSLHealthCheck;
let x = HealthCheck::new().set_ssl_health_check(SSLHealthCheck::default()/* use setters */);
Source

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

Sets or clears the value of ssl_health_check.

§Example
use google_cloud_compute_v1::model::SSLHealthCheck;
let x = HealthCheck::new().set_or_clear_ssl_health_check(Some(SSLHealthCheck::default()/* use setters */));
let x = HealthCheck::new().set_or_clear_ssl_health_check(None::<SSLHealthCheck>);
Source

pub fn set_tcp_health_check<T>(self, v: T) -> Self
where T: Into<TCPHealthCheck>,

Sets the value of tcp_health_check.

§Example
use google_cloud_compute_v1::model::TCPHealthCheck;
let x = HealthCheck::new().set_tcp_health_check(TCPHealthCheck::default()/* use setters */);
Source

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

Sets or clears the value of tcp_health_check.

§Example
use google_cloud_compute_v1::model::TCPHealthCheck;
let x = HealthCheck::new().set_or_clear_tcp_health_check(Some(TCPHealthCheck::default()/* use setters */));
let x = HealthCheck::new().set_or_clear_tcp_health_check(None::<TCPHealthCheck>);
Source

pub fn set_timeout_sec<T>(self, v: T) -> Self
where T: Into<i32>,

Sets the value of timeout_sec.

§Example
let x = HealthCheck::new().set_timeout_sec(42);
Source

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

Sets or clears the value of timeout_sec.

§Example
let x = HealthCheck::new().set_or_clear_timeout_sec(Some(42));
let x = HealthCheck::new().set_or_clear_timeout_sec(None::<i32>);
Source

pub fn set_type<T>(self, v: T) -> Self
where T: Into<Type>,

Sets the value of r#type.

§Example
use google_cloud_compute_v1::model::health_check::Type;
let x0 = HealthCheck::new().set_type(Type::GrpcWithTls);
let x1 = HealthCheck::new().set_type(Type::Http);
let x2 = HealthCheck::new().set_type(Type::Http2);
Source

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

Sets or clears the value of r#type.

§Example
use google_cloud_compute_v1::model::health_check::Type;
let x0 = HealthCheck::new().set_or_clear_type(Some(Type::GrpcWithTls));
let x1 = HealthCheck::new().set_or_clear_type(Some(Type::Http));
let x2 = HealthCheck::new().set_or_clear_type(Some(Type::Http2));
let x_none = HealthCheck::new().set_or_clear_type(None::<Type>);
Source

pub fn set_unhealthy_threshold<T>(self, v: T) -> Self
where T: Into<i32>,

Sets the value of unhealthy_threshold.

§Example
let x = HealthCheck::new().set_unhealthy_threshold(42);
Source

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

Sets or clears the value of unhealthy_threshold.

§Example
let x = HealthCheck::new().set_or_clear_unhealthy_threshold(Some(42));
let x = HealthCheck::new().set_or_clear_unhealthy_threshold(None::<i32>);

Trait Implementations§

Source§

impl Clone for HealthCheck

Source§

fn clone(&self) -> HealthCheck

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 HealthCheck

Source§

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

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

impl Default for HealthCheck

Source§

fn default() -> HealthCheck

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

impl Message for HealthCheck

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for HealthCheck

Source§

fn eq(&self, other: &HealthCheck) -> 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 HealthCheck

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