google_cloud_baremetalsolution_v2/client.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#![allow(rustdoc::redundant_explicit_links)]
17#![allow(rustdoc::broken_intra_doc_links)]
18
19/// Implements a client for the Bare Metal Solution API.
20///
21/// # Example
22/// ```
23/// # async fn sample() -> google_cloud_gax::client_builder::Result<()> {
24/// # use google_cloud_baremetalsolution_v2::client::BareMetalSolution;
25/// let client = BareMetalSolution::builder().build().await?;
26/// // use `client` to make requests to the Bare Metal Solution API.
27/// # Ok(()) }
28/// ```
29///
30/// # Service Description
31///
32/// Performs management operations on Bare Metal Solution servers.
33///
34/// The `baremetalsolution.googleapis.com` service provides management
35/// capabilities for Bare Metal Solution servers. To access the API methods, you
36/// must assign Bare Metal Solution IAM roles containing the desired permissions
37/// to your staff in your Google Cloud project. You must also enable the Bare
38/// Metal Solution API. Once enabled, the methods act
39/// upon specific servers in your Bare Metal Solution environment.
40///
41/// # Configuration
42///
43/// To configure `BareMetalSolution` use the `with_*` methods in the type returned
44/// by [builder()][BareMetalSolution::builder]. The default configuration should
45/// work for most applications. Common configuration changes include
46///
47/// * [with_endpoint()]: by default this client uses the global default endpoint
48/// (`https://baremetalsolution.googleapis.com`). Applications using regional
49/// endpoints or running in restricted networks (e.g. a network configured
50// with [Private Google Access with VPC Service Controls]) may want to
51/// override this default.
52/// * [with_credentials()]: by default this client uses
53/// [Application Default Credentials]. Applications using custom
54/// authentication may need to override this default.
55///
56/// [with_endpoint()]: super::builder::bare_metal_solution::ClientBuilder::with_endpoint
57/// [with_credentials()]: super::builder::bare_metal_solution::ClientBuilder::credentials
58/// [Private Google Access with VPC Service Controls]: https://cloud.google.com/vpc-service-controls/docs/private-connectivity
59/// [Application Default Credentials]: https://cloud.google.com/docs/authentication#adc
60///
61/// # Pooling and Cloning
62///
63/// `BareMetalSolution` holds a connection pool internally, it is advised to
64/// create one and the reuse it. You do not need to wrap `BareMetalSolution` in
65/// an [Rc](std::rc::Rc) or [Arc](std::sync::Arc) to reuse it, because it
66/// already uses an `Arc` internally.
67#[derive(Clone, Debug)]
68pub struct BareMetalSolution {
69 inner: std::sync::Arc<dyn super::stub::dynamic::BareMetalSolution>,
70}
71
72impl BareMetalSolution {
73 /// Returns a builder for [BareMetalSolution].
74 ///
75 /// ```
76 /// # async fn sample() -> google_cloud_gax::client_builder::Result<()> {
77 /// # use google_cloud_baremetalsolution_v2::client::BareMetalSolution;
78 /// let client = BareMetalSolution::builder().build().await?;
79 /// # Ok(()) }
80 /// ```
81 pub fn builder() -> super::builder::bare_metal_solution::ClientBuilder {
82 crate::new_client_builder(super::builder::bare_metal_solution::client::Factory)
83 }
84
85 /// Creates a new client from the provided stub.
86 ///
87 /// The most common case for calling this function is in tests mocking the
88 /// client's behavior.
89 pub fn from_stub<T>(stub: T) -> Self
90 where
91 T: super::stub::BareMetalSolution + 'static,
92 {
93 Self {
94 inner: std::sync::Arc::new(stub),
95 }
96 }
97
98 pub(crate) async fn new(
99 config: gaxi::options::ClientConfig,
100 ) -> crate::ClientBuilderResult<Self> {
101 let inner = Self::build_inner(config).await?;
102 Ok(Self { inner })
103 }
104
105 async fn build_inner(
106 conf: gaxi::options::ClientConfig,
107 ) -> crate::ClientBuilderResult<std::sync::Arc<dyn super::stub::dynamic::BareMetalSolution>>
108 {
109 if gaxi::options::tracing_enabled(&conf) {
110 return Ok(std::sync::Arc::new(Self::build_with_tracing(conf).await?));
111 }
112 Ok(std::sync::Arc::new(Self::build_transport(conf).await?))
113 }
114
115 async fn build_transport(
116 conf: gaxi::options::ClientConfig,
117 ) -> crate::ClientBuilderResult<impl super::stub::BareMetalSolution> {
118 super::transport::BareMetalSolution::new(conf).await
119 }
120
121 async fn build_with_tracing(
122 conf: gaxi::options::ClientConfig,
123 ) -> crate::ClientBuilderResult<impl super::stub::BareMetalSolution> {
124 Self::build_transport(conf)
125 .await
126 .map(super::tracing::BareMetalSolution::new)
127 }
128
129 /// List servers in a given project and location.
130 pub fn list_instances(&self) -> super::builder::bare_metal_solution::ListInstances {
131 super::builder::bare_metal_solution::ListInstances::new(self.inner.clone())
132 }
133
134 /// Get details about a single server.
135 pub fn get_instance(&self) -> super::builder::bare_metal_solution::GetInstance {
136 super::builder::bare_metal_solution::GetInstance::new(self.inner.clone())
137 }
138
139 /// Update details of a single server.
140 ///
141 /// # Long running operations
142 ///
143 /// This method is used to start, and/or poll a [long-running Operation].
144 /// The [Working with long-running operations] chapter in the [user guide]
145 /// covers these operations in detail.
146 ///
147 /// [long-running operation]: https://google.aip.dev/151
148 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
149 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
150 pub fn update_instance(&self) -> super::builder::bare_metal_solution::UpdateInstance {
151 super::builder::bare_metal_solution::UpdateInstance::new(self.inner.clone())
152 }
153
154 /// RenameInstance sets a new name for an instance.
155 /// Use with caution, previous names become immediately invalidated.
156 pub fn rename_instance(&self) -> super::builder::bare_metal_solution::RenameInstance {
157 super::builder::bare_metal_solution::RenameInstance::new(self.inner.clone())
158 }
159
160 /// Perform an ungraceful, hard reset on a server. Equivalent to shutting the
161 /// power off and then turning it back on.
162 ///
163 /// # Long running operations
164 ///
165 /// This method is used to start, and/or poll a [long-running Operation].
166 /// The [Working with long-running operations] chapter in the [user guide]
167 /// covers these operations in detail.
168 ///
169 /// [long-running operation]: https://google.aip.dev/151
170 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
171 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
172 pub fn reset_instance(&self) -> super::builder::bare_metal_solution::ResetInstance {
173 super::builder::bare_metal_solution::ResetInstance::new(self.inner.clone())
174 }
175
176 /// Starts a server that was shutdown.
177 ///
178 /// # Long running operations
179 ///
180 /// This method is used to start, and/or poll a [long-running Operation].
181 /// The [Working with long-running operations] chapter in the [user guide]
182 /// covers these operations in detail.
183 ///
184 /// [long-running operation]: https://google.aip.dev/151
185 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
186 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
187 pub fn start_instance(&self) -> super::builder::bare_metal_solution::StartInstance {
188 super::builder::bare_metal_solution::StartInstance::new(self.inner.clone())
189 }
190
191 /// Stop a running server.
192 ///
193 /// # Long running operations
194 ///
195 /// This method is used to start, and/or poll a [long-running Operation].
196 /// The [Working with long-running operations] chapter in the [user guide]
197 /// covers these operations in detail.
198 ///
199 /// [long-running operation]: https://google.aip.dev/151
200 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
201 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
202 pub fn stop_instance(&self) -> super::builder::bare_metal_solution::StopInstance {
203 super::builder::bare_metal_solution::StopInstance::new(self.inner.clone())
204 }
205
206 /// Enable the interactive serial console feature on an instance.
207 ///
208 /// # Long running operations
209 ///
210 /// This method is used to start, and/or poll a [long-running Operation].
211 /// The [Working with long-running operations] chapter in the [user guide]
212 /// covers these operations in detail.
213 ///
214 /// [long-running operation]: https://google.aip.dev/151
215 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
216 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
217 pub fn enable_interactive_serial_console(
218 &self,
219 ) -> super::builder::bare_metal_solution::EnableInteractiveSerialConsole {
220 super::builder::bare_metal_solution::EnableInteractiveSerialConsole::new(self.inner.clone())
221 }
222
223 /// Disable the interactive serial console feature on an instance.
224 ///
225 /// # Long running operations
226 ///
227 /// This method is used to start, and/or poll a [long-running Operation].
228 /// The [Working with long-running operations] chapter in the [user guide]
229 /// covers these operations in detail.
230 ///
231 /// [long-running operation]: https://google.aip.dev/151
232 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
233 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
234 pub fn disable_interactive_serial_console(
235 &self,
236 ) -> super::builder::bare_metal_solution::DisableInteractiveSerialConsole {
237 super::builder::bare_metal_solution::DisableInteractiveSerialConsole::new(
238 self.inner.clone(),
239 )
240 }
241
242 /// Detach LUN from Instance.
243 ///
244 /// # Long running operations
245 ///
246 /// This method is used to start, and/or poll a [long-running Operation].
247 /// The [Working with long-running operations] chapter in the [user guide]
248 /// covers these operations in detail.
249 ///
250 /// [long-running operation]: https://google.aip.dev/151
251 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
252 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
253 pub fn detach_lun(&self) -> super::builder::bare_metal_solution::DetachLun {
254 super::builder::bare_metal_solution::DetachLun::new(self.inner.clone())
255 }
256
257 /// Lists the public SSH keys registered for the specified project.
258 /// These SSH keys are used only for the interactive serial console feature.
259 pub fn list_ssh_keys(&self) -> super::builder::bare_metal_solution::ListSSHKeys {
260 super::builder::bare_metal_solution::ListSSHKeys::new(self.inner.clone())
261 }
262
263 /// Register a public SSH key in the specified project for use with the
264 /// interactive serial console feature.
265 pub fn create_ssh_key(&self) -> super::builder::bare_metal_solution::CreateSSHKey {
266 super::builder::bare_metal_solution::CreateSSHKey::new(self.inner.clone())
267 }
268
269 /// Deletes a public SSH key registered in the specified project.
270 pub fn delete_ssh_key(&self) -> super::builder::bare_metal_solution::DeleteSSHKey {
271 super::builder::bare_metal_solution::DeleteSSHKey::new(self.inner.clone())
272 }
273
274 /// List storage volumes in a given project and location.
275 pub fn list_volumes(&self) -> super::builder::bare_metal_solution::ListVolumes {
276 super::builder::bare_metal_solution::ListVolumes::new(self.inner.clone())
277 }
278
279 /// Get details of a single storage volume.
280 pub fn get_volume(&self) -> super::builder::bare_metal_solution::GetVolume {
281 super::builder::bare_metal_solution::GetVolume::new(self.inner.clone())
282 }
283
284 /// Update details of a single storage volume.
285 ///
286 /// # Long running operations
287 ///
288 /// This method is used to start, and/or poll a [long-running Operation].
289 /// The [Working with long-running operations] chapter in the [user guide]
290 /// covers these operations in detail.
291 ///
292 /// [long-running operation]: https://google.aip.dev/151
293 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
294 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
295 pub fn update_volume(&self) -> super::builder::bare_metal_solution::UpdateVolume {
296 super::builder::bare_metal_solution::UpdateVolume::new(self.inner.clone())
297 }
298
299 /// RenameVolume sets a new name for a volume.
300 /// Use with caution, previous names become immediately invalidated.
301 pub fn rename_volume(&self) -> super::builder::bare_metal_solution::RenameVolume {
302 super::builder::bare_metal_solution::RenameVolume::new(self.inner.clone())
303 }
304
305 /// Skips volume's cooloff and deletes it now.
306 /// Volume must be in cooloff state.
307 ///
308 /// # Long running operations
309 ///
310 /// This method is used to start, and/or poll a [long-running Operation].
311 /// The [Working with long-running operations] chapter in the [user guide]
312 /// covers these operations in detail.
313 ///
314 /// [long-running operation]: https://google.aip.dev/151
315 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
316 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
317 pub fn evict_volume(&self) -> super::builder::bare_metal_solution::EvictVolume {
318 super::builder::bare_metal_solution::EvictVolume::new(self.inner.clone())
319 }
320
321 /// Emergency Volume resize.
322 ///
323 /// # Long running operations
324 ///
325 /// This method is used to start, and/or poll a [long-running Operation].
326 /// The [Working with long-running operations] chapter in the [user guide]
327 /// covers these operations in detail.
328 ///
329 /// [long-running operation]: https://google.aip.dev/151
330 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
331 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
332 pub fn resize_volume(&self) -> super::builder::bare_metal_solution::ResizeVolume {
333 super::builder::bare_metal_solution::ResizeVolume::new(self.inner.clone())
334 }
335
336 /// List network in a given project and location.
337 pub fn list_networks(&self) -> super::builder::bare_metal_solution::ListNetworks {
338 super::builder::bare_metal_solution::ListNetworks::new(self.inner.clone())
339 }
340
341 /// List all Networks (and used IPs for each Network) in the vendor account
342 /// associated with the specified project.
343 pub fn list_network_usage(&self) -> super::builder::bare_metal_solution::ListNetworkUsage {
344 super::builder::bare_metal_solution::ListNetworkUsage::new(self.inner.clone())
345 }
346
347 /// Get details of a single network.
348 pub fn get_network(&self) -> super::builder::bare_metal_solution::GetNetwork {
349 super::builder::bare_metal_solution::GetNetwork::new(self.inner.clone())
350 }
351
352 /// Update details of a single network.
353 ///
354 /// # Long running operations
355 ///
356 /// This method is used to start, and/or poll a [long-running Operation].
357 /// The [Working with long-running operations] chapter in the [user guide]
358 /// covers these operations in detail.
359 ///
360 /// [long-running operation]: https://google.aip.dev/151
361 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
362 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
363 pub fn update_network(&self) -> super::builder::bare_metal_solution::UpdateNetwork {
364 super::builder::bare_metal_solution::UpdateNetwork::new(self.inner.clone())
365 }
366
367 /// Takes a snapshot of a boot volume.
368 /// Returns INVALID_ARGUMENT if called for a non-boot volume.
369 pub fn create_volume_snapshot(
370 &self,
371 ) -> super::builder::bare_metal_solution::CreateVolumeSnapshot {
372 super::builder::bare_metal_solution::CreateVolumeSnapshot::new(self.inner.clone())
373 }
374
375 /// Uses the specified snapshot to restore its parent volume.
376 /// Returns INVALID_ARGUMENT if called for a non-boot volume.
377 ///
378 /// # Long running operations
379 ///
380 /// This method is used to start, and/or poll a [long-running Operation].
381 /// The [Working with long-running operations] chapter in the [user guide]
382 /// covers these operations in detail.
383 ///
384 /// [long-running operation]: https://google.aip.dev/151
385 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
386 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
387 pub fn restore_volume_snapshot(
388 &self,
389 ) -> super::builder::bare_metal_solution::RestoreVolumeSnapshot {
390 super::builder::bare_metal_solution::RestoreVolumeSnapshot::new(self.inner.clone())
391 }
392
393 /// Deletes a volume snapshot.
394 /// Returns INVALID_ARGUMENT if called for a non-boot volume.
395 pub fn delete_volume_snapshot(
396 &self,
397 ) -> super::builder::bare_metal_solution::DeleteVolumeSnapshot {
398 super::builder::bare_metal_solution::DeleteVolumeSnapshot::new(self.inner.clone())
399 }
400
401 /// Returns the specified snapshot resource.
402 /// Returns INVALID_ARGUMENT if called for a non-boot volume.
403 pub fn get_volume_snapshot(&self) -> super::builder::bare_metal_solution::GetVolumeSnapshot {
404 super::builder::bare_metal_solution::GetVolumeSnapshot::new(self.inner.clone())
405 }
406
407 /// Retrieves the list of snapshots for the specified volume.
408 /// Returns a response with an empty list of snapshots if called
409 /// for a non-boot volume.
410 pub fn list_volume_snapshots(
411 &self,
412 ) -> super::builder::bare_metal_solution::ListVolumeSnapshots {
413 super::builder::bare_metal_solution::ListVolumeSnapshots::new(self.inner.clone())
414 }
415
416 /// Get details of a single storage logical unit number(LUN).
417 pub fn get_lun(&self) -> super::builder::bare_metal_solution::GetLun {
418 super::builder::bare_metal_solution::GetLun::new(self.inner.clone())
419 }
420
421 /// List storage volume luns for given storage volume.
422 pub fn list_luns(&self) -> super::builder::bare_metal_solution::ListLuns {
423 super::builder::bare_metal_solution::ListLuns::new(self.inner.clone())
424 }
425
426 /// Skips lun's cooloff and deletes it now.
427 /// Lun must be in cooloff state.
428 ///
429 /// # Long running operations
430 ///
431 /// This method is used to start, and/or poll a [long-running Operation].
432 /// The [Working with long-running operations] chapter in the [user guide]
433 /// covers these operations in detail.
434 ///
435 /// [long-running operation]: https://google.aip.dev/151
436 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
437 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
438 pub fn evict_lun(&self) -> super::builder::bare_metal_solution::EvictLun {
439 super::builder::bare_metal_solution::EvictLun::new(self.inner.clone())
440 }
441
442 /// Get details of a single NFS share.
443 pub fn get_nfs_share(&self) -> super::builder::bare_metal_solution::GetNfsShare {
444 super::builder::bare_metal_solution::GetNfsShare::new(self.inner.clone())
445 }
446
447 /// List NFS shares.
448 pub fn list_nfs_shares(&self) -> super::builder::bare_metal_solution::ListNfsShares {
449 super::builder::bare_metal_solution::ListNfsShares::new(self.inner.clone())
450 }
451
452 /// Update details of a single NFS share.
453 ///
454 /// # Long running operations
455 ///
456 /// This method is used to start, and/or poll a [long-running Operation].
457 /// The [Working with long-running operations] chapter in the [user guide]
458 /// covers these operations in detail.
459 ///
460 /// [long-running operation]: https://google.aip.dev/151
461 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
462 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
463 pub fn update_nfs_share(&self) -> super::builder::bare_metal_solution::UpdateNfsShare {
464 super::builder::bare_metal_solution::UpdateNfsShare::new(self.inner.clone())
465 }
466
467 /// Create an NFS share.
468 ///
469 /// # Long running operations
470 ///
471 /// This method is used to start, and/or poll a [long-running Operation].
472 /// The [Working with long-running operations] chapter in the [user guide]
473 /// covers these operations in detail.
474 ///
475 /// [long-running operation]: https://google.aip.dev/151
476 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
477 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
478 pub fn create_nfs_share(&self) -> super::builder::bare_metal_solution::CreateNfsShare {
479 super::builder::bare_metal_solution::CreateNfsShare::new(self.inner.clone())
480 }
481
482 /// RenameNfsShare sets a new name for an nfsshare.
483 /// Use with caution, previous names become immediately invalidated.
484 pub fn rename_nfs_share(&self) -> super::builder::bare_metal_solution::RenameNfsShare {
485 super::builder::bare_metal_solution::RenameNfsShare::new(self.inner.clone())
486 }
487
488 /// Delete an NFS share. The underlying volume is automatically deleted.
489 ///
490 /// # Long running operations
491 ///
492 /// This method is used to start, and/or poll a [long-running Operation].
493 /// The [Working with long-running operations] chapter in the [user guide]
494 /// covers these operations in detail.
495 ///
496 /// [long-running operation]: https://google.aip.dev/151
497 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
498 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
499 pub fn delete_nfs_share(&self) -> super::builder::bare_metal_solution::DeleteNfsShare {
500 super::builder::bare_metal_solution::DeleteNfsShare::new(self.inner.clone())
501 }
502
503 /// List the budget details to provision resources on a given project.
504 pub fn list_provisioning_quotas(
505 &self,
506 ) -> super::builder::bare_metal_solution::ListProvisioningQuotas {
507 super::builder::bare_metal_solution::ListProvisioningQuotas::new(self.inner.clone())
508 }
509
510 /// Submit a provisiong configuration for a given project.
511 pub fn submit_provisioning_config(
512 &self,
513 ) -> super::builder::bare_metal_solution::SubmitProvisioningConfig {
514 super::builder::bare_metal_solution::SubmitProvisioningConfig::new(self.inner.clone())
515 }
516
517 /// Get ProvisioningConfig by name.
518 pub fn get_provisioning_config(
519 &self,
520 ) -> super::builder::bare_metal_solution::GetProvisioningConfig {
521 super::builder::bare_metal_solution::GetProvisioningConfig::new(self.inner.clone())
522 }
523
524 /// Create new ProvisioningConfig.
525 pub fn create_provisioning_config(
526 &self,
527 ) -> super::builder::bare_metal_solution::CreateProvisioningConfig {
528 super::builder::bare_metal_solution::CreateProvisioningConfig::new(self.inner.clone())
529 }
530
531 /// Update existing ProvisioningConfig.
532 pub fn update_provisioning_config(
533 &self,
534 ) -> super::builder::bare_metal_solution::UpdateProvisioningConfig {
535 super::builder::bare_metal_solution::UpdateProvisioningConfig::new(self.inner.clone())
536 }
537
538 /// RenameNetwork sets a new name for a network.
539 /// Use with caution, previous names become immediately invalidated.
540 pub fn rename_network(&self) -> super::builder::bare_metal_solution::RenameNetwork {
541 super::builder::bare_metal_solution::RenameNetwork::new(self.inner.clone())
542 }
543
544 /// Retrieves the list of OS images which are currently approved.
545 pub fn list_os_images(&self) -> super::builder::bare_metal_solution::ListOSImages {
546 super::builder::bare_metal_solution::ListOSImages::new(self.inner.clone())
547 }
548
549 /// Lists information about the supported locations for this service.
550 pub fn list_locations(&self) -> super::builder::bare_metal_solution::ListLocations {
551 super::builder::bare_metal_solution::ListLocations::new(self.inner.clone())
552 }
553
554 /// Gets information about a location.
555 pub fn get_location(&self) -> super::builder::bare_metal_solution::GetLocation {
556 super::builder::bare_metal_solution::GetLocation::new(self.inner.clone())
557 }
558
559 /// Provides the [Operations][google.longrunning.Operations] service functionality in this service.
560 ///
561 /// [google.longrunning.Operations]: google-cloud-longrunning::client::Operations
562 pub fn get_operation(&self) -> super::builder::bare_metal_solution::GetOperation {
563 super::builder::bare_metal_solution::GetOperation::new(self.inner.clone())
564 }
565}