Struct gapi_grpc::google::cloud::osconfig::v1::PatchRollout[][src]

pub struct PatchRollout {
    pub mode: i32,
    pub disruption_budget: Option<FixedOrPercent>,
}

Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs.

Fields

mode: i32

Mode of the patch rollout.

disruption_budget: Option<FixedOrPercent>

The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up.

During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps.

A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget.

For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone.

For example, if the disruption budget has a fixed value of 10, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops.

Implementations

impl PatchRollout[src]

pub fn mode(&self) -> Mode[src]

Returns the enum value of mode, or the default if the field is set to an invalid enum value.

pub fn set_mode(&mut self, value: Mode)[src]

Sets mode to the provided enum value.

Trait Implementations

impl Clone for PatchRollout[src]

impl Debug for PatchRollout[src]

impl Default for PatchRollout[src]

impl Message for PatchRollout[src]

impl PartialEq<PatchRollout> for PatchRollout[src]

impl StructuralPartialEq for PatchRollout[src]

Auto Trait Implementations

impl RefUnwindSafe for PatchRollout

impl Send for PatchRollout

impl Sync for PatchRollout

impl Unpin for PatchRollout

impl UnwindSafe for PatchRollout

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoRequest<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]

impl<T> WithSubscriber for T[src]