Skip to main content

Projects

Struct Projects 

Source
pub struct Projects { /* private fields */ }
Available on crate feature projects only.
Expand description

Implements a client for the Google Compute Engine API.

§Example

let client = Projects::builder().build().await?;
// use `client` to make requests to the Google Compute Engine API.

§Service Description

Service for the projects resource.

§Configuration

To configure Projects 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://compute.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

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

Implementations§

Source§

impl Projects

Source

pub fn builder() -> ClientBuilder

Returns a builder for Projects.

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

pub fn from_stub<T>(stub: T) -> Self
where T: Projects + '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 disable_xpn_host(&self) -> DisableXpnHost

Disable this project as a shared VPC host project.

Source

pub fn disable_xpn_resource(&self) -> DisableXpnResource

Disable a service resource (also known as service project) associated with this host project.

Source

pub fn enable_xpn_host(&self) -> EnableXpnHost

Enable this project as a shared VPC host project.

Source

pub fn enable_xpn_resource(&self) -> EnableXpnResource

Enable service resource (a.k.a service project) for a host project, so that subnets in the host project can be used by instances in the service project.

Source

pub fn get(&self) -> Get

Returns the specified Project resource.

To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the quotas field). To exclude one or more fields, set your request’s fields query parameter to only include the fields you need. For example, to only include the id and selfLink fields, add the query parameter ?fields=id,selfLink to your request.

Source

pub fn get_xpn_host(&self) -> GetXpnHost

Gets the shared VPC host project that this project links to. May be empty if no link exists.

Source

pub fn get_xpn_resources(&self) -> GetXpnResources

Gets service resources (a.k.a service project) associated with this host project.

Source

pub fn list_xpn_hosts(&self) -> ListXpnHosts

Lists all shared VPC host projects visible to the user in an organization.

Source

pub fn move_disk(&self) -> MoveDisk

👎Deprecated

Moves a persistent disk from one zone to another. Note: The moveDisk API will be deprecated on September 29, 2026.

Starting September 29, 2025, you can’t use the moveDisk API on new projects. To move a disk to a different region or zone, follow the steps in Change the location of a disk.

Projects that already use the moveDisk API can continue usage until September 29, 2026.

Starting November 1, 2025, API responses will include a warning message in the response body about the upcoming deprecation. You can skip the message to continue using the service without interruption.

Source

pub fn move_instance(&self) -> MoveInstance

👎Deprecated

Moves an instance and its attached persistent disks from one zone to another. Note: Moving VMs or disks by using this method might cause unexpected behavior. For more information, see the known issue. [Deprecated] This method is deprecated. See moving instance across zones instead.

Source

pub fn set_cloud_armor_tier(&self) -> SetCloudArmorTier

Sets the Cloud Armor tier of the project. To set ENTERPRISE or above the billing account of the project must be subscribed to Cloud Armor Enterprise. See Subscribing to Cloud Armor Enterprise for more information.

Source

pub fn set_common_instance_metadata(&self) -> SetCommonInstanceMetadata

Sets metadata common to all instances within the specified project using the data included in the request.

Source

pub fn set_default_network_tier(&self) -> SetDefaultNetworkTier

Sets the default network tier of the project. The default network tier is used when an address/forwardingRule/instance is created without specifying the network tier field.

Source

pub fn set_usage_export_bucket(&self) -> SetUsageExportBucket

Enables the usage export feature and sets theusage export bucket where reports are stored. If you provide an empty request body using this method, the usage export feature will be disabled.

Source

pub fn get_operation(&self) -> GetOperation

Retrieves the specified Operations resource.

Trait Implementations§

Source§

impl Clone for Projects

Source§

fn clone(&self) -> Projects

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 Projects

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