google_cloud_compute_v1/lib.rs
1// Copyright 2025 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// Code generated by sidekick. DO NOT EDIT.
16
17//! Google Cloud Client Libraries for Rust - Google Compute Engine API
18//!
19//!
20//!
21//! This crate contains traits, types, and functions to interact with Google Compute Engine API
22//! Most applications will use the structs defined in the [client] module.
23//!
24//!
25//! The client library types and functions are stable and not expected to change.
26//! Please note that Google Cloud services do change from time to time. The client
27//! libraries are designed to preserve backwards compatibility when the service
28//! changes in compatible ways. For example, adding RPCs, or fields to messages
29//! should not introduce breaking changes to the client libraries.
30//!
31//!
32//! # Available Clients
33//!
34//! * [Images](client/struct.Images.html)
35//! * [InstanceGroupManagerResizeRequests](client/struct.InstanceGroupManagerResizeRequests.html)
36//! * [InstanceGroupManagers](client/struct.InstanceGroupManagers.html)
37//! * [InstanceGroups](client/struct.InstanceGroups.html)
38//! * [Instances](client/struct.Instances.html)
39//! * [MachineTypes](client/struct.MachineTypes.html)
40//! * [RegionInstanceGroupManagers](client/struct.RegionInstanceGroupManagers.html)
41//! * [RegionInstanceGroups](client/struct.RegionInstanceGroups.html)
42//! * [RegionInstanceTemplates](client/struct.RegionInstanceTemplates.html)
43//! * [RegionInstances](client/struct.RegionInstances.html)
44//! * [RegionOperations](client/struct.RegionOperations.html)
45//! * [ZoneOperations](client/struct.ZoneOperations.html)
46//! * [Zones](client/struct.Zones.html)
47
48#![cfg_attr(docsrs, feature(doc_cfg))]
49#![allow(deprecated)]
50
51/// The messages and enums that are part of this client library.
52#[allow(clippy::module_inception)]
53pub mod model;
54
55pub use gax::Result;
56pub use gax::error::Error;
57
58#[allow(rustdoc::invalid_html_tags)]
59#[allow(rustdoc::redundant_explicit_links)]
60pub mod stub;
61
62/// Concrete implementations of this client library traits.
63pub mod client;
64
65/// Request builders.
66pub mod builder;
67
68#[doc(hidden)]
69pub(crate) mod tracing;
70
71#[doc(hidden)]
72pub(crate) mod transport;
73
74/// The default host used by the service.
75#[cfg(any(
76 feature = "images",
77 feature = "instance-group-manager-resize-requests",
78 feature = "instance-group-managers",
79 feature = "instance-groups",
80 feature = "instances",
81 feature = "machine-types",
82 feature = "region-instance-group-managers",
83 feature = "region-instance-groups",
84 feature = "region-instance-templates",
85 feature = "region-instances",
86 feature = "region-operations",
87 feature = "zone-operations",
88 feature = "zones",
89))]
90const DEFAULT_HOST: &str = "https://compute.googleapis.com/";
91
92#[cfg(any(
93 feature = "images",
94 feature = "instance-group-manager-resize-requests",
95 feature = "instance-group-managers",
96 feature = "instance-groups",
97 feature = "instances",
98 feature = "machine-types",
99 feature = "region-instance-group-managers",
100 feature = "region-instance-groups",
101 feature = "region-instance-templates",
102 feature = "region-instances",
103 feature = "region-operations",
104 feature = "zone-operations",
105 feature = "zones",
106))]
107pub(crate) mod info {
108 const NAME: &str = env!("CARGO_PKG_NAME");
109 const VERSION: &str = env!("CARGO_PKG_VERSION");
110 lazy_static::lazy_static! {
111 pub(crate) static ref X_GOOG_API_CLIENT_HEADER: String = {
112 let ac = gaxi::api_header::XGoogApiClient{
113 name: NAME,
114 version: VERSION,
115 library_type: gaxi::api_header::GAPIC,
116 };
117 ac.rest_header_value()
118 };
119 }
120}