#[non_exhaustive]pub struct Reservation {Show 25 fields
pub advanced_deployment_control: Option<ReservationAdvancedDeploymentControl>,
pub aggregate_reservation: Option<AllocationAggregateReservation>,
pub commitment: Option<String>,
pub creation_timestamp: Option<String>,
pub delete_after_duration: Option<Duration>,
pub delete_at_time: Option<String>,
pub deployment_type: Option<DeploymentType>,
pub description: Option<String>,
pub enable_emergent_maintenance: Option<bool>,
pub id: Option<u64>,
pub kind: Option<String>,
pub linked_commitments: Vec<String>,
pub name: Option<String>,
pub protection_tier: Option<ProtectionTier>,
pub reservation_sharing_policy: Option<AllocationReservationSharingPolicy>,
pub resource_policies: HashMap<String, String>,
pub resource_status: Option<AllocationResourceStatus>,
pub satisfies_pzs: Option<bool>,
pub scheduling_type: Option<SchedulingType>,
pub self_link: Option<String>,
pub share_settings: Option<ShareSettings>,
pub specific_reservation: Option<AllocationSpecificSKUReservation>,
pub specific_reservation_required: Option<bool>,
pub status: Option<Status>,
pub zone: Option<String>,
/* private fields */
}region-commitments or reservations only.Expand description
Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running. For more information, read Reserving zonal resources.
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.advanced_deployment_control: Option<ReservationAdvancedDeploymentControl>Advanced control for cluster management, applicable only to DENSE deployment type reservations.
aggregate_reservation: Option<AllocationAggregateReservation>Reservation for aggregated resources, providing shape flexibility.
commitment: Option<String>Output only. [Output Only] Full or partial URL to a parent commitment. This field displays for reservations that are tied to a commitment.
creation_timestamp: Option<String>Output only. [Output Only] Creation timestamp inRFC3339 text format.
delete_after_duration: Option<Duration>Duration time relative to reservation creation when Compute Engine will automatically delete this resource.
delete_at_time: Option<String>Absolute time in future when the reservation will be auto-deleted by Compute Engine. Timestamp is represented inRFC3339 text format.
deployment_type: Option<DeploymentType>Specifies the deployment strategy for this reservation.
description: Option<String>An optional description of this resource. Provide this property when you create the resource.
enable_emergent_maintenance: Option<bool>Indicates whether Compute Engine allows unplanned maintenance for your VMs; for example, to fix hardware errors.
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] Type of the resource. Alwayscompute#reservations for reservations.
linked_commitments: Vec<String>Output only. [Output Only] Full or partial URL to parent commitments. This field displays for reservations that are tied to multiple commitments.
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.
protection_tier: Option<ProtectionTier>Protection tier for the workload which specifies the workload expectations in the event of infrastructure failures at data center (e.g. power and/or cooling failures).
reservation_sharing_policy: Option<AllocationReservationSharingPolicy>Specify the reservation sharing policy. If unspecified, the reservation will not be shared with Google Cloud managed services.
resource_policies: HashMap<String, String>Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation.
resource_status: Option<AllocationResourceStatus>Output only. [Output Only] Status information for Reservation resource.
satisfies_pzs: Option<bool>Output only. [Output Only] Reserved for future use.
scheduling_type: Option<SchedulingType>The type of maintenance for the reservation.
self_link: Option<String>Output only. [Output Only] Server-defined fully-qualified URL for this resource.
Specify share-settings to create a shared reservation. This property is optional. For more information about the syntax and options for this field and its subfields, see the guide for creating a shared reservation.
specific_reservation: Option<AllocationSpecificSKUReservation>Reservation for instances with specific machine shapes.
specific_reservation_required: Option<bool>Indicates whether the reservation can be consumed by VMs with affinity for “any” reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation.
status: Option<Status>Output only. [Output Only] The status of the reservation.
- CREATING: Reservation resources are being
allocated.
- READY: Reservation resources have been allocated,
and the reservation is ready for use.
- DELETING: Reservation deletion is in progress.
- UPDATING: Reservation update is in progress.zone: Option<String>Zone in which the reservation resides. A zone must be provided if the reservation is created within a commitment.
Implementations§
Source§impl Reservation
impl Reservation
pub fn new() -> Self
Sourcepub fn set_advanced_deployment_control<T>(self, v: T) -> Selfwhere
T: Into<ReservationAdvancedDeploymentControl>,
pub fn set_advanced_deployment_control<T>(self, v: T) -> Selfwhere
T: Into<ReservationAdvancedDeploymentControl>,
Sets the value of advanced_deployment_control.
§Example
use google_cloud_compute_v1::model::ReservationAdvancedDeploymentControl;
let x = Reservation::new().set_advanced_deployment_control(ReservationAdvancedDeploymentControl::default()/* use setters */);Sourcepub fn set_or_clear_advanced_deployment_control<T>(self, v: Option<T>) -> Selfwhere
T: Into<ReservationAdvancedDeploymentControl>,
pub fn set_or_clear_advanced_deployment_control<T>(self, v: Option<T>) -> Selfwhere
T: Into<ReservationAdvancedDeploymentControl>,
Sets or clears the value of advanced_deployment_control.
§Example
use google_cloud_compute_v1::model::ReservationAdvancedDeploymentControl;
let x = Reservation::new().set_or_clear_advanced_deployment_control(Some(ReservationAdvancedDeploymentControl::default()/* use setters */));
let x = Reservation::new().set_or_clear_advanced_deployment_control(None::<ReservationAdvancedDeploymentControl>);Sourcepub fn set_aggregate_reservation<T>(self, v: T) -> Selfwhere
T: Into<AllocationAggregateReservation>,
pub fn set_aggregate_reservation<T>(self, v: T) -> Selfwhere
T: Into<AllocationAggregateReservation>,
Sets the value of aggregate_reservation.
§Example
use google_cloud_compute_v1::model::AllocationAggregateReservation;
let x = Reservation::new().set_aggregate_reservation(AllocationAggregateReservation::default()/* use setters */);Sourcepub fn set_or_clear_aggregate_reservation<T>(self, v: Option<T>) -> Selfwhere
T: Into<AllocationAggregateReservation>,
pub fn set_or_clear_aggregate_reservation<T>(self, v: Option<T>) -> Selfwhere
T: Into<AllocationAggregateReservation>,
Sets or clears the value of aggregate_reservation.
§Example
use google_cloud_compute_v1::model::AllocationAggregateReservation;
let x = Reservation::new().set_or_clear_aggregate_reservation(Some(AllocationAggregateReservation::default()/* use setters */));
let x = Reservation::new().set_or_clear_aggregate_reservation(None::<AllocationAggregateReservation>);Sourcepub fn set_commitment<T>(self, v: T) -> Self
pub fn set_commitment<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_commitment<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_commitment<T>(self, v: Option<T>) -> Self
Sets or clears the value of commitment.
§Example
let x = Reservation::new().set_or_clear_commitment(Some("example"));
let x = Reservation::new().set_or_clear_commitment(None::<String>);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 = Reservation::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 = Reservation::new().set_or_clear_creation_timestamp(Some("example"));
let x = Reservation::new().set_or_clear_creation_timestamp(None::<String>);Sourcepub fn set_delete_after_duration<T>(self, v: T) -> Self
pub fn set_delete_after_duration<T>(self, v: T) -> Self
Sets the value of delete_after_duration.
§Example
use google_cloud_compute_v1::model::Duration;
let x = Reservation::new().set_delete_after_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_delete_after_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_delete_after_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of delete_after_duration.
§Example
use google_cloud_compute_v1::model::Duration;
let x = Reservation::new().set_or_clear_delete_after_duration(Some(Duration::default()/* use setters */));
let x = Reservation::new().set_or_clear_delete_after_duration(None::<Duration>);Sourcepub fn set_delete_at_time<T>(self, v: T) -> Self
pub fn set_delete_at_time<T>(self, v: T) -> Self
Sets the value of delete_at_time.
§Example
let x = Reservation::new().set_delete_at_time("example");Sourcepub fn set_or_clear_delete_at_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_delete_at_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of delete_at_time.
§Example
let x = Reservation::new().set_or_clear_delete_at_time(Some("example"));
let x = Reservation::new().set_or_clear_delete_at_time(None::<String>);Sourcepub fn set_deployment_type<T>(self, v: T) -> Selfwhere
T: Into<DeploymentType>,
pub fn set_deployment_type<T>(self, v: T) -> Selfwhere
T: Into<DeploymentType>,
Sets the value of deployment_type.
§Example
use google_cloud_compute_v1::model::reservation::DeploymentType;
let x0 = Reservation::new().set_deployment_type(DeploymentType::Unspecified);Sourcepub fn set_or_clear_deployment_type<T>(self, v: Option<T>) -> Selfwhere
T: Into<DeploymentType>,
pub fn set_or_clear_deployment_type<T>(self, v: Option<T>) -> Selfwhere
T: Into<DeploymentType>,
Sets or clears the value of deployment_type.
§Example
use google_cloud_compute_v1::model::reservation::DeploymentType;
let x0 = Reservation::new().set_or_clear_deployment_type(Some(DeploymentType::Unspecified));
let x_none = Reservation::new().set_or_clear_deployment_type(None::<DeploymentType>);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 = Reservation::new().set_or_clear_description(Some("example"));
let x = Reservation::new().set_or_clear_description(None::<String>);Sourcepub fn set_enable_emergent_maintenance<T>(self, v: T) -> Self
pub fn set_enable_emergent_maintenance<T>(self, v: T) -> Self
Sets the value of enable_emergent_maintenance.
§Example
let x = Reservation::new().set_enable_emergent_maintenance(true);Sourcepub fn set_or_clear_enable_emergent_maintenance<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_enable_emergent_maintenance<T>(self, v: Option<T>) -> Self
Sets or clears the value of enable_emergent_maintenance.
§Example
let x = Reservation::new().set_or_clear_enable_emergent_maintenance(Some(false));
let x = Reservation::new().set_or_clear_enable_emergent_maintenance(None::<bool>);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_linked_commitments<T, V>(self, v: T) -> Self
pub fn set_linked_commitments<T, V>(self, v: T) -> Self
Sets the value of linked_commitments.
§Example
let x = Reservation::new().set_linked_commitments(["a", "b", "c"]);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_protection_tier<T>(self, v: T) -> Selfwhere
T: Into<ProtectionTier>,
pub fn set_protection_tier<T>(self, v: T) -> Selfwhere
T: Into<ProtectionTier>,
Sets the value of protection_tier.
§Example
use google_cloud_compute_v1::model::reservation::ProtectionTier;
let x0 = Reservation::new().set_protection_tier(ProtectionTier::Unspecified);
let x1 = Reservation::new().set_protection_tier(ProtectionTier::Standard);Sourcepub fn set_or_clear_protection_tier<T>(self, v: Option<T>) -> Selfwhere
T: Into<ProtectionTier>,
pub fn set_or_clear_protection_tier<T>(self, v: Option<T>) -> Selfwhere
T: Into<ProtectionTier>,
Sets or clears the value of protection_tier.
§Example
use google_cloud_compute_v1::model::reservation::ProtectionTier;
let x0 = Reservation::new().set_or_clear_protection_tier(Some(ProtectionTier::Unspecified));
let x1 = Reservation::new().set_or_clear_protection_tier(Some(ProtectionTier::Standard));
let x_none = Reservation::new().set_or_clear_protection_tier(None::<ProtectionTier>);Sourcepub fn set_reservation_sharing_policy<T>(self, v: T) -> Selfwhere
T: Into<AllocationReservationSharingPolicy>,
pub fn set_reservation_sharing_policy<T>(self, v: T) -> Selfwhere
T: Into<AllocationReservationSharingPolicy>,
Sets the value of reservation_sharing_policy.
§Example
use google_cloud_compute_v1::model::AllocationReservationSharingPolicy;
let x = Reservation::new().set_reservation_sharing_policy(AllocationReservationSharingPolicy::default()/* use setters */);Sourcepub fn set_or_clear_reservation_sharing_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<AllocationReservationSharingPolicy>,
pub fn set_or_clear_reservation_sharing_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<AllocationReservationSharingPolicy>,
Sets or clears the value of reservation_sharing_policy.
§Example
use google_cloud_compute_v1::model::AllocationReservationSharingPolicy;
let x = Reservation::new().set_or_clear_reservation_sharing_policy(Some(AllocationReservationSharingPolicy::default()/* use setters */));
let x = Reservation::new().set_or_clear_reservation_sharing_policy(None::<AllocationReservationSharingPolicy>);Sourcepub fn set_resource_policies<T, K, V>(self, v: T) -> Self
pub fn set_resource_policies<T, K, V>(self, v: T) -> Self
Sets the value of resource_policies.
§Example
let x = Reservation::new().set_resource_policies([
("key0", "abc"),
("key1", "xyz"),
]);Sourcepub fn set_resource_status<T>(self, v: T) -> Selfwhere
T: Into<AllocationResourceStatus>,
pub fn set_resource_status<T>(self, v: T) -> Selfwhere
T: Into<AllocationResourceStatus>,
Sets the value of resource_status.
§Example
use google_cloud_compute_v1::model::AllocationResourceStatus;
let x = Reservation::new().set_resource_status(AllocationResourceStatus::default()/* use setters */);Sourcepub fn set_or_clear_resource_status<T>(self, v: Option<T>) -> Selfwhere
T: Into<AllocationResourceStatus>,
pub fn set_or_clear_resource_status<T>(self, v: Option<T>) -> Selfwhere
T: Into<AllocationResourceStatus>,
Sets or clears the value of resource_status.
§Example
use google_cloud_compute_v1::model::AllocationResourceStatus;
let x = Reservation::new().set_or_clear_resource_status(Some(AllocationResourceStatus::default()/* use setters */));
let x = Reservation::new().set_or_clear_resource_status(None::<AllocationResourceStatus>);Sourcepub fn set_satisfies_pzs<T>(self, v: T) -> Self
pub fn set_satisfies_pzs<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_satisfies_pzs<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_satisfies_pzs<T>(self, v: Option<T>) -> Self
Sets or clears the value of satisfies_pzs.
§Example
let x = Reservation::new().set_or_clear_satisfies_pzs(Some(false));
let x = Reservation::new().set_or_clear_satisfies_pzs(None::<bool>);Sourcepub fn set_scheduling_type<T>(self, v: T) -> Selfwhere
T: Into<SchedulingType>,
pub fn set_scheduling_type<T>(self, v: T) -> Selfwhere
T: Into<SchedulingType>,
Sets the value of scheduling_type.
§Example
use google_cloud_compute_v1::model::reservation::SchedulingType;
let x0 = Reservation::new().set_scheduling_type(SchedulingType::GroupMaintenanceTypeUnspecified);
let x1 = Reservation::new().set_scheduling_type(SchedulingType::Independent);Sourcepub fn set_or_clear_scheduling_type<T>(self, v: Option<T>) -> Selfwhere
T: Into<SchedulingType>,
pub fn set_or_clear_scheduling_type<T>(self, v: Option<T>) -> Selfwhere
T: Into<SchedulingType>,
Sets or clears the value of scheduling_type.
§Example
use google_cloud_compute_v1::model::reservation::SchedulingType;
let x0 = Reservation::new().set_or_clear_scheduling_type(Some(SchedulingType::GroupMaintenanceTypeUnspecified));
let x1 = Reservation::new().set_or_clear_scheduling_type(Some(SchedulingType::Independent));
let x_none = Reservation::new().set_or_clear_scheduling_type(None::<SchedulingType>);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 = Reservation::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 = Reservation::new().set_or_clear_share_settings(Some(ShareSettings::default()/* use setters */));
let x = Reservation::new().set_or_clear_share_settings(None::<ShareSettings>);Sourcepub fn set_specific_reservation<T>(self, v: T) -> Selfwhere
T: Into<AllocationSpecificSKUReservation>,
pub fn set_specific_reservation<T>(self, v: T) -> Selfwhere
T: Into<AllocationSpecificSKUReservation>,
Sets the value of specific_reservation.
§Example
use google_cloud_compute_v1::model::AllocationSpecificSKUReservation;
let x = Reservation::new().set_specific_reservation(AllocationSpecificSKUReservation::default()/* use setters */);Sourcepub fn set_or_clear_specific_reservation<T>(self, v: Option<T>) -> Selfwhere
T: Into<AllocationSpecificSKUReservation>,
pub fn set_or_clear_specific_reservation<T>(self, v: Option<T>) -> Selfwhere
T: Into<AllocationSpecificSKUReservation>,
Sets or clears the value of specific_reservation.
§Example
use google_cloud_compute_v1::model::AllocationSpecificSKUReservation;
let x = Reservation::new().set_or_clear_specific_reservation(Some(AllocationSpecificSKUReservation::default()/* use setters */));
let x = Reservation::new().set_or_clear_specific_reservation(None::<AllocationSpecificSKUReservation>);Sourcepub fn set_specific_reservation_required<T>(self, v: T) -> Self
pub fn set_specific_reservation_required<T>(self, v: T) -> Self
Sets the value of specific_reservation_required.
§Example
let x = Reservation::new().set_specific_reservation_required(true);Sourcepub fn set_or_clear_specific_reservation_required<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_specific_reservation_required<T>(self, v: Option<T>) -> Self
Sets or clears the value of specific_reservation_required.
§Example
let x = Reservation::new().set_or_clear_specific_reservation_required(Some(false));
let x = Reservation::new().set_or_clear_specific_reservation_required(None::<bool>);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::reservation::Status;
let x0 = Reservation::new().set_or_clear_status(Some(Status::Deleting));
let x1 = Reservation::new().set_or_clear_status(Some(Status::Invalid));
let x2 = Reservation::new().set_or_clear_status(Some(Status::Ready));
let x_none = Reservation::new().set_or_clear_status(None::<Status>);Trait Implementations§
Source§impl Clone for Reservation
impl Clone for Reservation
Source§fn clone(&self) -> Reservation
fn clone(&self) -> Reservation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more