#[non_exhaustive]pub struct OSPolicyAssignment {Show 13 fields
pub name: String,
pub description: String,
pub os_policies: Vec<OSPolicy>,
pub instance_filter: Option<InstanceFilter>,
pub rollout: Option<Rollout>,
pub revision_id: String,
pub revision_create_time: Option<Timestamp>,
pub etag: String,
pub rollout_state: RolloutState,
pub baseline: bool,
pub deleted: bool,
pub reconciling: bool,
pub uid: String,
/* private fields */
}Expand description
OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances.
An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script.
For more information, see OS policy and OS policy assignment.
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.name: StringResource name.
Format:
projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}
This field is ignored when you create an OS policy assignment.
description: StringOS policy assignment description. Length of the description is limited to 1024 characters.
os_policies: Vec<OSPolicy>Required. List of OS policies to be applied to the VMs.
instance_filter: Option<InstanceFilter>Required. Filter to select VMs.
rollout: Option<Rollout>Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations:
- OSPolicyAssignment is created.
- OSPolicyAssignment is updated and the update contains changes to one of
the following fields:
- instance_filter
- os_policies
- OSPolicyAssignment is deleted.
revision_id: StringOutput only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment
revision_create_time: Option<Timestamp>Output only. The timestamp that the revision was created.
etag: StringThe etag for this OS policy assignment. If this is provided on update, it must match the server’s etag.
rollout_state: RolloutStateOutput only. OS policy assignment rollout state
baseline: boolOutput only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision.
For a given OS policy assignment, there is only one revision with a value
of true for this field.
deleted: boolOutput only. Indicates that this revision deletes the OS policy assignment.
reconciling: boolOutput only. Indicates that reconciliation is in progress for the revision.
This value is true when the rollout_state is one of:
- IN_PROGRESS
- CANCELLING
uid: StringOutput only. Server generated unique id for the OS policy assignment resource.
Implementations§
Source§impl OSPolicyAssignment
impl OSPolicyAssignment
Sourcepub fn set_description<T: Into<String>>(self, v: T) -> Self
pub fn set_description<T: Into<String>>(self, v: T) -> Self
Sets the value of description.
§Example
let x = OSPolicyAssignment::new().set_description("example");Sourcepub fn set_os_policies<T, V>(self, v: T) -> Self
pub fn set_os_policies<T, V>(self, v: T) -> Self
Sets the value of os_policies.
§Example
use google_cloud_osconfig_v1::model::OSPolicy;
let x = OSPolicyAssignment::new()
.set_os_policies([
OSPolicy::default()/* use setters */,
OSPolicy::default()/* use (different) setters */,
]);Sourcepub fn set_instance_filter<T>(self, v: T) -> Selfwhere
T: Into<InstanceFilter>,
pub fn set_instance_filter<T>(self, v: T) -> Selfwhere
T: Into<InstanceFilter>,
Sets the value of instance_filter.
§Example
use google_cloud_osconfig_v1::model::os_policy_assignment::InstanceFilter;
let x = OSPolicyAssignment::new().set_instance_filter(InstanceFilter::default()/* use setters */);Sourcepub fn set_or_clear_instance_filter<T>(self, v: Option<T>) -> Selfwhere
T: Into<InstanceFilter>,
pub fn set_or_clear_instance_filter<T>(self, v: Option<T>) -> Selfwhere
T: Into<InstanceFilter>,
Sets or clears the value of instance_filter.
§Example
use google_cloud_osconfig_v1::model::os_policy_assignment::InstanceFilter;
let x = OSPolicyAssignment::new().set_or_clear_instance_filter(Some(InstanceFilter::default()/* use setters */));
let x = OSPolicyAssignment::new().set_or_clear_instance_filter(None::<InstanceFilter>);Sourcepub fn set_rollout<T>(self, v: T) -> Self
pub fn set_rollout<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_rollout<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_rollout<T>(self, v: Option<T>) -> Self
Sourcepub fn set_revision_id<T: Into<String>>(self, v: T) -> Self
pub fn set_revision_id<T: Into<String>>(self, v: T) -> Self
Sets the value of revision_id.
§Example
let x = OSPolicyAssignment::new().set_revision_id("example");Sourcepub fn set_revision_create_time<T>(self, v: T) -> Self
pub fn set_revision_create_time<T>(self, v: T) -> Self
Sets the value of revision_create_time.
§Example
use wkt::Timestamp;
let x = OSPolicyAssignment::new().set_revision_create_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_revision_create_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_revision_create_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of revision_create_time.
§Example
use wkt::Timestamp;
let x = OSPolicyAssignment::new().set_or_clear_revision_create_time(Some(Timestamp::default()/* use setters */));
let x = OSPolicyAssignment::new().set_or_clear_revision_create_time(None::<Timestamp>);Sourcepub fn set_rollout_state<T: Into<RolloutState>>(self, v: T) -> Self
pub fn set_rollout_state<T: Into<RolloutState>>(self, v: T) -> Self
Sets the value of rollout_state.
§Example
use google_cloud_osconfig_v1::model::os_policy_assignment::RolloutState;
let x0 = OSPolicyAssignment::new().set_rollout_state(RolloutState::InProgress);
let x1 = OSPolicyAssignment::new().set_rollout_state(RolloutState::Cancelling);
let x2 = OSPolicyAssignment::new().set_rollout_state(RolloutState::Cancelled);Sourcepub fn set_baseline<T: Into<bool>>(self, v: T) -> Self
pub fn set_baseline<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_deleted<T: Into<bool>>(self, v: T) -> Self
pub fn set_deleted<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_reconciling<T: Into<bool>>(self, v: T) -> Self
pub fn set_reconciling<T: Into<bool>>(self, v: T) -> Self
Trait Implementations§
Source§impl Clone for OSPolicyAssignment
impl Clone for OSPolicyAssignment
Source§fn clone(&self) -> OSPolicyAssignment
fn clone(&self) -> OSPolicyAssignment
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 OSPolicyAssignment
impl Debug for OSPolicyAssignment
Source§impl Default for OSPolicyAssignment
impl Default for OSPolicyAssignment
Source§fn default() -> OSPolicyAssignment
fn default() -> OSPolicyAssignment
Source§impl Message for OSPolicyAssignment
impl Message for OSPolicyAssignment
Source§impl PartialEq for OSPolicyAssignment
impl PartialEq for OSPolicyAssignment
impl StructuralPartialEq for OSPolicyAssignment
Auto Trait Implementations§
impl Freeze for OSPolicyAssignment
impl RefUnwindSafe for OSPolicyAssignment
impl Send for OSPolicyAssignment
impl Sync for OSPolicyAssignment
impl Unpin for OSPolicyAssignment
impl UnsafeUnpin for OSPolicyAssignment
impl UnwindSafe for OSPolicyAssignment
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