google_cloud_vmwareengine_v1/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 VMware Engine API.
20///
21/// # Example
22/// ```
23/// # tokio_test::block_on(async {
24/// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
25/// let client = VmwareEngine::builder().build().await?;
26/// // use `client` to make requests to the VMware Engine API.
27/// # gax::client_builder::Result::<()>::Ok(()) });
28/// ```
29///
30/// # Service Description
31///
32/// VMwareEngine manages VMware's private clusters in the Cloud.
33///
34/// # Configuration
35///
36/// To configure `VmwareEngine` use the `with_*` methods in the type returned
37/// by [builder()][VmwareEngine::builder]. The default configuration should
38/// work for most applications. Common configuration changes include
39///
40/// * [with_endpoint()]: by default this client uses the global default endpoint
41/// (`https://vmwareengine.googleapis.com`). Applications using regional
42/// endpoints or running in restricted networks (e.g. a network configured
43// with [Private Google Access with VPC Service Controls]) may want to
44/// override this default.
45/// * [with_credentials()]: by default this client uses
46/// [Application Default Credentials]. Applications using custom
47/// authentication may need to override this default.
48///
49/// [with_endpoint()]: super::builder::vmware_engine::ClientBuilder::with_endpoint
50/// [with_credentials()]: super::builder::vmware_engine::ClientBuilder::credentials
51/// [Private Google Access with VPC Service Controls]: https://cloud.google.com/vpc-service-controls/docs/private-connectivity
52/// [Application Default Credentials]: https://cloud.google.com/docs/authentication#adc
53///
54/// # Pooling and Cloning
55///
56/// `VmwareEngine` holds a connection pool internally, it is advised to
57/// create one and the reuse it. You do not need to wrap `VmwareEngine` in
58/// an [Rc](std::rc::Rc) or [Arc](std::sync::Arc) to reuse it, because it
59/// already uses an `Arc` internally.
60#[derive(Clone, Debug)]
61pub struct VmwareEngine {
62 inner: std::sync::Arc<dyn super::stub::dynamic::VmwareEngine>,
63}
64
65impl VmwareEngine {
66 /// Returns a builder for [VmwareEngine].
67 ///
68 /// ```
69 /// # tokio_test::block_on(async {
70 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
71 /// let client = VmwareEngine::builder().build().await?;
72 /// # gax::client_builder::Result::<()>::Ok(()) });
73 /// ```
74 pub fn builder() -> super::builder::vmware_engine::ClientBuilder {
75 gax::client_builder::internal::new_builder(super::builder::vmware_engine::client::Factory)
76 }
77
78 /// Creates a new client from the provided stub.
79 ///
80 /// The most common case for calling this function is in tests mocking the
81 /// client's behavior.
82 pub fn from_stub<T>(stub: T) -> Self
83 where
84 T: super::stub::VmwareEngine + 'static,
85 {
86 Self {
87 inner: std::sync::Arc::new(stub),
88 }
89 }
90
91 pub(crate) async fn new(
92 config: gaxi::options::ClientConfig,
93 ) -> gax::client_builder::Result<Self> {
94 let inner = Self::build_inner(config).await?;
95 Ok(Self { inner })
96 }
97
98 async fn build_inner(
99 conf: gaxi::options::ClientConfig,
100 ) -> gax::client_builder::Result<std::sync::Arc<dyn super::stub::dynamic::VmwareEngine>> {
101 if gaxi::options::tracing_enabled(&conf) {
102 return Ok(std::sync::Arc::new(Self::build_with_tracing(conf).await?));
103 }
104 Ok(std::sync::Arc::new(Self::build_transport(conf).await?))
105 }
106
107 async fn build_transport(
108 conf: gaxi::options::ClientConfig,
109 ) -> gax::client_builder::Result<impl super::stub::VmwareEngine> {
110 super::transport::VmwareEngine::new(conf).await
111 }
112
113 async fn build_with_tracing(
114 conf: gaxi::options::ClientConfig,
115 ) -> gax::client_builder::Result<impl super::stub::VmwareEngine> {
116 Self::build_transport(conf)
117 .await
118 .map(super::tracing::VmwareEngine::new)
119 }
120
121 /// Lists `PrivateCloud` resources in a given project and location.
122 pub fn list_private_clouds(&self) -> super::builder::vmware_engine::ListPrivateClouds {
123 super::builder::vmware_engine::ListPrivateClouds::new(self.inner.clone())
124 }
125
126 /// Retrieves a `PrivateCloud` resource by its resource name.
127 pub fn get_private_cloud(&self) -> super::builder::vmware_engine::GetPrivateCloud {
128 super::builder::vmware_engine::GetPrivateCloud::new(self.inner.clone())
129 }
130
131 /// Creates a new `PrivateCloud` resource in a given project and location.
132 /// Private clouds of type `STANDARD` and
133 /// `TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are
134 /// regional.
135 /// Creating a private cloud also creates a [management
136 /// cluster](https://cloud.google.com/vmware-engine/docs/concepts-vmware-components)
137 /// for that private cloud.
138 ///
139 /// # Long running operations
140 ///
141 /// This method is used to start, and/or poll a [long-running Operation].
142 /// The [Working with long-running operations] chapter in the [user guide]
143 /// covers these operations in detail.
144 ///
145 /// [long-running operation]: https://google.aip.dev/151
146 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
147 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
148 pub fn create_private_cloud(&self) -> super::builder::vmware_engine::CreatePrivateCloud {
149 super::builder::vmware_engine::CreatePrivateCloud::new(self.inner.clone())
150 }
151
152 /// Modifies a `PrivateCloud` resource. Only the following fields can be
153 /// updated: `description`.
154 /// Only fields specified in `updateMask` are applied.
155 ///
156 /// During operation processing, the resource is temporarily in the `ACTIVE`
157 /// state before the operation fully completes. For that period of time, you
158 /// can't update the resource. Use the operation status to determine when the
159 /// processing fully completes.
160 ///
161 /// # Long running operations
162 ///
163 /// This method is used to start, and/or poll a [long-running Operation].
164 /// The [Working with long-running operations] chapter in the [user guide]
165 /// covers these operations in detail.
166 ///
167 /// [long-running operation]: https://google.aip.dev/151
168 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
169 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
170 pub fn update_private_cloud(&self) -> super::builder::vmware_engine::UpdatePrivateCloud {
171 super::builder::vmware_engine::UpdatePrivateCloud::new(self.inner.clone())
172 }
173
174 /// Schedules a `PrivateCloud` resource for deletion.
175 ///
176 /// A `PrivateCloud` resource scheduled for deletion has `PrivateCloud.state`
177 /// set to `DELETED` and `expireTime` set to the time when deletion is final
178 /// and can no longer be reversed. The delete operation is marked as done
179 /// as soon as the `PrivateCloud` is successfully scheduled for deletion
180 /// (this also applies when `delayHours` is set to zero), and the operation is
181 /// not kept in pending state until `PrivateCloud` is purged.
182 /// `PrivateCloud` can be restored using `UndeletePrivateCloud` method before
183 /// the `expireTime` elapses. When `expireTime` is reached, deletion is final
184 /// and all private cloud resources are irreversibly removed and billing stops.
185 /// During the final removal process, `PrivateCloud.state` is set to `PURGING`.
186 /// `PrivateCloud` can be polled using standard `GET` method for the whole
187 /// period of deletion and purging. It will not be returned only
188 /// when it is completely purged.
189 ///
190 /// # Long running operations
191 ///
192 /// This method is used to start, and/or poll a [long-running Operation].
193 /// The [Working with long-running operations] chapter in the [user guide]
194 /// covers these operations in detail.
195 ///
196 /// [long-running operation]: https://google.aip.dev/151
197 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
198 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
199 pub fn delete_private_cloud(&self) -> super::builder::vmware_engine::DeletePrivateCloud {
200 super::builder::vmware_engine::DeletePrivateCloud::new(self.inner.clone())
201 }
202
203 /// Restores a private cloud that was previously scheduled for deletion by
204 /// `DeletePrivateCloud`. A `PrivateCloud` resource scheduled for deletion has
205 /// `PrivateCloud.state` set to `DELETED` and `PrivateCloud.expireTime` set to
206 /// the time when deletion can no longer be reversed.
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 undelete_private_cloud(&self) -> super::builder::vmware_engine::UndeletePrivateCloud {
218 super::builder::vmware_engine::UndeletePrivateCloud::new(self.inner.clone())
219 }
220
221 /// Lists `Cluster` resources in a given private cloud.
222 pub fn list_clusters(&self) -> super::builder::vmware_engine::ListClusters {
223 super::builder::vmware_engine::ListClusters::new(self.inner.clone())
224 }
225
226 /// Retrieves a `Cluster` resource by its resource name.
227 pub fn get_cluster(&self) -> super::builder::vmware_engine::GetCluster {
228 super::builder::vmware_engine::GetCluster::new(self.inner.clone())
229 }
230
231 /// Creates a new cluster in a given private cloud.
232 /// Creating a new cluster provides additional nodes for
233 /// use in the parent private cloud and requires sufficient [node
234 /// quota](https://cloud.google.com/vmware-engine/quotas).
235 ///
236 /// # Long running operations
237 ///
238 /// This method is used to start, and/or poll a [long-running Operation].
239 /// The [Working with long-running operations] chapter in the [user guide]
240 /// covers these operations in detail.
241 ///
242 /// [long-running operation]: https://google.aip.dev/151
243 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
244 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
245 pub fn create_cluster(&self) -> super::builder::vmware_engine::CreateCluster {
246 super::builder::vmware_engine::CreateCluster::new(self.inner.clone())
247 }
248
249 /// Modifies a `Cluster` resource. Only fields specified in `updateMask` are
250 /// applied.
251 ///
252 /// During operation processing, the resource is temporarily in the `ACTIVE`
253 /// state before the operation fully completes. For that period of time, you
254 /// can't update the resource. Use the operation status to determine when the
255 /// processing fully completes.
256 ///
257 /// # Long running operations
258 ///
259 /// This method is used to start, and/or poll a [long-running Operation].
260 /// The [Working with long-running operations] chapter in the [user guide]
261 /// covers these operations in detail.
262 ///
263 /// [long-running operation]: https://google.aip.dev/151
264 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
265 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
266 pub fn update_cluster(&self) -> super::builder::vmware_engine::UpdateCluster {
267 super::builder::vmware_engine::UpdateCluster::new(self.inner.clone())
268 }
269
270 /// Deletes a `Cluster` resource. To avoid unintended data loss, migrate or
271 /// gracefully shut down any workloads running on the cluster before deletion.
272 /// You cannot delete the management cluster of a private cloud using this
273 /// method.
274 ///
275 /// # Long running operations
276 ///
277 /// This method is used to start, and/or poll a [long-running Operation].
278 /// The [Working with long-running operations] chapter in the [user guide]
279 /// covers these operations in detail.
280 ///
281 /// [long-running operation]: https://google.aip.dev/151
282 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
283 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
284 pub fn delete_cluster(&self) -> super::builder::vmware_engine::DeleteCluster {
285 super::builder::vmware_engine::DeleteCluster::new(self.inner.clone())
286 }
287
288 /// Lists nodes in a given cluster.
289 pub fn list_nodes(&self) -> super::builder::vmware_engine::ListNodes {
290 super::builder::vmware_engine::ListNodes::new(self.inner.clone())
291 }
292
293 /// Gets details of a single node.
294 pub fn get_node(&self) -> super::builder::vmware_engine::GetNode {
295 super::builder::vmware_engine::GetNode::new(self.inner.clone())
296 }
297
298 /// Lists external IP addresses assigned to VMware workload VMs in a given
299 /// private cloud.
300 pub fn list_external_addresses(&self) -> super::builder::vmware_engine::ListExternalAddresses {
301 super::builder::vmware_engine::ListExternalAddresses::new(self.inner.clone())
302 }
303
304 /// Lists external IP addresses assigned to VMware workload VMs within the
305 /// scope of the given network policy.
306 pub fn fetch_network_policy_external_addresses(
307 &self,
308 ) -> super::builder::vmware_engine::FetchNetworkPolicyExternalAddresses {
309 super::builder::vmware_engine::FetchNetworkPolicyExternalAddresses::new(self.inner.clone())
310 }
311
312 /// Gets details of a single external IP address.
313 pub fn get_external_address(&self) -> super::builder::vmware_engine::GetExternalAddress {
314 super::builder::vmware_engine::GetExternalAddress::new(self.inner.clone())
315 }
316
317 /// Creates a new `ExternalAddress` resource in a given private cloud. The
318 /// network policy that corresponds to the private cloud must have the external
319 /// IP address network service enabled (`NetworkPolicy.external_ip`).
320 ///
321 /// # Long running operations
322 ///
323 /// This method is used to start, and/or poll a [long-running Operation].
324 /// The [Working with long-running operations] chapter in the [user guide]
325 /// covers these operations in detail.
326 ///
327 /// [long-running operation]: https://google.aip.dev/151
328 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
329 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
330 pub fn create_external_address(&self) -> super::builder::vmware_engine::CreateExternalAddress {
331 super::builder::vmware_engine::CreateExternalAddress::new(self.inner.clone())
332 }
333
334 /// Updates the parameters of a single external IP address.
335 /// Only fields specified in `update_mask` are applied.
336 ///
337 /// During operation processing, the resource is temporarily in the `ACTIVE`
338 /// state before the operation fully completes. For that period of time, you
339 /// can't update the resource. Use the operation status to determine when the
340 /// processing fully completes.
341 ///
342 /// # Long running operations
343 ///
344 /// This method is used to start, and/or poll a [long-running Operation].
345 /// The [Working with long-running operations] chapter in the [user guide]
346 /// covers these operations in detail.
347 ///
348 /// [long-running operation]: https://google.aip.dev/151
349 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
350 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
351 pub fn update_external_address(&self) -> super::builder::vmware_engine::UpdateExternalAddress {
352 super::builder::vmware_engine::UpdateExternalAddress::new(self.inner.clone())
353 }
354
355 /// Deletes a single external IP address. When you delete an external IP
356 /// address, connectivity between the external IP address and the corresponding
357 /// internal IP address is lost.
358 ///
359 /// # Long running operations
360 ///
361 /// This method is used to start, and/or poll a [long-running Operation].
362 /// The [Working with long-running operations] chapter in the [user guide]
363 /// covers these operations in detail.
364 ///
365 /// [long-running operation]: https://google.aip.dev/151
366 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
367 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
368 pub fn delete_external_address(&self) -> super::builder::vmware_engine::DeleteExternalAddress {
369 super::builder::vmware_engine::DeleteExternalAddress::new(self.inner.clone())
370 }
371
372 /// Lists subnets in a given private cloud.
373 pub fn list_subnets(&self) -> super::builder::vmware_engine::ListSubnets {
374 super::builder::vmware_engine::ListSubnets::new(self.inner.clone())
375 }
376
377 /// Gets details of a single subnet.
378 pub fn get_subnet(&self) -> super::builder::vmware_engine::GetSubnet {
379 super::builder::vmware_engine::GetSubnet::new(self.inner.clone())
380 }
381
382 /// Updates the parameters of a single subnet. Only fields specified in
383 /// `update_mask` are applied.
384 ///
385 /// *Note*: This API is synchronous and always returns a successful
386 /// `google.longrunning.Operation` (LRO). The returned LRO will only have
387 /// `done` and `response` fields.
388 ///
389 /// # Long running operations
390 ///
391 /// This method is used to start, and/or poll a [long-running Operation].
392 /// The [Working with long-running operations] chapter in the [user guide]
393 /// covers these operations in detail.
394 ///
395 /// [long-running operation]: https://google.aip.dev/151
396 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
397 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
398 pub fn update_subnet(&self) -> super::builder::vmware_engine::UpdateSubnet {
399 super::builder::vmware_engine::UpdateSubnet::new(self.inner.clone())
400 }
401
402 /// Lists `ExternalAccessRule` resources in the specified network policy.
403 pub fn list_external_access_rules(
404 &self,
405 ) -> super::builder::vmware_engine::ListExternalAccessRules {
406 super::builder::vmware_engine::ListExternalAccessRules::new(self.inner.clone())
407 }
408
409 /// Gets details of a single external access rule.
410 pub fn get_external_access_rule(&self) -> super::builder::vmware_engine::GetExternalAccessRule {
411 super::builder::vmware_engine::GetExternalAccessRule::new(self.inner.clone())
412 }
413
414 /// Creates a new external access rule in a given network policy.
415 ///
416 /// # Long running operations
417 ///
418 /// This method is used to start, and/or poll a [long-running Operation].
419 /// The [Working with long-running operations] chapter in the [user guide]
420 /// covers these operations in detail.
421 ///
422 /// [long-running operation]: https://google.aip.dev/151
423 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
424 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
425 pub fn create_external_access_rule(
426 &self,
427 ) -> super::builder::vmware_engine::CreateExternalAccessRule {
428 super::builder::vmware_engine::CreateExternalAccessRule::new(self.inner.clone())
429 }
430
431 /// Updates the parameters of a single external access rule.
432 /// Only fields specified in `update_mask` are applied.
433 ///
434 /// # Long running operations
435 ///
436 /// This method is used to start, and/or poll a [long-running Operation].
437 /// The [Working with long-running operations] chapter in the [user guide]
438 /// covers these operations in detail.
439 ///
440 /// [long-running operation]: https://google.aip.dev/151
441 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
442 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
443 pub fn update_external_access_rule(
444 &self,
445 ) -> super::builder::vmware_engine::UpdateExternalAccessRule {
446 super::builder::vmware_engine::UpdateExternalAccessRule::new(self.inner.clone())
447 }
448
449 /// Deletes a single external access rule.
450 ///
451 /// # Long running operations
452 ///
453 /// This method is used to start, and/or poll a [long-running Operation].
454 /// The [Working with long-running operations] chapter in the [user guide]
455 /// covers these operations in detail.
456 ///
457 /// [long-running operation]: https://google.aip.dev/151
458 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
459 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
460 pub fn delete_external_access_rule(
461 &self,
462 ) -> super::builder::vmware_engine::DeleteExternalAccessRule {
463 super::builder::vmware_engine::DeleteExternalAccessRule::new(self.inner.clone())
464 }
465
466 /// Lists logging servers configured for a given private
467 /// cloud.
468 pub fn list_logging_servers(&self) -> super::builder::vmware_engine::ListLoggingServers {
469 super::builder::vmware_engine::ListLoggingServers::new(self.inner.clone())
470 }
471
472 /// Gets details of a logging server.
473 pub fn get_logging_server(&self) -> super::builder::vmware_engine::GetLoggingServer {
474 super::builder::vmware_engine::GetLoggingServer::new(self.inner.clone())
475 }
476
477 /// Create a new logging server for a given private cloud.
478 ///
479 /// # Long running operations
480 ///
481 /// This method is used to start, and/or poll a [long-running Operation].
482 /// The [Working with long-running operations] chapter in the [user guide]
483 /// covers these operations in detail.
484 ///
485 /// [long-running operation]: https://google.aip.dev/151
486 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
487 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
488 pub fn create_logging_server(&self) -> super::builder::vmware_engine::CreateLoggingServer {
489 super::builder::vmware_engine::CreateLoggingServer::new(self.inner.clone())
490 }
491
492 /// Updates the parameters of a single logging server.
493 /// Only fields specified in `update_mask` are applied.
494 ///
495 /// # Long running operations
496 ///
497 /// This method is used to start, and/or poll a [long-running Operation].
498 /// The [Working with long-running operations] chapter in the [user guide]
499 /// covers these operations in detail.
500 ///
501 /// [long-running operation]: https://google.aip.dev/151
502 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
503 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
504 pub fn update_logging_server(&self) -> super::builder::vmware_engine::UpdateLoggingServer {
505 super::builder::vmware_engine::UpdateLoggingServer::new(self.inner.clone())
506 }
507
508 /// Deletes a single logging server.
509 ///
510 /// # Long running operations
511 ///
512 /// This method is used to start, and/or poll a [long-running Operation].
513 /// The [Working with long-running operations] chapter in the [user guide]
514 /// covers these operations in detail.
515 ///
516 /// [long-running operation]: https://google.aip.dev/151
517 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
518 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
519 pub fn delete_logging_server(&self) -> super::builder::vmware_engine::DeleteLoggingServer {
520 super::builder::vmware_engine::DeleteLoggingServer::new(self.inner.clone())
521 }
522
523 /// Lists node types
524 pub fn list_node_types(&self) -> super::builder::vmware_engine::ListNodeTypes {
525 super::builder::vmware_engine::ListNodeTypes::new(self.inner.clone())
526 }
527
528 /// Gets details of a single `NodeType`.
529 pub fn get_node_type(&self) -> super::builder::vmware_engine::GetNodeType {
530 super::builder::vmware_engine::GetNodeType::new(self.inner.clone())
531 }
532
533 /// Gets details of credentials for NSX appliance.
534 pub fn show_nsx_credentials(&self) -> super::builder::vmware_engine::ShowNsxCredentials {
535 super::builder::vmware_engine::ShowNsxCredentials::new(self.inner.clone())
536 }
537
538 /// Gets details of credentials for Vcenter appliance.
539 pub fn show_vcenter_credentials(
540 &self,
541 ) -> super::builder::vmware_engine::ShowVcenterCredentials {
542 super::builder::vmware_engine::ShowVcenterCredentials::new(self.inner.clone())
543 }
544
545 /// Resets credentials of the NSX appliance.
546 ///
547 /// # Long running operations
548 ///
549 /// This method is used to start, and/or poll a [long-running Operation].
550 /// The [Working with long-running operations] chapter in the [user guide]
551 /// covers these operations in detail.
552 ///
553 /// [long-running operation]: https://google.aip.dev/151
554 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
555 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
556 pub fn reset_nsx_credentials(&self) -> super::builder::vmware_engine::ResetNsxCredentials {
557 super::builder::vmware_engine::ResetNsxCredentials::new(self.inner.clone())
558 }
559
560 /// Resets credentials of the Vcenter appliance.
561 ///
562 /// # Long running operations
563 ///
564 /// This method is used to start, and/or poll a [long-running Operation].
565 /// The [Working with long-running operations] chapter in the [user guide]
566 /// covers these operations in detail.
567 ///
568 /// [long-running operation]: https://google.aip.dev/151
569 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
570 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
571 pub fn reset_vcenter_credentials(
572 &self,
573 ) -> super::builder::vmware_engine::ResetVcenterCredentials {
574 super::builder::vmware_engine::ResetVcenterCredentials::new(self.inner.clone())
575 }
576
577 /// Gets details of the `DnsForwarding` config.
578 pub fn get_dns_forwarding(&self) -> super::builder::vmware_engine::GetDnsForwarding {
579 super::builder::vmware_engine::GetDnsForwarding::new(self.inner.clone())
580 }
581
582 /// Updates the parameters of the `DnsForwarding` config, like associated
583 /// domains. Only fields specified in `update_mask` are applied.
584 ///
585 /// # Long running operations
586 ///
587 /// This method is used to start, and/or poll a [long-running Operation].
588 /// The [Working with long-running operations] chapter in the [user guide]
589 /// covers these operations in detail.
590 ///
591 /// [long-running operation]: https://google.aip.dev/151
592 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
593 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
594 pub fn update_dns_forwarding(&self) -> super::builder::vmware_engine::UpdateDnsForwarding {
595 super::builder::vmware_engine::UpdateDnsForwarding::new(self.inner.clone())
596 }
597
598 /// Retrieves a `NetworkPeering` resource by its resource name. The resource
599 /// contains details of the network peering, such as peered
600 /// networks, import and export custom route configurations, and peering state.
601 /// NetworkPeering is a global resource and location can only be global.
602 pub fn get_network_peering(&self) -> super::builder::vmware_engine::GetNetworkPeering {
603 super::builder::vmware_engine::GetNetworkPeering::new(self.inner.clone())
604 }
605
606 /// Lists `NetworkPeering` resources in a given project. NetworkPeering is a
607 /// global resource and location can only be global.
608 pub fn list_network_peerings(&self) -> super::builder::vmware_engine::ListNetworkPeerings {
609 super::builder::vmware_engine::ListNetworkPeerings::new(self.inner.clone())
610 }
611
612 /// Creates a new network peering between the peer network and VMware Engine
613 /// network provided in a `NetworkPeering` resource. NetworkPeering is a
614 /// global resource and location can only be global.
615 ///
616 /// # Long running operations
617 ///
618 /// This method is used to start, and/or poll a [long-running Operation].
619 /// The [Working with long-running operations] chapter in the [user guide]
620 /// covers these operations in detail.
621 ///
622 /// [long-running operation]: https://google.aip.dev/151
623 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
624 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
625 pub fn create_network_peering(&self) -> super::builder::vmware_engine::CreateNetworkPeering {
626 super::builder::vmware_engine::CreateNetworkPeering::new(self.inner.clone())
627 }
628
629 /// Deletes a `NetworkPeering` resource. When a network peering is deleted for
630 /// a VMware Engine network, the peer network becomes inaccessible to that
631 /// VMware Engine network. NetworkPeering is a global resource and location can
632 /// only be global.
633 ///
634 /// # Long running operations
635 ///
636 /// This method is used to start, and/or poll a [long-running Operation].
637 /// The [Working with long-running operations] chapter in the [user guide]
638 /// covers these operations in detail.
639 ///
640 /// [long-running operation]: https://google.aip.dev/151
641 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
642 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
643 pub fn delete_network_peering(&self) -> super::builder::vmware_engine::DeleteNetworkPeering {
644 super::builder::vmware_engine::DeleteNetworkPeering::new(self.inner.clone())
645 }
646
647 /// Modifies a `NetworkPeering` resource. Only the `description` field can be
648 /// updated. Only fields specified in `updateMask` are applied. NetworkPeering
649 /// is a global resource and location can only be global.
650 ///
651 /// # Long running operations
652 ///
653 /// This method is used to start, and/or poll a [long-running Operation].
654 /// The [Working with long-running operations] chapter in the [user guide]
655 /// covers these operations in detail.
656 ///
657 /// [long-running operation]: https://google.aip.dev/151
658 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
659 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
660 pub fn update_network_peering(&self) -> super::builder::vmware_engine::UpdateNetworkPeering {
661 super::builder::vmware_engine::UpdateNetworkPeering::new(self.inner.clone())
662 }
663
664 /// Lists the network peering routes exchanged over a peering connection.
665 /// NetworkPeering is a global resource and location can only be global.
666 pub fn list_peering_routes(&self) -> super::builder::vmware_engine::ListPeeringRoutes {
667 super::builder::vmware_engine::ListPeeringRoutes::new(self.inner.clone())
668 }
669
670 /// Creates a new HCX activation key in a given private cloud.
671 ///
672 /// # Long running operations
673 ///
674 /// This method is used to start, and/or poll a [long-running Operation].
675 /// The [Working with long-running operations] chapter in the [user guide]
676 /// covers these operations in detail.
677 ///
678 /// [long-running operation]: https://google.aip.dev/151
679 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
680 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
681 pub fn create_hcx_activation_key(
682 &self,
683 ) -> super::builder::vmware_engine::CreateHcxActivationKey {
684 super::builder::vmware_engine::CreateHcxActivationKey::new(self.inner.clone())
685 }
686
687 /// Lists `HcxActivationKey` resources in a given private cloud.
688 pub fn list_hcx_activation_keys(&self) -> super::builder::vmware_engine::ListHcxActivationKeys {
689 super::builder::vmware_engine::ListHcxActivationKeys::new(self.inner.clone())
690 }
691
692 /// Retrieves a `HcxActivationKey` resource by its resource name.
693 pub fn get_hcx_activation_key(&self) -> super::builder::vmware_engine::GetHcxActivationKey {
694 super::builder::vmware_engine::GetHcxActivationKey::new(self.inner.clone())
695 }
696
697 /// Retrieves a `NetworkPolicy` resource by its resource name.
698 pub fn get_network_policy(&self) -> super::builder::vmware_engine::GetNetworkPolicy {
699 super::builder::vmware_engine::GetNetworkPolicy::new(self.inner.clone())
700 }
701
702 /// Lists `NetworkPolicy` resources in a specified project and location.
703 pub fn list_network_policies(&self) -> super::builder::vmware_engine::ListNetworkPolicies {
704 super::builder::vmware_engine::ListNetworkPolicies::new(self.inner.clone())
705 }
706
707 /// Creates a new network policy in a given VMware Engine network of a
708 /// project and location (region). A new network policy cannot be created if
709 /// another network policy already exists in the same scope.
710 ///
711 /// # Long running operations
712 ///
713 /// This method is used to start, and/or poll a [long-running Operation].
714 /// The [Working with long-running operations] chapter in the [user guide]
715 /// covers these operations in detail.
716 ///
717 /// [long-running operation]: https://google.aip.dev/151
718 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
719 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
720 pub fn create_network_policy(&self) -> super::builder::vmware_engine::CreateNetworkPolicy {
721 super::builder::vmware_engine::CreateNetworkPolicy::new(self.inner.clone())
722 }
723
724 /// Modifies a `NetworkPolicy` resource. Only the following fields can be
725 /// updated: `internet_access`, `external_ip`, `edge_services_cidr`.
726 /// Only fields specified in `updateMask` are applied. When updating a network
727 /// policy, the external IP network service can only be disabled if there are
728 /// no external IP addresses present in the scope of the policy. Also, a
729 /// `NetworkService` cannot be updated when `NetworkService.state` is set
730 /// to `RECONCILING`.
731 ///
732 /// During operation processing, the resource is temporarily in the `ACTIVE`
733 /// state before the operation fully completes. For that period of time, you
734 /// can't update the resource. Use the operation status to determine when the
735 /// processing fully completes.
736 ///
737 /// # Long running operations
738 ///
739 /// This method is used to start, and/or poll a [long-running Operation].
740 /// The [Working with long-running operations] chapter in the [user guide]
741 /// covers these operations in detail.
742 ///
743 /// [long-running operation]: https://google.aip.dev/151
744 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
745 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
746 pub fn update_network_policy(&self) -> super::builder::vmware_engine::UpdateNetworkPolicy {
747 super::builder::vmware_engine::UpdateNetworkPolicy::new(self.inner.clone())
748 }
749
750 /// Deletes a `NetworkPolicy` resource. A network policy cannot be deleted
751 /// when `NetworkService.state` is set to `RECONCILING` for either its external
752 /// IP or internet access service.
753 ///
754 /// # Long running operations
755 ///
756 /// This method is used to start, and/or poll a [long-running Operation].
757 /// The [Working with long-running operations] chapter in the [user guide]
758 /// covers these operations in detail.
759 ///
760 /// [long-running operation]: https://google.aip.dev/151
761 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
762 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
763 pub fn delete_network_policy(&self) -> super::builder::vmware_engine::DeleteNetworkPolicy {
764 super::builder::vmware_engine::DeleteNetworkPolicy::new(self.inner.clone())
765 }
766
767 /// Lists Consumer VPCs bound to Management DNS Zone of a given private cloud.
768 pub fn list_management_dns_zone_bindings(
769 &self,
770 ) -> super::builder::vmware_engine::ListManagementDnsZoneBindings {
771 super::builder::vmware_engine::ListManagementDnsZoneBindings::new(self.inner.clone())
772 }
773
774 /// Retrieves a 'ManagementDnsZoneBinding' resource by its resource name.
775 pub fn get_management_dns_zone_binding(
776 &self,
777 ) -> super::builder::vmware_engine::GetManagementDnsZoneBinding {
778 super::builder::vmware_engine::GetManagementDnsZoneBinding::new(self.inner.clone())
779 }
780
781 /// Creates a new `ManagementDnsZoneBinding` resource in a private cloud.
782 /// This RPC creates the DNS binding and the resource that represents the
783 /// DNS binding of the consumer VPC network to the management DNS zone. A
784 /// management DNS zone is the Cloud DNS cross-project binding zone that
785 /// VMware Engine creates for each private cloud. It contains FQDNs and
786 /// corresponding IP addresses for the private cloud's ESXi hosts and
787 /// management VM appliances like vCenter and NSX Manager.
788 ///
789 /// # Long running operations
790 ///
791 /// This method is used to start, and/or poll a [long-running Operation].
792 /// The [Working with long-running operations] chapter in the [user guide]
793 /// covers these operations in detail.
794 ///
795 /// [long-running operation]: https://google.aip.dev/151
796 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
797 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
798 pub fn create_management_dns_zone_binding(
799 &self,
800 ) -> super::builder::vmware_engine::CreateManagementDnsZoneBinding {
801 super::builder::vmware_engine::CreateManagementDnsZoneBinding::new(self.inner.clone())
802 }
803
804 /// Updates a `ManagementDnsZoneBinding` resource.
805 /// Only fields specified in `update_mask` are applied.
806 ///
807 /// # Long running operations
808 ///
809 /// This method is used to start, and/or poll a [long-running Operation].
810 /// The [Working with long-running operations] chapter in the [user guide]
811 /// covers these operations in detail.
812 ///
813 /// [long-running operation]: https://google.aip.dev/151
814 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
815 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
816 pub fn update_management_dns_zone_binding(
817 &self,
818 ) -> super::builder::vmware_engine::UpdateManagementDnsZoneBinding {
819 super::builder::vmware_engine::UpdateManagementDnsZoneBinding::new(self.inner.clone())
820 }
821
822 /// Deletes a `ManagementDnsZoneBinding` resource. When a management DNS zone
823 /// binding is deleted, the corresponding consumer VPC network is no longer
824 /// bound to the management DNS zone.
825 ///
826 /// # Long running operations
827 ///
828 /// This method is used to start, and/or poll a [long-running Operation].
829 /// The [Working with long-running operations] chapter in the [user guide]
830 /// covers these operations in detail.
831 ///
832 /// [long-running operation]: https://google.aip.dev/151
833 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
834 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
835 pub fn delete_management_dns_zone_binding(
836 &self,
837 ) -> super::builder::vmware_engine::DeleteManagementDnsZoneBinding {
838 super::builder::vmware_engine::DeleteManagementDnsZoneBinding::new(self.inner.clone())
839 }
840
841 /// Retries to create a `ManagementDnsZoneBinding` resource that is
842 /// in failed state.
843 ///
844 /// # Long running operations
845 ///
846 /// This method is used to start, and/or poll a [long-running Operation].
847 /// The [Working with long-running operations] chapter in the [user guide]
848 /// covers these operations in detail.
849 ///
850 /// [long-running operation]: https://google.aip.dev/151
851 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
852 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
853 pub fn repair_management_dns_zone_binding(
854 &self,
855 ) -> super::builder::vmware_engine::RepairManagementDnsZoneBinding {
856 super::builder::vmware_engine::RepairManagementDnsZoneBinding::new(self.inner.clone())
857 }
858
859 /// Creates a new VMware Engine network that can be used by a private cloud.
860 ///
861 /// # Long running operations
862 ///
863 /// This method is used to start, and/or poll a [long-running Operation].
864 /// The [Working with long-running operations] chapter in the [user guide]
865 /// covers these operations in detail.
866 ///
867 /// [long-running operation]: https://google.aip.dev/151
868 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
869 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
870 pub fn create_vmware_engine_network(
871 &self,
872 ) -> super::builder::vmware_engine::CreateVmwareEngineNetwork {
873 super::builder::vmware_engine::CreateVmwareEngineNetwork::new(self.inner.clone())
874 }
875
876 /// Modifies a VMware Engine network resource. Only the following fields can be
877 /// updated: `description`. Only fields specified in `updateMask` are
878 /// applied.
879 ///
880 /// # Long running operations
881 ///
882 /// This method is used to start, and/or poll a [long-running Operation].
883 /// The [Working with long-running operations] chapter in the [user guide]
884 /// covers these operations in detail.
885 ///
886 /// [long-running operation]: https://google.aip.dev/151
887 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
888 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
889 pub fn update_vmware_engine_network(
890 &self,
891 ) -> super::builder::vmware_engine::UpdateVmwareEngineNetwork {
892 super::builder::vmware_engine::UpdateVmwareEngineNetwork::new(self.inner.clone())
893 }
894
895 /// Deletes a `VmwareEngineNetwork` resource. You can only delete a VMware
896 /// Engine network after all resources that refer to it are deleted. For
897 /// example, a private cloud, a network peering, and a network policy can all
898 /// refer to the same VMware Engine network.
899 ///
900 /// # Long running operations
901 ///
902 /// This method is used to start, and/or poll a [long-running Operation].
903 /// The [Working with long-running operations] chapter in the [user guide]
904 /// covers these operations in detail.
905 ///
906 /// [long-running operation]: https://google.aip.dev/151
907 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
908 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
909 pub fn delete_vmware_engine_network(
910 &self,
911 ) -> super::builder::vmware_engine::DeleteVmwareEngineNetwork {
912 super::builder::vmware_engine::DeleteVmwareEngineNetwork::new(self.inner.clone())
913 }
914
915 /// Retrieves a `VmwareEngineNetwork` resource by its resource name. The
916 /// resource contains details of the VMware Engine network, such as its VMware
917 /// Engine network type, peered networks in a service project, and state
918 /// (for example, `CREATING`, `ACTIVE`, `DELETING`).
919 pub fn get_vmware_engine_network(
920 &self,
921 ) -> super::builder::vmware_engine::GetVmwareEngineNetwork {
922 super::builder::vmware_engine::GetVmwareEngineNetwork::new(self.inner.clone())
923 }
924
925 /// Lists `VmwareEngineNetwork` resources in a given project and location.
926 pub fn list_vmware_engine_networks(
927 &self,
928 ) -> super::builder::vmware_engine::ListVmwareEngineNetworks {
929 super::builder::vmware_engine::ListVmwareEngineNetworks::new(self.inner.clone())
930 }
931
932 /// Creates a new private connection that can be used for accessing private
933 /// Clouds.
934 ///
935 /// # Long running operations
936 ///
937 /// This method is used to start, and/or poll a [long-running Operation].
938 /// The [Working with long-running operations] chapter in the [user guide]
939 /// covers these operations in detail.
940 ///
941 /// [long-running operation]: https://google.aip.dev/151
942 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
943 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
944 pub fn create_private_connection(
945 &self,
946 ) -> super::builder::vmware_engine::CreatePrivateConnection {
947 super::builder::vmware_engine::CreatePrivateConnection::new(self.inner.clone())
948 }
949
950 /// Retrieves a `PrivateConnection` resource by its resource name. The resource
951 /// contains details of the private connection, such as connected
952 /// network, routing mode and state.
953 pub fn get_private_connection(&self) -> super::builder::vmware_engine::GetPrivateConnection {
954 super::builder::vmware_engine::GetPrivateConnection::new(self.inner.clone())
955 }
956
957 /// Lists `PrivateConnection` resources in a given project and location.
958 pub fn list_private_connections(
959 &self,
960 ) -> super::builder::vmware_engine::ListPrivateConnections {
961 super::builder::vmware_engine::ListPrivateConnections::new(self.inner.clone())
962 }
963
964 /// Modifies a `PrivateConnection` resource. Only `description` and
965 /// `routing_mode` fields can be updated. Only fields specified in `updateMask`
966 /// are applied.
967 ///
968 /// # Long running operations
969 ///
970 /// This method is used to start, and/or poll a [long-running Operation].
971 /// The [Working with long-running operations] chapter in the [user guide]
972 /// covers these operations in detail.
973 ///
974 /// [long-running operation]: https://google.aip.dev/151
975 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
976 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
977 pub fn update_private_connection(
978 &self,
979 ) -> super::builder::vmware_engine::UpdatePrivateConnection {
980 super::builder::vmware_engine::UpdatePrivateConnection::new(self.inner.clone())
981 }
982
983 /// Deletes a `PrivateConnection` resource. When a private connection is
984 /// deleted for a VMware Engine network, the connected network becomes
985 /// inaccessible to that VMware Engine network.
986 ///
987 /// # Long running operations
988 ///
989 /// This method is used to start, and/or poll a [long-running Operation].
990 /// The [Working with long-running operations] chapter in the [user guide]
991 /// covers these operations in detail.
992 ///
993 /// [long-running operation]: https://google.aip.dev/151
994 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
995 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
996 pub fn delete_private_connection(
997 &self,
998 ) -> super::builder::vmware_engine::DeletePrivateConnection {
999 super::builder::vmware_engine::DeletePrivateConnection::new(self.inner.clone())
1000 }
1001
1002 /// Lists the private connection routes exchanged over a peering connection.
1003 pub fn list_private_connection_peering_routes(
1004 &self,
1005 ) -> super::builder::vmware_engine::ListPrivateConnectionPeeringRoutes {
1006 super::builder::vmware_engine::ListPrivateConnectionPeeringRoutes::new(self.inner.clone())
1007 }
1008
1009 /// Grants the bind permission to the customer provided principal(user /
1010 /// service account) to bind their DNS zone with the intranet VPC associated
1011 /// with the project. DnsBindPermission is a global resource and location can
1012 /// only be global.
1013 ///
1014 /// # Long running operations
1015 ///
1016 /// This method is used to start, and/or poll a [long-running Operation].
1017 /// The [Working with long-running operations] chapter in the [user guide]
1018 /// covers these operations in detail.
1019 ///
1020 /// [long-running operation]: https://google.aip.dev/151
1021 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1022 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1023 pub fn grant_dns_bind_permission(
1024 &self,
1025 ) -> super::builder::vmware_engine::GrantDnsBindPermission {
1026 super::builder::vmware_engine::GrantDnsBindPermission::new(self.inner.clone())
1027 }
1028
1029 /// Gets all the principals having bind permission on the intranet VPC
1030 /// associated with the consumer project granted by the Grant API.
1031 /// DnsBindPermission is a global resource and location can only be global.
1032 pub fn get_dns_bind_permission(&self) -> super::builder::vmware_engine::GetDnsBindPermission {
1033 super::builder::vmware_engine::GetDnsBindPermission::new(self.inner.clone())
1034 }
1035
1036 /// Revokes the bind permission from the customer provided principal(user /
1037 /// service account) on the intranet VPC associated with the consumer project.
1038 /// DnsBindPermission is a global resource and location can only be global.
1039 ///
1040 /// # Long running operations
1041 ///
1042 /// This method is used to start, and/or poll a [long-running Operation].
1043 /// The [Working with long-running operations] chapter in the [user guide]
1044 /// covers these operations in detail.
1045 ///
1046 /// [long-running operation]: https://google.aip.dev/151
1047 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1048 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1049 pub fn revoke_dns_bind_permission(
1050 &self,
1051 ) -> super::builder::vmware_engine::RevokeDnsBindPermission {
1052 super::builder::vmware_engine::RevokeDnsBindPermission::new(self.inner.clone())
1053 }
1054
1055 /// Lists information about the supported locations for this service.
1056 pub fn list_locations(&self) -> super::builder::vmware_engine::ListLocations {
1057 super::builder::vmware_engine::ListLocations::new(self.inner.clone())
1058 }
1059
1060 /// Gets information about a location.
1061 pub fn get_location(&self) -> super::builder::vmware_engine::GetLocation {
1062 super::builder::vmware_engine::GetLocation::new(self.inner.clone())
1063 }
1064
1065 /// Sets the access control policy on the specified resource. Replaces
1066 /// any existing policy.
1067 ///
1068 /// Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
1069 /// errors.
1070 pub fn set_iam_policy(&self) -> super::builder::vmware_engine::SetIamPolicy {
1071 super::builder::vmware_engine::SetIamPolicy::new(self.inner.clone())
1072 }
1073
1074 /// Gets the access control policy for a resource. Returns an empty policy
1075 /// if the resource exists and does not have a policy set.
1076 pub fn get_iam_policy(&self) -> super::builder::vmware_engine::GetIamPolicy {
1077 super::builder::vmware_engine::GetIamPolicy::new(self.inner.clone())
1078 }
1079
1080 /// Returns permissions that a caller has on the specified resource. If the
1081 /// resource does not exist, this will return an empty set of
1082 /// permissions, not a `NOT_FOUND` error.
1083 ///
1084 /// Note: This operation is designed to be used for building
1085 /// permission-aware UIs and command-line tools, not for authorization
1086 /// checking. This operation may "fail open" without warning.
1087 pub fn test_iam_permissions(&self) -> super::builder::vmware_engine::TestIamPermissions {
1088 super::builder::vmware_engine::TestIamPermissions::new(self.inner.clone())
1089 }
1090
1091 /// Provides the [Operations][google.longrunning.Operations] service functionality in this service.
1092 ///
1093 /// [google.longrunning.Operations]: longrunning::client::Operations
1094 pub fn list_operations(&self) -> super::builder::vmware_engine::ListOperations {
1095 super::builder::vmware_engine::ListOperations::new(self.inner.clone())
1096 }
1097
1098 /// Provides the [Operations][google.longrunning.Operations] service functionality in this service.
1099 ///
1100 /// [google.longrunning.Operations]: longrunning::client::Operations
1101 pub fn get_operation(&self) -> super::builder::vmware_engine::GetOperation {
1102 super::builder::vmware_engine::GetOperation::new(self.inner.clone())
1103 }
1104
1105 /// Provides the [Operations][google.longrunning.Operations] service functionality in this service.
1106 ///
1107 /// [google.longrunning.Operations]: longrunning::client::Operations
1108 pub fn delete_operation(&self) -> super::builder::vmware_engine::DeleteOperation {
1109 super::builder::vmware_engine::DeleteOperation::new(self.inner.clone())
1110 }
1111}