#[non_exhaustive]pub struct NodeGroup {Show 17 fields
pub autoscaling_policy: Option<NodeGroupAutoscalingPolicy>,
pub creation_timestamp: Option<String>,
pub description: Option<String>,
pub fingerprint: Option<Bytes>,
pub id: Option<u64>,
pub kind: Option<String>,
pub location_hint: Option<String>,
pub maintenance_interval: Option<MaintenanceInterval>,
pub maintenance_policy: Option<MaintenancePolicy>,
pub maintenance_window: Option<NodeGroupMaintenanceWindow>,
pub name: Option<String>,
pub node_template: Option<String>,
pub self_link: Option<String>,
pub share_settings: Option<ShareSettings>,
pub size: Option<i32>,
pub status: Option<Status>,
pub zone: Option<String>,
/* private fields */
}node-groups only.Expand description
Represents a sole-tenant Node Group resource.
A sole-tenant node is a physical server that is dedicated to hosting VM instances only for your specific project. Use sole-tenant nodes to keep your instances physically separated from instances in other projects, or to group your instances together on the same host hardware. For more information, readSole-tenant nodes.
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.autoscaling_policy: Option<NodeGroupAutoscalingPolicy>Specifies how autoscaling should behave.
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.
fingerprint: Option<Bytes>§id: Option<u64>Output only. [Output Only] The unique identifier for the resource. This identifier is defined by the server.
kind: Option<String>Output only. [Output Only] The type of the resource. Alwayscompute#nodeGroup for node group.
location_hint: Option<String>An opaque location hint used to place the Node close to other resources. This field is for use by internal tools that use the public API. The location hint here on the NodeGroup overrides any location_hint present in the NodeTemplate.
maintenance_interval: Option<MaintenanceInterval>Specifies the frequency of planned maintenance events. The accepted values
are: AS_NEEDED and RECURRENT.
maintenance_policy: Option<MaintenancePolicy>Specifies how to handle instances when a node in the group undergoes maintenance. Set to one of: DEFAULT,RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. For more information, see Maintenance policies.
maintenance_window: Option<NodeGroupMaintenanceWindow>§name: Option<String>The name of the resource, provided by the client when initially creating
the resource. The resource 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.
node_template: Option<String>URL of the node template to create the node group from.
self_link: Option<String>Output only. [Output Only] Server-defined URL for the resource.
Share-settings for the node group
size: Option<i32>Output only. [Output Only] The total number of nodes in the node group.
status: Option<Status>§zone: Option<String>Output only. [Output Only] The name of the zone where the node group resides, such as us-central1-a.
Implementations§
Source§impl NodeGroup
impl NodeGroup
pub fn new() -> Self
Sourcepub fn set_autoscaling_policy<T>(self, v: T) -> Selfwhere
T: Into<NodeGroupAutoscalingPolicy>,
pub fn set_autoscaling_policy<T>(self, v: T) -> Selfwhere
T: Into<NodeGroupAutoscalingPolicy>,
Sets the value of autoscaling_policy.
§Example
use google_cloud_compute_v1::model::NodeGroupAutoscalingPolicy;
let x = NodeGroup::new().set_autoscaling_policy(NodeGroupAutoscalingPolicy::default()/* use setters */);Sourcepub fn set_or_clear_autoscaling_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<NodeGroupAutoscalingPolicy>,
pub fn set_or_clear_autoscaling_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<NodeGroupAutoscalingPolicy>,
Sets or clears the value of autoscaling_policy.
§Example
use google_cloud_compute_v1::model::NodeGroupAutoscalingPolicy;
let x = NodeGroup::new().set_or_clear_autoscaling_policy(Some(NodeGroupAutoscalingPolicy::default()/* use setters */));
let x = NodeGroup::new().set_or_clear_autoscaling_policy(None::<NodeGroupAutoscalingPolicy>);Sourcepub fn set_creation_timestamp<T>(self, v: T) -> Self
pub fn set_creation_timestamp<T>(self, v: T) -> Self
Sets the value of creation_timestamp.
§Example
let x = NodeGroup::new().set_creation_timestamp("example");Sourcepub fn set_or_clear_creation_timestamp<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_creation_timestamp<T>(self, v: Option<T>) -> Self
Sets or clears the value of creation_timestamp.
§Example
let x = NodeGroup::new().set_or_clear_creation_timestamp(Some("example"));
let x = NodeGroup::new().set_or_clear_creation_timestamp(None::<String>);Sourcepub fn set_description<T>(self, v: T) -> Self
pub fn set_description<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_description<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_description<T>(self, v: Option<T>) -> Self
Sets or clears the value of description.
§Example
let x = NodeGroup::new().set_or_clear_description(Some("example"));
let x = NodeGroup::new().set_or_clear_description(None::<String>);Sourcepub fn set_fingerprint<T>(self, v: T) -> Self
pub fn set_fingerprint<T>(self, v: T) -> Self
Sets the value of fingerprint.
§Example
let x = NodeGroup::new().set_fingerprint(bytes::Bytes::from_static(b"example"));Sourcepub fn set_or_clear_fingerprint<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_fingerprint<T>(self, v: Option<T>) -> Self
Sets or clears the value of fingerprint.
§Example
let x = NodeGroup::new().set_or_clear_fingerprint(Some(bytes::Bytes::from_static(b"example")));
let x = NodeGroup::new().set_or_clear_fingerprint(None::<bytes::Bytes>);Sourcepub fn set_or_clear_id<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_id<T>(self, v: Option<T>) -> Self
Sourcepub fn set_or_clear_kind<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_kind<T>(self, v: Option<T>) -> Self
Sourcepub fn set_location_hint<T>(self, v: T) -> Self
pub fn set_location_hint<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_location_hint<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_location_hint<T>(self, v: Option<T>) -> Self
Sets or clears the value of location_hint.
§Example
let x = NodeGroup::new().set_or_clear_location_hint(Some("example"));
let x = NodeGroup::new().set_or_clear_location_hint(None::<String>);Sourcepub fn set_maintenance_interval<T>(self, v: T) -> Selfwhere
T: Into<MaintenanceInterval>,
pub fn set_maintenance_interval<T>(self, v: T) -> Selfwhere
T: Into<MaintenanceInterval>,
Sets the value of maintenance_interval.
§Example
use google_cloud_compute_v1::model::node_group::MaintenanceInterval;
let x0 = NodeGroup::new().set_maintenance_interval(MaintenanceInterval::Recurrent);Sourcepub fn set_or_clear_maintenance_interval<T>(self, v: Option<T>) -> Selfwhere
T: Into<MaintenanceInterval>,
pub fn set_or_clear_maintenance_interval<T>(self, v: Option<T>) -> Selfwhere
T: Into<MaintenanceInterval>,
Sets or clears the value of maintenance_interval.
§Example
use google_cloud_compute_v1::model::node_group::MaintenanceInterval;
let x0 = NodeGroup::new().set_or_clear_maintenance_interval(Some(MaintenanceInterval::Recurrent));
let x_none = NodeGroup::new().set_or_clear_maintenance_interval(None::<MaintenanceInterval>);Sourcepub fn set_maintenance_policy<T>(self, v: T) -> Selfwhere
T: Into<MaintenancePolicy>,
pub fn set_maintenance_policy<T>(self, v: T) -> Selfwhere
T: Into<MaintenancePolicy>,
Sets the value of maintenance_policy.
§Example
use google_cloud_compute_v1::model::node_group::MaintenancePolicy;
let x0 = NodeGroup::new().set_maintenance_policy(MaintenancePolicy::Unspecified);
let x1 = NodeGroup::new().set_maintenance_policy(MaintenancePolicy::MigrateWithinNodeGroup);
let x2 = NodeGroup::new().set_maintenance_policy(MaintenancePolicy::RestartInPlace);Sourcepub fn set_or_clear_maintenance_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<MaintenancePolicy>,
pub fn set_or_clear_maintenance_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<MaintenancePolicy>,
Sets or clears the value of maintenance_policy.
§Example
use google_cloud_compute_v1::model::node_group::MaintenancePolicy;
let x0 = NodeGroup::new().set_or_clear_maintenance_policy(Some(MaintenancePolicy::Unspecified));
let x1 = NodeGroup::new().set_or_clear_maintenance_policy(Some(MaintenancePolicy::MigrateWithinNodeGroup));
let x2 = NodeGroup::new().set_or_clear_maintenance_policy(Some(MaintenancePolicy::RestartInPlace));
let x_none = NodeGroup::new().set_or_clear_maintenance_policy(None::<MaintenancePolicy>);Sourcepub fn set_maintenance_window<T>(self, v: T) -> Selfwhere
T: Into<NodeGroupMaintenanceWindow>,
pub fn set_maintenance_window<T>(self, v: T) -> Selfwhere
T: Into<NodeGroupMaintenanceWindow>,
Sets the value of maintenance_window.
§Example
use google_cloud_compute_v1::model::NodeGroupMaintenanceWindow;
let x = NodeGroup::new().set_maintenance_window(NodeGroupMaintenanceWindow::default()/* use setters */);Sourcepub fn set_or_clear_maintenance_window<T>(self, v: Option<T>) -> Selfwhere
T: Into<NodeGroupMaintenanceWindow>,
pub fn set_or_clear_maintenance_window<T>(self, v: Option<T>) -> Selfwhere
T: Into<NodeGroupMaintenanceWindow>,
Sets or clears the value of maintenance_window.
§Example
use google_cloud_compute_v1::model::NodeGroupMaintenanceWindow;
let x = NodeGroup::new().set_or_clear_maintenance_window(Some(NodeGroupMaintenanceWindow::default()/* use setters */));
let x = NodeGroup::new().set_or_clear_maintenance_window(None::<NodeGroupMaintenanceWindow>);Sourcepub fn set_or_clear_name<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_name<T>(self, v: Option<T>) -> Self
Sourcepub fn set_node_template<T>(self, v: T) -> Self
pub fn set_node_template<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_node_template<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_node_template<T>(self, v: Option<T>) -> Self
Sets or clears the value of node_template.
§Example
let x = NodeGroup::new().set_or_clear_node_template(Some("example"));
let x = NodeGroup::new().set_or_clear_node_template(None::<String>);Sourcepub fn set_self_link<T>(self, v: T) -> Self
pub fn set_self_link<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_self_link<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_self_link<T>(self, v: Option<T>) -> Self
Sets the value of share_settings.
§Example
use google_cloud_compute_v1::model::ShareSettings;
let x = NodeGroup::new().set_share_settings(ShareSettings::default()/* use setters */);Sets or clears the value of share_settings.
§Example
use google_cloud_compute_v1::model::ShareSettings;
let x = NodeGroup::new().set_or_clear_share_settings(Some(ShareSettings::default()/* use setters */));
let x = NodeGroup::new().set_or_clear_share_settings(None::<ShareSettings>);Sourcepub fn set_or_clear_size<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_size<T>(self, v: Option<T>) -> Self
Sourcepub fn set_status<T>(self, v: T) -> Self
pub fn set_status<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_status<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_status<T>(self, v: Option<T>) -> Self
Sets or clears the value of status.
§Example
use google_cloud_compute_v1::model::node_group::Status;
let x0 = NodeGroup::new().set_or_clear_status(Some(Status::Deleting));
let x1 = NodeGroup::new().set_or_clear_status(Some(Status::Invalid));
let x2 = NodeGroup::new().set_or_clear_status(Some(Status::Ready));
let x_none = NodeGroup::new().set_or_clear_status(None::<Status>);