Skip to main content

Reservation

Struct Reservation 

Source
#[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 */
}
Available on crate features 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
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.
§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.

§share_settings: Option<ShareSettings>

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

Source

pub fn new() -> Self

Source

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

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 */);
Source

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

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>);
Source

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

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 */);
Source

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

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>);
Source

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

Sets the value of commitment.

§Example
let x = Reservation::new().set_commitment("example");
Source

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

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>);
Source

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

Sets the value of creation_timestamp.

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

pub fn set_delete_after_duration<T>(self, v: T) -> Self
where T: Into<Duration>,

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 */);
Source

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

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>);
Source

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

Sets the value of delete_at_time.

§Example
let x = Reservation::new().set_delete_at_time("example");
Source

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

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>);
Source

pub fn set_deployment_type<T>(self, v: T) -> Self
where 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);
Source

pub fn set_or_clear_deployment_type<T>(self, v: Option<T>) -> Self
where 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>);
Source

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

Sets the value of description.

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

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

Sets the value of enable_emergent_maintenance.

§Example
let x = Reservation::new().set_enable_emergent_maintenance(true);
Source

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

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>);
Source

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

Sets the value of id.

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

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

Sets the value of linked_commitments.

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

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

Sets the value of name.

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

pub fn set_protection_tier<T>(self, v: T) -> Self
where 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);
Source

pub fn set_or_clear_protection_tier<T>(self, v: Option<T>) -> Self
where 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>);
Source

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

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 */);
Source

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

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>);
Source

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

Sets the value of resource_policies.

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

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

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 */);
Source

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

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>);
Source

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

Sets the value of satisfies_pzs.

§Example
let x = Reservation::new().set_satisfies_pzs(true);
Source

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

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>);
Source

pub fn set_scheduling_type<T>(self, v: T) -> Self
where 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);
Source

pub fn set_or_clear_scheduling_type<T>(self, v: Option<T>) -> Self
where 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>);

Sets the value of self_link.

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

Sets or clears the value of self_link.

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

pub fn set_share_settings<T>(self, v: T) -> Self
where T: Into<ShareSettings>,

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 */);
Source

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

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>);
Source

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

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 */);
Source

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

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>);
Source

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

Sets the value of specific_reservation_required.

§Example
let x = Reservation::new().set_specific_reservation_required(true);
Source

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

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>);
Source

pub fn set_status<T>(self, v: T) -> Self
where T: Into<Status>,

Sets the value of status.

§Example
use google_cloud_compute_v1::model::reservation::Status;
let x0 = Reservation::new().set_status(Status::Deleting);
let x1 = Reservation::new().set_status(Status::Invalid);
let x2 = Reservation::new().set_status(Status::Ready);
Source

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

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>);
Source

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

Sets the value of zone.

§Example
let x = Reservation::new().set_zone("example");
Source

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

Sets or clears the value of zone.

§Example
let x = Reservation::new().set_or_clear_zone(Some("example"));
let x = Reservation::new().set_or_clear_zone(None::<String>);

Trait Implementations§

Source§

impl Clone for Reservation

Source§

fn clone(&self) -> Reservation

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 Reservation

Source§

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

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

impl Default for Reservation

Source§

fn default() -> Reservation

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

impl Message for Reservation

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for Reservation

Source§

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

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