Skip to main content

Cluster

Struct Cluster 

Source
#[non_exhaustive]
pub struct Cluster { pub name: String, pub description: String, pub labels: HashMap<String, String>, pub create_time: Option<Timestamp>, pub update_time: Option<Timestamp>, pub reconciling: bool, pub network_resources: HashMap<String, NetworkResource>, pub storage_resources: HashMap<String, StorageResource>, pub compute_resources: HashMap<String, ComputeResource>, pub orchestrator: Option<Orchestrator>, /* private fields */ }
Expand description

A collection of virtual machines and connected resources forming a high-performance computing cluster capable of running large-scale, tightly coupled workloads. A cluster combines a set a compute resources that perform computations, storage resources that contain inputs and store outputs, an orchestrator that is responsible for assigning jobs to compute resources, and network resources that connect everything together.

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.
§name: String

Identifier. Relative resource name of the cluster, in the format projects/{project}/locations/{location}/clusters/{cluster}.

§description: String

Optional. User-provided description of the cluster.

§labels: HashMap<String, String>

Optional. Labels applied to the cluster. Labels can be used to organize clusters and to filter them in queries.

§create_time: Option<Timestamp>

Output only. Time that the cluster was originally created.

§update_time: Option<Timestamp>

Output only. Time that the cluster was most recently updated.

§reconciling: bool

Output only. Indicates whether changes to the cluster are currently in flight. If this is true, then the current state might not match the cluster’s intended state.

§network_resources: HashMap<String, NetworkResource>

Optional. Network resources available to the cluster. Must contain at most one value. Keys specify the ID of the network resource by which it can be referenced elsewhere, and must conform to RFC-1034 (lower-case, alphanumeric, and at most 63 characters).

§storage_resources: HashMap<String, StorageResource>

Optional. Storage resources available to the cluster. Keys specify the ID of the storage resource by which it can be referenced elsewhere, and must conform to RFC-1034 (lower-case, alphanumeric, and at most 63 characters).

§compute_resources: HashMap<String, ComputeResource>

Optional. Compute resources available to the cluster. Keys specify the ID of the compute resource by which it can be referenced elsewhere, and must conform to RFC-1034 (lower-case, alphanumeric, and at most 63 characters).

§orchestrator: Option<Orchestrator>

Optional. Orchestrator that is responsible for scheduling and running jobs on the cluster.

Implementations§

Source§

impl Cluster

Source

pub fn new() -> Self

Creates a new default instance.

Source

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

Sets the value of name.

§Example
ⓘ
let x = Cluster::new().set_name(format!("projects/{project_id}/locations/{location_id}/clusters/{cluster_id}"));
Source

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

Sets the value of description.

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

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

Sets the value of labels.

§Example
ⓘ
let x = Cluster::new().set_labels([
    ("key0", "abc"),
    ("key1", "xyz"),
]);
Source

pub fn set_create_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of create_time.

§Example
ⓘ
use wkt::Timestamp;
let x = Cluster::new().set_create_time(Timestamp::default()/* use setters */);
Source

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

Sets or clears the value of create_time.

§Example
ⓘ
use wkt::Timestamp;
let x = Cluster::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
let x = Cluster::new().set_or_clear_create_time(None::<Timestamp>);
Source

pub fn set_update_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of update_time.

§Example
ⓘ
use wkt::Timestamp;
let x = Cluster::new().set_update_time(Timestamp::default()/* use setters */);
Source

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

Sets or clears the value of update_time.

§Example
ⓘ
use wkt::Timestamp;
let x = Cluster::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
let x = Cluster::new().set_or_clear_update_time(None::<Timestamp>);
Source

pub fn set_reconciling<T: Into<bool>>(self, v: T) -> Self

Sets the value of reconciling.

§Example
ⓘ
let x = Cluster::new().set_reconciling(true);
Source

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

Sets the value of network_resources.

§Example
ⓘ
use google_cloud_hypercomputecluster_v1::model::NetworkResource;
let x = Cluster::new().set_network_resources([
    ("key0", NetworkResource::default()/* use setters */),
    ("key1", NetworkResource::default()/* use (different) setters */),
]);
Source

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

Sets the value of storage_resources.

§Example
ⓘ
use google_cloud_hypercomputecluster_v1::model::StorageResource;
let x = Cluster::new().set_storage_resources([
    ("key0", StorageResource::default()/* use setters */),
    ("key1", StorageResource::default()/* use (different) setters */),
]);
Source

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

Sets the value of compute_resources.

§Example
ⓘ
use google_cloud_hypercomputecluster_v1::model::ComputeResource;
let x = Cluster::new().set_compute_resources([
    ("key0", ComputeResource::default()/* use setters */),
    ("key1", ComputeResource::default()/* use (different) setters */),
]);
Source

pub fn set_orchestrator<T>(self, v: T) -> Self
where T: Into<Orchestrator>,

Sets the value of orchestrator.

§Example
ⓘ
use google_cloud_hypercomputecluster_v1::model::Orchestrator;
let x = Cluster::new().set_orchestrator(Orchestrator::default()/* use setters */);
Source

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

Sets or clears the value of orchestrator.

§Example
ⓘ
use google_cloud_hypercomputecluster_v1::model::Orchestrator;
let x = Cluster::new().set_or_clear_orchestrator(Some(Orchestrator::default()/* use setters */));
let x = Cluster::new().set_or_clear_orchestrator(None::<Orchestrator>);

Trait Implementations§

Source§

impl Clone for Cluster

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Cluster

Source§

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

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

impl Default for Cluster

Source§

fn default() -> Self

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

impl Message for Cluster

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for Cluster

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Cluster

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self> ⓘ

Attaches the current Context to this type, returning a WithContext wrapper. Read more
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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + 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: Sized + 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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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 = !

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

fn try_from(value: U) -> Result<T, !>

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