#[non_exhaustive]pub struct InstanceGroupConfig {Show 14 fields
pub num_instances: i32,
pub instance_names: Vec<String>,
pub instance_references: Vec<InstanceReference>,
pub image_uri: String,
pub machine_type_uri: String,
pub disk_config: Option<DiskConfig>,
pub is_preemptible: bool,
pub preemptibility: Preemptibility,
pub managed_group_config: Option<ManagedGroupConfig>,
pub accelerators: Vec<AcceleratorConfig>,
pub min_cpu_platform: String,
pub min_num_instances: i32,
pub instance_flexibility_policy: Option<InstanceFlexibilityPolicy>,
pub startup_config: Option<StartupConfig>,
/* private fields */
}Expand description
The config settings for Compute Engine resources in an instance group, such as a master or worker group.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.num_instances: i32Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1.
instance_names: Vec<String>Output only. The list of instance names. Dataproc derives the names
from cluster_name, num_instances, and the instance group.
instance_references: Vec<InstanceReference>Output only. List of references to Compute Engine instances.
image_uri: StringOptional. The Compute Engine image resource used for cluster instances.
The URI can represent an image or image family.
Image examples:
<https://www.googleapis.com/compute/v1/projects/>[project_id]/global/images/[image-id]projects/[project_id]/global/images/[image-id]image-id
Image family examples. Dataproc will use the most recent image from the family:
<https://www.googleapis.com/compute/v1/projects/>[project_id]/global/images/family/[custom-image-family-name]projects/[project_id]/global/images/family/[custom-image-family-name]
If the URI is unspecified, it will be inferred from
SoftwareConfig.image_version or the system default.
machine_type_uri: StringOptional. The Compute Engine machine type used for cluster instances.
A full URL, partial URI, or short name are valid. Examples:
<https://www.googleapis.com/compute/v1/projects/>[project_id]/zones/[zone]/machineTypes/n1-standard-2projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2n1-standard-2
Auto Zone Exception: If you are using the Dataproc
Auto Zone
Placement
feature, you must use the short name of the machine type
resource, for example, n1-standard-2.
disk_config: Option<DiskConfig>Optional. Disk option config settings.
is_preemptible: boolOutput only. Specifies that this instance group contains preemptible instances.
preemptibility: PreemptibilityOptional. Specifies the preemptibility of the instance group.
The default value for master and worker groups is
NON_PREEMPTIBLE. This default cannot be changed.
The default value for secondary instances is
PREEMPTIBLE.
managed_group_config: Option<ManagedGroupConfig>Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups.
accelerators: Vec<AcceleratorConfig>Optional. The Compute Engine accelerator configuration for these instances.
min_cpu_platform: StringOptional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform.
min_num_instances: i32Optional. The minimum number of primary worker instances to create.
If min_num_instances is set, cluster creation will succeed if
the number of primary workers created is at least equal to the
min_num_instances number.
Example: Cluster creation request with num_instances = 5 and
min_num_instances = 3:
- If 4 VMs are created and 1 instance fails,
the failed VM is deleted. The cluster is
resized to 4 instances and placed in a
RUNNINGstate. - If 2 instances are created and 3 instances fail,
the cluster in placed in an
ERRORstate. The failed VMs are not deleted.
instance_flexibility_policy: Option<InstanceFlexibilityPolicy>Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models.
startup_config: Option<StartupConfig>Optional. Configuration to handle the startup of instances during cluster create and update process.
Implementations§
Source§impl InstanceGroupConfig
impl InstanceGroupConfig
Sourcepub fn set_num_instances<T: Into<i32>>(self, v: T) -> Self
pub fn set_num_instances<T: Into<i32>>(self, v: T) -> Self
Sets the value of num_instances.
§Example
let x = InstanceGroupConfig::new().set_num_instances(42);Sourcepub fn set_instance_names<T, V>(self, v: T) -> Self
pub fn set_instance_names<T, V>(self, v: T) -> Self
Sets the value of instance_names.
§Example
let x = InstanceGroupConfig::new().set_instance_names(["a", "b", "c"]);Sourcepub fn set_instance_references<T, V>(self, v: T) -> Self
pub fn set_instance_references<T, V>(self, v: T) -> Self
Sets the value of instance_references.
§Example
use google_cloud_dataproc_v1::model::InstanceReference;
let x = InstanceGroupConfig::new()
.set_instance_references([
InstanceReference::default()/* use setters */,
InstanceReference::default()/* use (different) setters */,
]);Sourcepub fn set_image_uri<T: Into<String>>(self, v: T) -> Self
pub fn set_image_uri<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_machine_type_uri<T: Into<String>>(self, v: T) -> Self
pub fn set_machine_type_uri<T: Into<String>>(self, v: T) -> Self
Sets the value of machine_type_uri.
§Example
let x = InstanceGroupConfig::new().set_machine_type_uri("example");Sourcepub fn set_disk_config<T>(self, v: T) -> Selfwhere
T: Into<DiskConfig>,
pub fn set_disk_config<T>(self, v: T) -> Selfwhere
T: Into<DiskConfig>,
Sets the value of disk_config.
§Example
use google_cloud_dataproc_v1::model::DiskConfig;
let x = InstanceGroupConfig::new().set_disk_config(DiskConfig::default()/* use setters */);Sourcepub fn set_or_clear_disk_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<DiskConfig>,
pub fn set_or_clear_disk_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<DiskConfig>,
Sets or clears the value of disk_config.
§Example
use google_cloud_dataproc_v1::model::DiskConfig;
let x = InstanceGroupConfig::new().set_or_clear_disk_config(Some(DiskConfig::default()/* use setters */));
let x = InstanceGroupConfig::new().set_or_clear_disk_config(None::<DiskConfig>);Sourcepub fn set_is_preemptible<T: Into<bool>>(self, v: T) -> Self
pub fn set_is_preemptible<T: Into<bool>>(self, v: T) -> Self
Sets the value of is_preemptible.
§Example
let x = InstanceGroupConfig::new().set_is_preemptible(true);Sourcepub fn set_preemptibility<T: Into<Preemptibility>>(self, v: T) -> Self
pub fn set_preemptibility<T: Into<Preemptibility>>(self, v: T) -> Self
Sets the value of preemptibility.
§Example
use google_cloud_dataproc_v1::model::instance_group_config::Preemptibility;
let x0 = InstanceGroupConfig::new().set_preemptibility(Preemptibility::NonPreemptible);
let x1 = InstanceGroupConfig::new().set_preemptibility(Preemptibility::Preemptible);
let x2 = InstanceGroupConfig::new().set_preemptibility(Preemptibility::Spot);Sourcepub fn set_managed_group_config<T>(self, v: T) -> Selfwhere
T: Into<ManagedGroupConfig>,
pub fn set_managed_group_config<T>(self, v: T) -> Selfwhere
T: Into<ManagedGroupConfig>,
Sets the value of managed_group_config.
§Example
use google_cloud_dataproc_v1::model::ManagedGroupConfig;
let x = InstanceGroupConfig::new().set_managed_group_config(ManagedGroupConfig::default()/* use setters */);Sourcepub fn set_or_clear_managed_group_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<ManagedGroupConfig>,
pub fn set_or_clear_managed_group_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<ManagedGroupConfig>,
Sets or clears the value of managed_group_config.
§Example
use google_cloud_dataproc_v1::model::ManagedGroupConfig;
let x = InstanceGroupConfig::new().set_or_clear_managed_group_config(Some(ManagedGroupConfig::default()/* use setters */));
let x = InstanceGroupConfig::new().set_or_clear_managed_group_config(None::<ManagedGroupConfig>);Sourcepub fn set_accelerators<T, V>(self, v: T) -> Self
pub fn set_accelerators<T, V>(self, v: T) -> Self
Sets the value of accelerators.
§Example
use google_cloud_dataproc_v1::model::AcceleratorConfig;
let x = InstanceGroupConfig::new()
.set_accelerators([
AcceleratorConfig::default()/* use setters */,
AcceleratorConfig::default()/* use (different) setters */,
]);Sourcepub fn set_min_cpu_platform<T: Into<String>>(self, v: T) -> Self
pub fn set_min_cpu_platform<T: Into<String>>(self, v: T) -> Self
Sets the value of min_cpu_platform.
§Example
let x = InstanceGroupConfig::new().set_min_cpu_platform("example");Sourcepub fn set_min_num_instances<T: Into<i32>>(self, v: T) -> Self
pub fn set_min_num_instances<T: Into<i32>>(self, v: T) -> Self
Sets the value of min_num_instances.
§Example
let x = InstanceGroupConfig::new().set_min_num_instances(42);Sourcepub fn set_instance_flexibility_policy<T>(self, v: T) -> Selfwhere
T: Into<InstanceFlexibilityPolicy>,
pub fn set_instance_flexibility_policy<T>(self, v: T) -> Selfwhere
T: Into<InstanceFlexibilityPolicy>,
Sets the value of instance_flexibility_policy.
§Example
use google_cloud_dataproc_v1::model::InstanceFlexibilityPolicy;
let x = InstanceGroupConfig::new().set_instance_flexibility_policy(InstanceFlexibilityPolicy::default()/* use setters */);Sourcepub fn set_or_clear_instance_flexibility_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<InstanceFlexibilityPolicy>,
pub fn set_or_clear_instance_flexibility_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<InstanceFlexibilityPolicy>,
Sets or clears the value of instance_flexibility_policy.
§Example
use google_cloud_dataproc_v1::model::InstanceFlexibilityPolicy;
let x = InstanceGroupConfig::new().set_or_clear_instance_flexibility_policy(Some(InstanceFlexibilityPolicy::default()/* use setters */));
let x = InstanceGroupConfig::new().set_or_clear_instance_flexibility_policy(None::<InstanceFlexibilityPolicy>);Sourcepub fn set_startup_config<T>(self, v: T) -> Selfwhere
T: Into<StartupConfig>,
pub fn set_startup_config<T>(self, v: T) -> Selfwhere
T: Into<StartupConfig>,
Sets the value of startup_config.
§Example
use google_cloud_dataproc_v1::model::StartupConfig;
let x = InstanceGroupConfig::new().set_startup_config(StartupConfig::default()/* use setters */);Sourcepub fn set_or_clear_startup_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<StartupConfig>,
pub fn set_or_clear_startup_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<StartupConfig>,
Sets or clears the value of startup_config.
§Example
use google_cloud_dataproc_v1::model::StartupConfig;
let x = InstanceGroupConfig::new().set_or_clear_startup_config(Some(StartupConfig::default()/* use setters */));
let x = InstanceGroupConfig::new().set_or_clear_startup_config(None::<StartupConfig>);Trait Implementations§
Source§impl Clone for InstanceGroupConfig
impl Clone for InstanceGroupConfig
Source§fn clone(&self) -> InstanceGroupConfig
fn clone(&self) -> InstanceGroupConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InstanceGroupConfig
impl Debug for InstanceGroupConfig
Source§impl Default for InstanceGroupConfig
impl Default for InstanceGroupConfig
Source§fn default() -> InstanceGroupConfig
fn default() -> InstanceGroupConfig
Source§impl Message for InstanceGroupConfig
impl Message for InstanceGroupConfig
Source§impl PartialEq for InstanceGroupConfig
impl PartialEq for InstanceGroupConfig
impl StructuralPartialEq for InstanceGroupConfig
Auto Trait Implementations§
impl Freeze for InstanceGroupConfig
impl RefUnwindSafe for InstanceGroupConfig
impl Send for InstanceGroupConfig
impl Sync for InstanceGroupConfig
impl Unpin for InstanceGroupConfig
impl UnsafeUnpin for InstanceGroupConfig
impl UnwindSafe for InstanceGroupConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request