Skip to main content

OsConfigZonalService

Struct OsConfigZonalService 

Source
pub struct OsConfigZonalService { /* private fields */ }
Expand description

Implements a client for the OS Config API.

§Example

use google_cloud_gax::paginator::ItemPaginator as _;
    let client = OsConfigZonalService::builder().build().await?;
    let parent = "parent_value";
    let mut list = client.list_os_policy_assignments()
        .set_parent(parent)
        .by_item();
    while let Some(item) = list.next().await.transpose()? {
        println!("{:?}", item);
    }

§Service Description

Zonal OS Config API

The OS Config service is the server-side component that allows users to manage package installations and patch jobs for Compute Engine VM instances.

§Configuration

To configure OsConfigZonalService use the with_* methods in the type returned by builder(). The default configuration should work for most applications. Common configuration changes include

  • with_endpoint(): by default this client uses the global default endpoint (https://osconfig.googleapis.com). Applications using regional endpoints or running in restricted networks (e.g. a network configured override this default.
  • with_credentials(): by default this client uses Application Default Credentials. Applications using custom authentication may need to override this default.

§Pooling and Cloning

OsConfigZonalService holds a connection pool internally, it is advised to create one and reuse it. You do not need to wrap OsConfigZonalService in an Rc or Arc to reuse it, because it already uses an Arc internally.

Implementations§

Source§

impl OsConfigZonalService

Source

pub fn builder() -> ClientBuilder

Returns a builder for OsConfigZonalService.

let client = OsConfigZonalService::builder().build().await?;
Source

pub fn from_stub<T>(stub: T) -> Self
where T: OsConfigZonalService + 'static,

Creates a new client from the provided stub.

The most common case for calling this function is in tests mocking the client’s behavior.

Source

pub fn create_os_policy_assignment(&self) -> CreateOSPolicyAssignment

Create an OS policy assignment.

This method also creates the first revision of the OS policy assignment.

This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO.

For more information, see Method: projects.locations.osPolicyAssignments.operations.cancel.

§Long running operations

This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.

§Example
use google_cloud_lro::Poller;
use google_cloud_osconfig_v1::model::OSPolicyAssignment;
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService, parent: &str
) -> Result<()> {
    let response = client.create_os_policy_assignment()
        .set_parent(parent)
        .set_os_policy_assignment(
            OSPolicyAssignment::new()/* set fields */
        )
        .poller().until_done().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn update_os_policy_assignment(&self) -> UpdateOSPolicyAssignment

Update an existing OS policy assignment.

This method creates a new revision of the OS policy assignment.

This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO.

For more information, see Method: projects.locations.osPolicyAssignments.operations.cancel.

§Long running operations

This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.

§Example
use google_cloud_lro::Poller;
use google_cloud_wkt::FieldMask;
use google_cloud_osconfig_v1::model::OSPolicyAssignment;
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService, name: &str
) -> Result<()> {
    let response = client.update_os_policy_assignment()
        .set_os_policy_assignment(
            OSPolicyAssignment::new().set_name(name)/* set fields */
        )
        .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
        .poller().until_done().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn get_os_policy_assignment(&self) -> GetOSPolicyAssignment

Retrieve an existing OS policy assignment.

This method always returns the latest revision. In order to retrieve a previous revision of the assignment, also provide the revision ID in the name parameter.

§Example
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService, name: &str
) -> Result<()> {
    let response = client.get_os_policy_assignment()
        .set_name(name)
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn list_os_policy_assignments(&self) -> ListOSPolicyAssignments

List the OS policy assignments under the parent resource.

For each OS policy assignment, the latest revision is returned.

§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService, parent: &str
) -> Result<()> {
    let mut list = client.list_os_policy_assignments()
        .set_parent(parent)
        .by_item();
    while let Some(item) = list.next().await.transpose()? {
        println!("{:?}", item);
    }
    Ok(())
}
Source

pub fn list_os_policy_assignment_revisions( &self, ) -> ListOSPolicyAssignmentRevisions

List the OS policy assignment revisions for a given OS policy assignment.

§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService
) -> Result<()> {
    let mut list = client.list_os_policy_assignment_revisions()
        /* set fields */
        .by_item();
    while let Some(item) = list.next().await.transpose()? {
        println!("{:?}", item);
    }
    Ok(())
}
Source

pub fn delete_os_policy_assignment(&self) -> DeleteOSPolicyAssignment

Delete the OS policy assignment.

This method creates a new revision of the OS policy assignment.

This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO.

If the LRO completes and is not cancelled, all revisions associated with the OS policy assignment are deleted.

For more information, see Method: projects.locations.osPolicyAssignments.operations.cancel.

§Long running operations

This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.

§Example
use google_cloud_lro::Poller;
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService, name: &str
) -> Result<()> {
    client.delete_os_policy_assignment()
        .set_name(name)
        .poller().until_done().await?;
    Ok(())
}
Source

pub fn get_os_policy_assignment_report(&self) -> GetOSPolicyAssignmentReport

Get the OS policy asssignment report for the specified Compute Engine VM instance.

§Example
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService, name: &str
) -> Result<()> {
    let response = client.get_os_policy_assignment_report()
        .set_name(name)
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn list_os_policy_assignment_reports(&self) -> ListOSPolicyAssignmentReports

List OS policy asssignment reports for all Compute Engine VM instances in the specified zone.

§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService, parent: &str
) -> Result<()> {
    let mut list = client.list_os_policy_assignment_reports()
        .set_parent(parent)
        .by_item();
    while let Some(item) = list.next().await.transpose()? {
        println!("{:?}", item);
    }
    Ok(())
}
Source

pub fn get_inventory(&self) -> GetInventory

Get inventory data for the specified VM instance. If the VM has no associated inventory, the message NOT_FOUND is returned.

§Example
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService, name: &str
) -> Result<()> {
    let response = client.get_inventory()
        .set_name(name)
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn list_inventories(&self) -> ListInventories

List inventory data for all VM instances in the specified zone.

§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService, parent: &str
) -> Result<()> {
    let mut list = client.list_inventories()
        .set_parent(parent)
        .by_item();
    while let Some(item) = list.next().await.transpose()? {
        println!("{:?}", item);
    }
    Ok(())
}
Source

pub fn get_vulnerability_report(&self) -> GetVulnerabilityReport

Gets the vulnerability report for the specified VM instance. Only VMs with inventory data have vulnerability reports associated with them.

§Example
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService, name: &str
) -> Result<()> {
    let response = client.get_vulnerability_report()
        .set_name(name)
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn list_vulnerability_reports(&self) -> ListVulnerabilityReports

List vulnerability reports for all VM instances in the specified zone.

§Example
use google_cloud_gax::paginator::ItemPaginator as _;
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService, parent: &str
) -> Result<()> {
    let mut list = client.list_vulnerability_reports()
        .set_parent(parent)
        .by_item();
    while let Some(item) = list.next().await.transpose()? {
        println!("{:?}", item);
    }
    Ok(())
}
Source

pub fn get_operation(&self) -> GetOperation

Provides the Operations service functionality in this service.

§Example
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService
) -> Result<()> {
    let response = client.get_operation()
        /* set fields */
        .send().await?;
    println!("response {:?}", response);
    Ok(())
}
Source

pub fn cancel_operation(&self) -> CancelOperation

Provides the Operations service functionality in this service.

§Example
use google_cloud_osconfig_v1::Result;
async fn sample(
   client: &OsConfigZonalService
) -> Result<()> {
    client.cancel_operation()
        /* set fields */
        .send().await?;
    Ok(())
}

Trait Implementations§

Source§

impl Clone for OsConfigZonalService

Source§

fn clone(&self) -> OsConfigZonalService

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 OsConfigZonalService

Source§

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

Formats the value using the given formatter. Read more

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> Same for T

Source§

type Output = T

Should always be Self
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<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