google_cloud_osconfig_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 - OS Config API
18//!
19//! This crate contains traits, types, and functions to interact with OS Config API
20//! Most applications will use the structs defined in the [client] module.
21//!
22//! The client library types and functions are stable and not expected to change.
23//! Please note that Google Cloud services do change from time to time. The client
24//! libraries are designed to preserve backwards compatibility when the service
25//! changes in compatible ways. For example, adding RPCs, or fields to messages
26//! should not introduce breaking changes to the client libraries.
27//!
28//! # Available Clients
29//!
30//! * [OsConfigService](client/struct.OsConfigService.html)
31//! * [OsConfigZonalService](client/struct.OsConfigZonalService.html)
32//!
33//! # Features
34//!
35//! - `default-rustls-provider`: enabled by default. Use the default rustls
36//! crypto provider ([aws-lc-rs]) for TLS and authentication. Applications
37//! with specific requirements for cryptography (such as exclusively using the
38//! [ring] crate) should disable this default and call
39//! `rustls::crypto::CryptoProvider::install_default()`.
40//!
41//! [aws-lc-rs]: https://crates.io/crates/aws-lc-rs
42//! [ring]: https://crates.io/crates/ring
43
44#![allow(deprecated)]
45
46/// The messages and enums that are part of this client library.
47#[allow(clippy::module_inception)]
48pub mod model;
49
50pub use google_cloud_gax::Result;
51pub use google_cloud_gax::error::Error;
52
53#[allow(rustdoc::invalid_html_tags)]
54#[allow(rustdoc::redundant_explicit_links)]
55pub mod stub;
56
57///
58/// # Example
59/// ```
60/// # use google_cloud_osconfig_v1::client::OsConfigService;
61/// use google_cloud_gax::paginator::ItemPaginator as _;
62/// async fn sample(
63/// parent: &str,
64/// ) -> anyhow::Result<()> {
65/// let client = OsConfigService::builder().build().await?;
66/// let mut list = client.list_patch_jobs()
67/// .set_parent(parent)
68/// .by_item();
69/// while let Some(item) = list.next().await.transpose()? {
70/// println!("{:?}", item);
71/// }
72/// Ok(())
73/// }
74/// ```
75/// Concrete implementations of this client library traits.
76pub mod client;
77
78/// Request builders.
79pub mod builder;
80
81#[doc(hidden)]
82pub(crate) mod tracing;
83
84#[doc(hidden)]
85pub(crate) mod transport;
86
87/// The default host used by the service.
88const DEFAULT_HOST: &str = "https://osconfig.googleapis.com/";
89
90pub(crate) mod info {
91 const NAME: &str = env!("CARGO_PKG_NAME");
92 const VERSION: &str = env!("CARGO_PKG_VERSION");
93 pub(crate) static X_GOOG_API_CLIENT_HEADER: std::sync::LazyLock<String> =
94 std::sync::LazyLock::new(|| {
95 let ac = gaxi::api_header::XGoogApiClient {
96 name: NAME,
97 version: VERSION,
98 library_type: gaxi::api_header::GAPIC,
99 };
100 ac.rest_header_value()
101 });
102}
103
104// Define some shortcuts for imported crates.
105pub(crate) use google_cloud_gax::client_builder::ClientBuilder;
106pub(crate) use google_cloud_gax::client_builder::Result as ClientBuilderResult;
107pub(crate) use google_cloud_gax::client_builder::internal::ClientFactory;
108pub(crate) use google_cloud_gax::client_builder::internal::new_builder as new_client_builder;
109pub(crate) use google_cloud_gax::options::RequestOptions;
110pub(crate) use google_cloud_gax::options::internal::RequestBuilder;
111pub(crate) use google_cloud_gax::response::Response;