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/// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
24/// use google_cloud_gax::paginator::ItemPaginator as _;
25/// # async fn sample() -> Result<(), Box<dyn std::error::Error>> {
26/// let client = VmwareEngine::builder().build().await?;
27/// let parent = "parent_value";
28/// let mut list = client.list_vmware_engine_networks()
29/// .set_parent(parent)
30/// .by_item();
31/// while let Some(item) = list.next().await.transpose()? {
32/// println!("{:?}", item);
33/// }
34/// # Ok(()) }
35/// ```
36///
37/// # Service Description
38///
39/// VMwareEngine manages VMware's private clusters in the Cloud.
40///
41/// # Configuration
42///
43/// To configure `VmwareEngine` use the `with_*` methods in the type returned
44/// by [builder()][VmwareEngine::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://vmwareengine.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::vmware_engine::ClientBuilder::with_endpoint
57/// [with_credentials()]: super::builder::vmware_engine::ClientBuilder::with_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/// `VmwareEngine` holds a connection pool internally, it is advised to
64/// create one and reuse it. You do not need to wrap `VmwareEngine` 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 VmwareEngine {
69 inner: std::sync::Arc<dyn super::stub::dynamic::VmwareEngine>,
70}
71
72impl VmwareEngine {
73 /// Returns a builder for [VmwareEngine].
74 ///
75 /// ```
76 /// # async fn sample() -> google_cloud_gax::client_builder::Result<()> {
77 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
78 /// let client = VmwareEngine::builder().build().await?;
79 /// # Ok(()) }
80 /// ```
81 pub fn builder() -> super::builder::vmware_engine::ClientBuilder {
82 crate::new_client_builder(super::builder::vmware_engine::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::VmwareEngine + '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::VmwareEngine>> {
108 if gaxi::options::tracing_enabled(&conf) {
109 return Ok(std::sync::Arc::new(Self::build_with_tracing(conf).await?));
110 }
111 Ok(std::sync::Arc::new(Self::build_transport(conf).await?))
112 }
113
114 async fn build_transport(
115 conf: gaxi::options::ClientConfig,
116 ) -> crate::ClientBuilderResult<impl super::stub::VmwareEngine> {
117 super::transport::VmwareEngine::new(conf).await
118 }
119
120 async fn build_with_tracing(
121 conf: gaxi::options::ClientConfig,
122 ) -> crate::ClientBuilderResult<impl super::stub::VmwareEngine> {
123 Self::build_transport(conf)
124 .await
125 .map(super::tracing::VmwareEngine::new)
126 }
127
128 /// Lists `PrivateCloud` resources in a given project and location.
129 ///
130 /// # Example
131 /// ```
132 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
133 /// use google_cloud_gax::paginator::ItemPaginator as _;
134 /// use google_cloud_vmwareengine_v1::Result;
135 /// async fn sample(
136 /// client: &VmwareEngine, parent: &str
137 /// ) -> Result<()> {
138 /// let mut list = client.list_private_clouds()
139 /// .set_parent(parent)
140 /// .by_item();
141 /// while let Some(item) = list.next().await.transpose()? {
142 /// println!("{:?}", item);
143 /// }
144 /// Ok(())
145 /// }
146 /// ```
147 pub fn list_private_clouds(&self) -> super::builder::vmware_engine::ListPrivateClouds {
148 super::builder::vmware_engine::ListPrivateClouds::new(self.inner.clone())
149 }
150
151 /// Retrieves a `PrivateCloud` resource by its resource name.
152 ///
153 /// # Example
154 /// ```
155 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
156 /// use google_cloud_vmwareengine_v1::Result;
157 /// async fn sample(
158 /// client: &VmwareEngine, name: &str
159 /// ) -> Result<()> {
160 /// let response = client.get_private_cloud()
161 /// .set_name(name)
162 /// .send().await?;
163 /// println!("response {:?}", response);
164 /// Ok(())
165 /// }
166 /// ```
167 pub fn get_private_cloud(&self) -> super::builder::vmware_engine::GetPrivateCloud {
168 super::builder::vmware_engine::GetPrivateCloud::new(self.inner.clone())
169 }
170
171 /// Creates a new `PrivateCloud` resource in a given project and location.
172 /// Private clouds of type `STANDARD` and
173 /// `TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are
174 /// regional.
175 /// Creating a private cloud also creates a [management
176 /// cluster](https://cloud.google.com/vmware-engine/docs/concepts-vmware-components)
177 /// for that private cloud.
178 ///
179 /// # Long running operations
180 ///
181 /// This method is used to start, and/or poll a [long-running Operation].
182 /// The [Working with long-running operations] chapter in the [user guide]
183 /// covers these operations in detail.
184 ///
185 /// [long-running operation]: https://google.aip.dev/151
186 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
187 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
188 ///
189 /// # Example
190 /// ```
191 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
192 /// use google_cloud_lro::Poller;
193 /// use google_cloud_vmwareengine_v1::model::PrivateCloud;
194 /// use google_cloud_vmwareengine_v1::Result;
195 /// async fn sample(
196 /// client: &VmwareEngine, parent: &str
197 /// ) -> Result<()> {
198 /// let response = client.create_private_cloud()
199 /// .set_parent(parent)
200 /// .set_private_cloud(
201 /// PrivateCloud::new()/* set fields */
202 /// )
203 /// .poller().until_done().await?;
204 /// println!("response {:?}", response);
205 /// Ok(())
206 /// }
207 /// ```
208 pub fn create_private_cloud(&self) -> super::builder::vmware_engine::CreatePrivateCloud {
209 super::builder::vmware_engine::CreatePrivateCloud::new(self.inner.clone())
210 }
211
212 /// Modifies a `PrivateCloud` resource. Only the following fields can be
213 /// updated: `description`.
214 /// Only fields specified in `updateMask` are applied.
215 ///
216 /// During operation processing, the resource is temporarily in the `ACTIVE`
217 /// state before the operation fully completes. For that period of time, you
218 /// can't update the resource. Use the operation status to determine when the
219 /// processing fully completes.
220 ///
221 /// # Long running operations
222 ///
223 /// This method is used to start, and/or poll a [long-running Operation].
224 /// The [Working with long-running operations] chapter in the [user guide]
225 /// covers these operations in detail.
226 ///
227 /// [long-running operation]: https://google.aip.dev/151
228 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
229 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
230 ///
231 /// # Example
232 /// ```
233 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
234 /// use google_cloud_lro::Poller;
235 /// # extern crate wkt as google_cloud_wkt;
236 /// use google_cloud_wkt::FieldMask;
237 /// use google_cloud_vmwareengine_v1::model::PrivateCloud;
238 /// use google_cloud_vmwareengine_v1::Result;
239 /// async fn sample(
240 /// client: &VmwareEngine, name: &str
241 /// ) -> Result<()> {
242 /// let response = client.update_private_cloud()
243 /// .set_private_cloud(
244 /// PrivateCloud::new().set_name(name)/* set fields */
245 /// )
246 /// .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
247 /// .poller().until_done().await?;
248 /// println!("response {:?}", response);
249 /// Ok(())
250 /// }
251 /// ```
252 pub fn update_private_cloud(&self) -> super::builder::vmware_engine::UpdatePrivateCloud {
253 super::builder::vmware_engine::UpdatePrivateCloud::new(self.inner.clone())
254 }
255
256 /// Schedules a `PrivateCloud` resource for deletion.
257 ///
258 /// A `PrivateCloud` resource scheduled for deletion has `PrivateCloud.state`
259 /// set to `DELETED` and `expireTime` set to the time when deletion is final
260 /// and can no longer be reversed. The delete operation is marked as done
261 /// as soon as the `PrivateCloud` is successfully scheduled for deletion
262 /// (this also applies when `delayHours` is set to zero), and the operation is
263 /// not kept in pending state until `PrivateCloud` is purged.
264 /// `PrivateCloud` can be restored using `UndeletePrivateCloud` method before
265 /// the `expireTime` elapses. When `expireTime` is reached, deletion is final
266 /// and all private cloud resources are irreversibly removed and billing stops.
267 /// During the final removal process, `PrivateCloud.state` is set to `PURGING`.
268 /// `PrivateCloud` can be polled using standard `GET` method for the whole
269 /// period of deletion and purging. It will not be returned only
270 /// when it is completely purged.
271 ///
272 /// # Long running operations
273 ///
274 /// This method is used to start, and/or poll a [long-running Operation].
275 /// The [Working with long-running operations] chapter in the [user guide]
276 /// covers these operations in detail.
277 ///
278 /// [long-running operation]: https://google.aip.dev/151
279 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
280 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
281 ///
282 /// # Example
283 /// ```
284 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
285 /// use google_cloud_lro::Poller;
286 /// use google_cloud_vmwareengine_v1::Result;
287 /// async fn sample(
288 /// client: &VmwareEngine, name: &str
289 /// ) -> Result<()> {
290 /// let response = client.delete_private_cloud()
291 /// .set_name(name)
292 /// .poller().until_done().await?;
293 /// println!("response {:?}", response);
294 /// Ok(())
295 /// }
296 /// ```
297 pub fn delete_private_cloud(&self) -> super::builder::vmware_engine::DeletePrivateCloud {
298 super::builder::vmware_engine::DeletePrivateCloud::new(self.inner.clone())
299 }
300
301 /// Restores a private cloud that was previously scheduled for deletion by
302 /// `DeletePrivateCloud`. A `PrivateCloud` resource scheduled for deletion has
303 /// `PrivateCloud.state` set to `DELETED` and `PrivateCloud.expireTime` set to
304 /// the time when deletion can no longer be reversed.
305 ///
306 /// # Long running operations
307 ///
308 /// This method is used to start, and/or poll a [long-running Operation].
309 /// The [Working with long-running operations] chapter in the [user guide]
310 /// covers these operations in detail.
311 ///
312 /// [long-running operation]: https://google.aip.dev/151
313 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
314 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
315 ///
316 /// # Example
317 /// ```
318 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
319 /// use google_cloud_lro::Poller;
320 /// use google_cloud_vmwareengine_v1::Result;
321 /// async fn sample(
322 /// client: &VmwareEngine, name: &str
323 /// ) -> Result<()> {
324 /// let response = client.undelete_private_cloud()
325 /// .set_name(name)
326 /// .poller().until_done().await?;
327 /// println!("response {:?}", response);
328 /// Ok(())
329 /// }
330 /// ```
331 pub fn undelete_private_cloud(&self) -> super::builder::vmware_engine::UndeletePrivateCloud {
332 super::builder::vmware_engine::UndeletePrivateCloud::new(self.inner.clone())
333 }
334
335 /// Lists `Cluster` resources in a given private cloud.
336 ///
337 /// # Example
338 /// ```
339 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
340 /// use google_cloud_gax::paginator::ItemPaginator as _;
341 /// use google_cloud_vmwareengine_v1::Result;
342 /// async fn sample(
343 /// client: &VmwareEngine, parent: &str
344 /// ) -> Result<()> {
345 /// let mut list = client.list_clusters()
346 /// .set_parent(parent)
347 /// .by_item();
348 /// while let Some(item) = list.next().await.transpose()? {
349 /// println!("{:?}", item);
350 /// }
351 /// Ok(())
352 /// }
353 /// ```
354 pub fn list_clusters(&self) -> super::builder::vmware_engine::ListClusters {
355 super::builder::vmware_engine::ListClusters::new(self.inner.clone())
356 }
357
358 /// Retrieves a `Cluster` resource by its resource name.
359 ///
360 /// # Example
361 /// ```
362 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
363 /// use google_cloud_vmwareengine_v1::Result;
364 /// async fn sample(
365 /// client: &VmwareEngine, name: &str
366 /// ) -> Result<()> {
367 /// let response = client.get_cluster()
368 /// .set_name(name)
369 /// .send().await?;
370 /// println!("response {:?}", response);
371 /// Ok(())
372 /// }
373 /// ```
374 pub fn get_cluster(&self) -> super::builder::vmware_engine::GetCluster {
375 super::builder::vmware_engine::GetCluster::new(self.inner.clone())
376 }
377
378 /// Creates a new cluster in a given private cloud.
379 /// Creating a new cluster provides additional nodes for
380 /// use in the parent private cloud and requires sufficient [node
381 /// quota](https://cloud.google.com/vmware-engine/quotas).
382 ///
383 /// # Long running operations
384 ///
385 /// This method is used to start, and/or poll a [long-running Operation].
386 /// The [Working with long-running operations] chapter in the [user guide]
387 /// covers these operations in detail.
388 ///
389 /// [long-running operation]: https://google.aip.dev/151
390 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
391 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
392 ///
393 /// # Example
394 /// ```
395 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
396 /// use google_cloud_lro::Poller;
397 /// use google_cloud_vmwareengine_v1::model::Cluster;
398 /// use google_cloud_vmwareengine_v1::Result;
399 /// async fn sample(
400 /// client: &VmwareEngine, parent: &str
401 /// ) -> Result<()> {
402 /// let response = client.create_cluster()
403 /// .set_parent(parent)
404 /// .set_cluster_id("cluster_id_value")
405 /// .set_cluster(
406 /// Cluster::new()/* set fields */
407 /// )
408 /// .poller().until_done().await?;
409 /// println!("response {:?}", response);
410 /// Ok(())
411 /// }
412 /// ```
413 pub fn create_cluster(&self) -> super::builder::vmware_engine::CreateCluster {
414 super::builder::vmware_engine::CreateCluster::new(self.inner.clone())
415 }
416
417 /// Modifies a `Cluster` resource. Only fields specified in `updateMask` are
418 /// applied.
419 ///
420 /// During operation processing, the resource is temporarily in the `ACTIVE`
421 /// state before the operation fully completes. For that period of time, you
422 /// can't update the resource. Use the operation status to determine when the
423 /// processing fully completes.
424 ///
425 /// # Long running operations
426 ///
427 /// This method is used to start, and/or poll a [long-running Operation].
428 /// The [Working with long-running operations] chapter in the [user guide]
429 /// covers these operations in detail.
430 ///
431 /// [long-running operation]: https://google.aip.dev/151
432 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
433 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
434 ///
435 /// # Example
436 /// ```
437 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
438 /// use google_cloud_lro::Poller;
439 /// # extern crate wkt as google_cloud_wkt;
440 /// use google_cloud_wkt::FieldMask;
441 /// use google_cloud_vmwareengine_v1::model::Cluster;
442 /// use google_cloud_vmwareengine_v1::Result;
443 /// async fn sample(
444 /// client: &VmwareEngine, name: &str
445 /// ) -> Result<()> {
446 /// let response = client.update_cluster()
447 /// .set_cluster(
448 /// Cluster::new().set_name(name)/* set fields */
449 /// )
450 /// .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
451 /// .poller().until_done().await?;
452 /// println!("response {:?}", response);
453 /// Ok(())
454 /// }
455 /// ```
456 pub fn update_cluster(&self) -> super::builder::vmware_engine::UpdateCluster {
457 super::builder::vmware_engine::UpdateCluster::new(self.inner.clone())
458 }
459
460 /// Deletes a `Cluster` resource. To avoid unintended data loss, migrate or
461 /// gracefully shut down any workloads running on the cluster before deletion.
462 /// You cannot delete the management cluster of a private cloud using this
463 /// method.
464 ///
465 /// # Long running operations
466 ///
467 /// This method is used to start, and/or poll a [long-running Operation].
468 /// The [Working with long-running operations] chapter in the [user guide]
469 /// covers these operations in detail.
470 ///
471 /// [long-running operation]: https://google.aip.dev/151
472 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
473 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
474 ///
475 /// # Example
476 /// ```
477 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
478 /// use google_cloud_lro::Poller;
479 /// use google_cloud_vmwareengine_v1::Result;
480 /// async fn sample(
481 /// client: &VmwareEngine, name: &str
482 /// ) -> Result<()> {
483 /// client.delete_cluster()
484 /// .set_name(name)
485 /// .poller().until_done().await?;
486 /// Ok(())
487 /// }
488 /// ```
489 pub fn delete_cluster(&self) -> super::builder::vmware_engine::DeleteCluster {
490 super::builder::vmware_engine::DeleteCluster::new(self.inner.clone())
491 }
492
493 /// Lists nodes in a given cluster.
494 ///
495 /// # Example
496 /// ```
497 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
498 /// use google_cloud_gax::paginator::ItemPaginator as _;
499 /// use google_cloud_vmwareengine_v1::Result;
500 /// async fn sample(
501 /// client: &VmwareEngine, parent: &str
502 /// ) -> Result<()> {
503 /// let mut list = client.list_nodes()
504 /// .set_parent(parent)
505 /// .by_item();
506 /// while let Some(item) = list.next().await.transpose()? {
507 /// println!("{:?}", item);
508 /// }
509 /// Ok(())
510 /// }
511 /// ```
512 pub fn list_nodes(&self) -> super::builder::vmware_engine::ListNodes {
513 super::builder::vmware_engine::ListNodes::new(self.inner.clone())
514 }
515
516 /// Gets details of a single node.
517 ///
518 /// # Example
519 /// ```
520 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
521 /// use google_cloud_vmwareengine_v1::Result;
522 /// async fn sample(
523 /// client: &VmwareEngine, name: &str
524 /// ) -> Result<()> {
525 /// let response = client.get_node()
526 /// .set_name(name)
527 /// .send().await?;
528 /// println!("response {:?}", response);
529 /// Ok(())
530 /// }
531 /// ```
532 pub fn get_node(&self) -> super::builder::vmware_engine::GetNode {
533 super::builder::vmware_engine::GetNode::new(self.inner.clone())
534 }
535
536 /// Lists external IP addresses assigned to VMware workload VMs in a given
537 /// private cloud.
538 ///
539 /// # Example
540 /// ```
541 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
542 /// use google_cloud_gax::paginator::ItemPaginator as _;
543 /// use google_cloud_vmwareengine_v1::Result;
544 /// async fn sample(
545 /// client: &VmwareEngine, parent: &str
546 /// ) -> Result<()> {
547 /// let mut list = client.list_external_addresses()
548 /// .set_parent(parent)
549 /// .by_item();
550 /// while let Some(item) = list.next().await.transpose()? {
551 /// println!("{:?}", item);
552 /// }
553 /// Ok(())
554 /// }
555 /// ```
556 pub fn list_external_addresses(&self) -> super::builder::vmware_engine::ListExternalAddresses {
557 super::builder::vmware_engine::ListExternalAddresses::new(self.inner.clone())
558 }
559
560 /// Lists external IP addresses assigned to VMware workload VMs within the
561 /// scope of the given network policy.
562 ///
563 /// # Example
564 /// ```
565 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
566 /// use google_cloud_gax::paginator::ItemPaginator as _;
567 /// use google_cloud_vmwareengine_v1::Result;
568 /// async fn sample(
569 /// client: &VmwareEngine
570 /// ) -> Result<()> {
571 /// let mut list = client.fetch_network_policy_external_addresses()
572 /// /* set fields */
573 /// .by_item();
574 /// while let Some(item) = list.next().await.transpose()? {
575 /// println!("{:?}", item);
576 /// }
577 /// Ok(())
578 /// }
579 /// ```
580 pub fn fetch_network_policy_external_addresses(
581 &self,
582 ) -> super::builder::vmware_engine::FetchNetworkPolicyExternalAddresses {
583 super::builder::vmware_engine::FetchNetworkPolicyExternalAddresses::new(self.inner.clone())
584 }
585
586 /// Gets details of a single external IP address.
587 ///
588 /// # Example
589 /// ```
590 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
591 /// use google_cloud_vmwareengine_v1::Result;
592 /// async fn sample(
593 /// client: &VmwareEngine, name: &str
594 /// ) -> Result<()> {
595 /// let response = client.get_external_address()
596 /// .set_name(name)
597 /// .send().await?;
598 /// println!("response {:?}", response);
599 /// Ok(())
600 /// }
601 /// ```
602 pub fn get_external_address(&self) -> super::builder::vmware_engine::GetExternalAddress {
603 super::builder::vmware_engine::GetExternalAddress::new(self.inner.clone())
604 }
605
606 /// Creates a new `ExternalAddress` resource in a given private cloud. The
607 /// network policy that corresponds to the private cloud must have the external
608 /// IP address network service enabled (`NetworkPolicy.external_ip`).
609 ///
610 /// # Long running operations
611 ///
612 /// This method is used to start, and/or poll a [long-running Operation].
613 /// The [Working with long-running operations] chapter in the [user guide]
614 /// covers these operations in detail.
615 ///
616 /// [long-running operation]: https://google.aip.dev/151
617 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
618 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
619 ///
620 /// # Example
621 /// ```
622 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
623 /// use google_cloud_lro::Poller;
624 /// use google_cloud_vmwareengine_v1::model::ExternalAddress;
625 /// use google_cloud_vmwareengine_v1::Result;
626 /// async fn sample(
627 /// client: &VmwareEngine, parent: &str
628 /// ) -> Result<()> {
629 /// let response = client.create_external_address()
630 /// .set_parent(parent)
631 /// .set_external_address(
632 /// ExternalAddress::new()/* set fields */
633 /// )
634 /// .poller().until_done().await?;
635 /// println!("response {:?}", response);
636 /// Ok(())
637 /// }
638 /// ```
639 pub fn create_external_address(&self) -> super::builder::vmware_engine::CreateExternalAddress {
640 super::builder::vmware_engine::CreateExternalAddress::new(self.inner.clone())
641 }
642
643 /// Updates the parameters of a single external IP address.
644 /// Only fields specified in `update_mask` are applied.
645 ///
646 /// During operation processing, the resource is temporarily in the `ACTIVE`
647 /// state before the operation fully completes. For that period of time, you
648 /// can't update the resource. Use the operation status to determine when the
649 /// processing fully completes.
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 ///
661 /// # Example
662 /// ```
663 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
664 /// use google_cloud_lro::Poller;
665 /// # extern crate wkt as google_cloud_wkt;
666 /// use google_cloud_wkt::FieldMask;
667 /// use google_cloud_vmwareengine_v1::model::ExternalAddress;
668 /// use google_cloud_vmwareengine_v1::Result;
669 /// async fn sample(
670 /// client: &VmwareEngine, name: &str
671 /// ) -> Result<()> {
672 /// let response = client.update_external_address()
673 /// .set_external_address(
674 /// ExternalAddress::new().set_name(name)/* set fields */
675 /// )
676 /// .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
677 /// .poller().until_done().await?;
678 /// println!("response {:?}", response);
679 /// Ok(())
680 /// }
681 /// ```
682 pub fn update_external_address(&self) -> super::builder::vmware_engine::UpdateExternalAddress {
683 super::builder::vmware_engine::UpdateExternalAddress::new(self.inner.clone())
684 }
685
686 /// Deletes a single external IP address. When you delete an external IP
687 /// address, connectivity between the external IP address and the corresponding
688 /// internal IP address is lost.
689 ///
690 /// # Long running operations
691 ///
692 /// This method is used to start, and/or poll a [long-running Operation].
693 /// The [Working with long-running operations] chapter in the [user guide]
694 /// covers these operations in detail.
695 ///
696 /// [long-running operation]: https://google.aip.dev/151
697 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
698 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
699 ///
700 /// # Example
701 /// ```
702 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
703 /// use google_cloud_lro::Poller;
704 /// use google_cloud_vmwareengine_v1::Result;
705 /// async fn sample(
706 /// client: &VmwareEngine, name: &str
707 /// ) -> Result<()> {
708 /// client.delete_external_address()
709 /// .set_name(name)
710 /// .poller().until_done().await?;
711 /// Ok(())
712 /// }
713 /// ```
714 pub fn delete_external_address(&self) -> super::builder::vmware_engine::DeleteExternalAddress {
715 super::builder::vmware_engine::DeleteExternalAddress::new(self.inner.clone())
716 }
717
718 /// Lists subnets in a given private cloud.
719 ///
720 /// # Example
721 /// ```
722 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
723 /// use google_cloud_gax::paginator::ItemPaginator as _;
724 /// use google_cloud_vmwareengine_v1::Result;
725 /// async fn sample(
726 /// client: &VmwareEngine, parent: &str
727 /// ) -> Result<()> {
728 /// let mut list = client.list_subnets()
729 /// .set_parent(parent)
730 /// .by_item();
731 /// while let Some(item) = list.next().await.transpose()? {
732 /// println!("{:?}", item);
733 /// }
734 /// Ok(())
735 /// }
736 /// ```
737 pub fn list_subnets(&self) -> super::builder::vmware_engine::ListSubnets {
738 super::builder::vmware_engine::ListSubnets::new(self.inner.clone())
739 }
740
741 /// Gets details of a single subnet.
742 ///
743 /// # Example
744 /// ```
745 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
746 /// use google_cloud_vmwareengine_v1::Result;
747 /// async fn sample(
748 /// client: &VmwareEngine, name: &str
749 /// ) -> Result<()> {
750 /// let response = client.get_subnet()
751 /// .set_name(name)
752 /// .send().await?;
753 /// println!("response {:?}", response);
754 /// Ok(())
755 /// }
756 /// ```
757 pub fn get_subnet(&self) -> super::builder::vmware_engine::GetSubnet {
758 super::builder::vmware_engine::GetSubnet::new(self.inner.clone())
759 }
760
761 /// Updates the parameters of a single subnet. Only fields specified in
762 /// `update_mask` are applied.
763 ///
764 /// *Note*: This API is synchronous and always returns a successful
765 /// `google.longrunning.Operation` (LRO). The returned LRO will only have
766 /// `done` and `response` fields.
767 ///
768 /// # Long running operations
769 ///
770 /// This method is used to start, and/or poll a [long-running Operation].
771 /// The [Working with long-running operations] chapter in the [user guide]
772 /// covers these operations in detail.
773 ///
774 /// [long-running operation]: https://google.aip.dev/151
775 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
776 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
777 ///
778 /// # Example
779 /// ```
780 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
781 /// use google_cloud_lro::Poller;
782 /// # extern crate wkt as google_cloud_wkt;
783 /// use google_cloud_wkt::FieldMask;
784 /// use google_cloud_vmwareengine_v1::model::Subnet;
785 /// use google_cloud_vmwareengine_v1::Result;
786 /// async fn sample(
787 /// client: &VmwareEngine, name: &str
788 /// ) -> Result<()> {
789 /// let response = client.update_subnet()
790 /// .set_subnet(
791 /// Subnet::new().set_name(name)/* set fields */
792 /// )
793 /// .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
794 /// .poller().until_done().await?;
795 /// println!("response {:?}", response);
796 /// Ok(())
797 /// }
798 /// ```
799 pub fn update_subnet(&self) -> super::builder::vmware_engine::UpdateSubnet {
800 super::builder::vmware_engine::UpdateSubnet::new(self.inner.clone())
801 }
802
803 /// Lists `ExternalAccessRule` resources in the specified network policy.
804 ///
805 /// # Example
806 /// ```
807 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
808 /// use google_cloud_gax::paginator::ItemPaginator as _;
809 /// use google_cloud_vmwareengine_v1::Result;
810 /// async fn sample(
811 /// client: &VmwareEngine, parent: &str
812 /// ) -> Result<()> {
813 /// let mut list = client.list_external_access_rules()
814 /// .set_parent(parent)
815 /// .by_item();
816 /// while let Some(item) = list.next().await.transpose()? {
817 /// println!("{:?}", item);
818 /// }
819 /// Ok(())
820 /// }
821 /// ```
822 pub fn list_external_access_rules(
823 &self,
824 ) -> super::builder::vmware_engine::ListExternalAccessRules {
825 super::builder::vmware_engine::ListExternalAccessRules::new(self.inner.clone())
826 }
827
828 /// Gets details of a single external access rule.
829 ///
830 /// # Example
831 /// ```
832 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
833 /// use google_cloud_vmwareengine_v1::Result;
834 /// async fn sample(
835 /// client: &VmwareEngine, name: &str
836 /// ) -> Result<()> {
837 /// let response = client.get_external_access_rule()
838 /// .set_name(name)
839 /// .send().await?;
840 /// println!("response {:?}", response);
841 /// Ok(())
842 /// }
843 /// ```
844 pub fn get_external_access_rule(&self) -> super::builder::vmware_engine::GetExternalAccessRule {
845 super::builder::vmware_engine::GetExternalAccessRule::new(self.inner.clone())
846 }
847
848 /// Creates a new external access rule in a given network policy.
849 ///
850 /// # Long running operations
851 ///
852 /// This method is used to start, and/or poll a [long-running Operation].
853 /// The [Working with long-running operations] chapter in the [user guide]
854 /// covers these operations in detail.
855 ///
856 /// [long-running operation]: https://google.aip.dev/151
857 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
858 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
859 ///
860 /// # Example
861 /// ```
862 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
863 /// use google_cloud_lro::Poller;
864 /// use google_cloud_vmwareengine_v1::model::ExternalAccessRule;
865 /// use google_cloud_vmwareengine_v1::Result;
866 /// async fn sample(
867 /// client: &VmwareEngine, parent: &str
868 /// ) -> Result<()> {
869 /// let response = client.create_external_access_rule()
870 /// .set_parent(parent)
871 /// .set_external_access_rule(
872 /// ExternalAccessRule::new()/* set fields */
873 /// )
874 /// .poller().until_done().await?;
875 /// println!("response {:?}", response);
876 /// Ok(())
877 /// }
878 /// ```
879 pub fn create_external_access_rule(
880 &self,
881 ) -> super::builder::vmware_engine::CreateExternalAccessRule {
882 super::builder::vmware_engine::CreateExternalAccessRule::new(self.inner.clone())
883 }
884
885 /// Updates the parameters of a single external access rule.
886 /// Only fields specified in `update_mask` are applied.
887 ///
888 /// # Long running operations
889 ///
890 /// This method is used to start, and/or poll a [long-running Operation].
891 /// The [Working with long-running operations] chapter in the [user guide]
892 /// covers these operations in detail.
893 ///
894 /// [long-running operation]: https://google.aip.dev/151
895 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
896 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
897 ///
898 /// # Example
899 /// ```
900 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
901 /// use google_cloud_lro::Poller;
902 /// # extern crate wkt as google_cloud_wkt;
903 /// use google_cloud_wkt::FieldMask;
904 /// use google_cloud_vmwareengine_v1::model::ExternalAccessRule;
905 /// use google_cloud_vmwareengine_v1::Result;
906 /// async fn sample(
907 /// client: &VmwareEngine, name: &str
908 /// ) -> Result<()> {
909 /// let response = client.update_external_access_rule()
910 /// .set_external_access_rule(
911 /// ExternalAccessRule::new().set_name(name)/* set fields */
912 /// )
913 /// .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
914 /// .poller().until_done().await?;
915 /// println!("response {:?}", response);
916 /// Ok(())
917 /// }
918 /// ```
919 pub fn update_external_access_rule(
920 &self,
921 ) -> super::builder::vmware_engine::UpdateExternalAccessRule {
922 super::builder::vmware_engine::UpdateExternalAccessRule::new(self.inner.clone())
923 }
924
925 /// Deletes a single external access rule.
926 ///
927 /// # Long running operations
928 ///
929 /// This method is used to start, and/or poll a [long-running Operation].
930 /// The [Working with long-running operations] chapter in the [user guide]
931 /// covers these operations in detail.
932 ///
933 /// [long-running operation]: https://google.aip.dev/151
934 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
935 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
936 ///
937 /// # Example
938 /// ```
939 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
940 /// use google_cloud_lro::Poller;
941 /// use google_cloud_vmwareengine_v1::Result;
942 /// async fn sample(
943 /// client: &VmwareEngine, name: &str
944 /// ) -> Result<()> {
945 /// client.delete_external_access_rule()
946 /// .set_name(name)
947 /// .poller().until_done().await?;
948 /// Ok(())
949 /// }
950 /// ```
951 pub fn delete_external_access_rule(
952 &self,
953 ) -> super::builder::vmware_engine::DeleteExternalAccessRule {
954 super::builder::vmware_engine::DeleteExternalAccessRule::new(self.inner.clone())
955 }
956
957 /// Lists logging servers configured for a given private
958 /// cloud.
959 ///
960 /// # Example
961 /// ```
962 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
963 /// use google_cloud_gax::paginator::ItemPaginator as _;
964 /// use google_cloud_vmwareengine_v1::Result;
965 /// async fn sample(
966 /// client: &VmwareEngine, parent: &str
967 /// ) -> Result<()> {
968 /// let mut list = client.list_logging_servers()
969 /// .set_parent(parent)
970 /// .by_item();
971 /// while let Some(item) = list.next().await.transpose()? {
972 /// println!("{:?}", item);
973 /// }
974 /// Ok(())
975 /// }
976 /// ```
977 pub fn list_logging_servers(&self) -> super::builder::vmware_engine::ListLoggingServers {
978 super::builder::vmware_engine::ListLoggingServers::new(self.inner.clone())
979 }
980
981 /// Gets details of a logging server.
982 ///
983 /// # Example
984 /// ```
985 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
986 /// use google_cloud_vmwareengine_v1::Result;
987 /// async fn sample(
988 /// client: &VmwareEngine, name: &str
989 /// ) -> Result<()> {
990 /// let response = client.get_logging_server()
991 /// .set_name(name)
992 /// .send().await?;
993 /// println!("response {:?}", response);
994 /// Ok(())
995 /// }
996 /// ```
997 pub fn get_logging_server(&self) -> super::builder::vmware_engine::GetLoggingServer {
998 super::builder::vmware_engine::GetLoggingServer::new(self.inner.clone())
999 }
1000
1001 /// Create a new logging server for a given private cloud.
1002 ///
1003 /// # Long running operations
1004 ///
1005 /// This method is used to start, and/or poll a [long-running Operation].
1006 /// The [Working with long-running operations] chapter in the [user guide]
1007 /// covers these operations in detail.
1008 ///
1009 /// [long-running operation]: https://google.aip.dev/151
1010 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1011 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1012 ///
1013 /// # Example
1014 /// ```
1015 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1016 /// use google_cloud_lro::Poller;
1017 /// use google_cloud_vmwareengine_v1::model::LoggingServer;
1018 /// use google_cloud_vmwareengine_v1::Result;
1019 /// async fn sample(
1020 /// client: &VmwareEngine, parent: &str
1021 /// ) -> Result<()> {
1022 /// let response = client.create_logging_server()
1023 /// .set_parent(parent)
1024 /// .set_logging_server(
1025 /// LoggingServer::new()/* set fields */
1026 /// )
1027 /// .poller().until_done().await?;
1028 /// println!("response {:?}", response);
1029 /// Ok(())
1030 /// }
1031 /// ```
1032 pub fn create_logging_server(&self) -> super::builder::vmware_engine::CreateLoggingServer {
1033 super::builder::vmware_engine::CreateLoggingServer::new(self.inner.clone())
1034 }
1035
1036 /// Updates the parameters of a single logging server.
1037 /// Only fields specified in `update_mask` are applied.
1038 ///
1039 /// # Long running operations
1040 ///
1041 /// This method is used to start, and/or poll a [long-running Operation].
1042 /// The [Working with long-running operations] chapter in the [user guide]
1043 /// covers these operations in detail.
1044 ///
1045 /// [long-running operation]: https://google.aip.dev/151
1046 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1047 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1048 ///
1049 /// # Example
1050 /// ```
1051 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1052 /// use google_cloud_lro::Poller;
1053 /// # extern crate wkt as google_cloud_wkt;
1054 /// use google_cloud_wkt::FieldMask;
1055 /// use google_cloud_vmwareengine_v1::model::LoggingServer;
1056 /// use google_cloud_vmwareengine_v1::Result;
1057 /// async fn sample(
1058 /// client: &VmwareEngine, name: &str
1059 /// ) -> Result<()> {
1060 /// let response = client.update_logging_server()
1061 /// .set_logging_server(
1062 /// LoggingServer::new().set_name(name)/* set fields */
1063 /// )
1064 /// .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
1065 /// .poller().until_done().await?;
1066 /// println!("response {:?}", response);
1067 /// Ok(())
1068 /// }
1069 /// ```
1070 pub fn update_logging_server(&self) -> super::builder::vmware_engine::UpdateLoggingServer {
1071 super::builder::vmware_engine::UpdateLoggingServer::new(self.inner.clone())
1072 }
1073
1074 /// Deletes a single logging server.
1075 ///
1076 /// # Long running operations
1077 ///
1078 /// This method is used to start, and/or poll a [long-running Operation].
1079 /// The [Working with long-running operations] chapter in the [user guide]
1080 /// covers these operations in detail.
1081 ///
1082 /// [long-running operation]: https://google.aip.dev/151
1083 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1084 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1085 ///
1086 /// # Example
1087 /// ```
1088 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1089 /// use google_cloud_lro::Poller;
1090 /// use google_cloud_vmwareengine_v1::Result;
1091 /// async fn sample(
1092 /// client: &VmwareEngine, name: &str
1093 /// ) -> Result<()> {
1094 /// client.delete_logging_server()
1095 /// .set_name(name)
1096 /// .poller().until_done().await?;
1097 /// Ok(())
1098 /// }
1099 /// ```
1100 pub fn delete_logging_server(&self) -> super::builder::vmware_engine::DeleteLoggingServer {
1101 super::builder::vmware_engine::DeleteLoggingServer::new(self.inner.clone())
1102 }
1103
1104 /// Lists node types
1105 ///
1106 /// # Example
1107 /// ```
1108 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1109 /// use google_cloud_gax::paginator::ItemPaginator as _;
1110 /// use google_cloud_vmwareengine_v1::Result;
1111 /// async fn sample(
1112 /// client: &VmwareEngine, parent: &str
1113 /// ) -> Result<()> {
1114 /// let mut list = client.list_node_types()
1115 /// .set_parent(parent)
1116 /// .by_item();
1117 /// while let Some(item) = list.next().await.transpose()? {
1118 /// println!("{:?}", item);
1119 /// }
1120 /// Ok(())
1121 /// }
1122 /// ```
1123 pub fn list_node_types(&self) -> super::builder::vmware_engine::ListNodeTypes {
1124 super::builder::vmware_engine::ListNodeTypes::new(self.inner.clone())
1125 }
1126
1127 /// Gets details of a single `NodeType`.
1128 ///
1129 /// # Example
1130 /// ```
1131 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1132 /// use google_cloud_vmwareengine_v1::Result;
1133 /// async fn sample(
1134 /// client: &VmwareEngine, name: &str
1135 /// ) -> Result<()> {
1136 /// let response = client.get_node_type()
1137 /// .set_name(name)
1138 /// .send().await?;
1139 /// println!("response {:?}", response);
1140 /// Ok(())
1141 /// }
1142 /// ```
1143 pub fn get_node_type(&self) -> super::builder::vmware_engine::GetNodeType {
1144 super::builder::vmware_engine::GetNodeType::new(self.inner.clone())
1145 }
1146
1147 /// Gets details of credentials for NSX appliance.
1148 ///
1149 /// # Example
1150 /// ```
1151 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1152 /// use google_cloud_vmwareengine_v1::Result;
1153 /// async fn sample(
1154 /// client: &VmwareEngine
1155 /// ) -> Result<()> {
1156 /// let response = client.show_nsx_credentials()
1157 /// /* set fields */
1158 /// .send().await?;
1159 /// println!("response {:?}", response);
1160 /// Ok(())
1161 /// }
1162 /// ```
1163 pub fn show_nsx_credentials(&self) -> super::builder::vmware_engine::ShowNsxCredentials {
1164 super::builder::vmware_engine::ShowNsxCredentials::new(self.inner.clone())
1165 }
1166
1167 /// Gets details of credentials for Vcenter appliance.
1168 ///
1169 /// # Example
1170 /// ```
1171 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1172 /// use google_cloud_vmwareengine_v1::Result;
1173 /// async fn sample(
1174 /// client: &VmwareEngine
1175 /// ) -> Result<()> {
1176 /// let response = client.show_vcenter_credentials()
1177 /// /* set fields */
1178 /// .send().await?;
1179 /// println!("response {:?}", response);
1180 /// Ok(())
1181 /// }
1182 /// ```
1183 pub fn show_vcenter_credentials(
1184 &self,
1185 ) -> super::builder::vmware_engine::ShowVcenterCredentials {
1186 super::builder::vmware_engine::ShowVcenterCredentials::new(self.inner.clone())
1187 }
1188
1189 /// Resets credentials of the NSX appliance.
1190 ///
1191 /// # Long running operations
1192 ///
1193 /// This method is used to start, and/or poll a [long-running Operation].
1194 /// The [Working with long-running operations] chapter in the [user guide]
1195 /// covers these operations in detail.
1196 ///
1197 /// [long-running operation]: https://google.aip.dev/151
1198 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1199 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1200 ///
1201 /// # Example
1202 /// ```
1203 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1204 /// use google_cloud_lro::Poller;
1205 /// use google_cloud_vmwareengine_v1::Result;
1206 /// async fn sample(
1207 /// client: &VmwareEngine
1208 /// ) -> Result<()> {
1209 /// let response = client.reset_nsx_credentials()
1210 /// /* set fields */
1211 /// .poller().until_done().await?;
1212 /// println!("response {:?}", response);
1213 /// Ok(())
1214 /// }
1215 /// ```
1216 pub fn reset_nsx_credentials(&self) -> super::builder::vmware_engine::ResetNsxCredentials {
1217 super::builder::vmware_engine::ResetNsxCredentials::new(self.inner.clone())
1218 }
1219
1220 /// Resets credentials of the Vcenter appliance.
1221 ///
1222 /// # Long running operations
1223 ///
1224 /// This method is used to start, and/or poll a [long-running Operation].
1225 /// The [Working with long-running operations] chapter in the [user guide]
1226 /// covers these operations in detail.
1227 ///
1228 /// [long-running operation]: https://google.aip.dev/151
1229 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1230 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1231 ///
1232 /// # Example
1233 /// ```
1234 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1235 /// use google_cloud_lro::Poller;
1236 /// use google_cloud_vmwareengine_v1::Result;
1237 /// async fn sample(
1238 /// client: &VmwareEngine
1239 /// ) -> Result<()> {
1240 /// let response = client.reset_vcenter_credentials()
1241 /// /* set fields */
1242 /// .poller().until_done().await?;
1243 /// println!("response {:?}", response);
1244 /// Ok(())
1245 /// }
1246 /// ```
1247 pub fn reset_vcenter_credentials(
1248 &self,
1249 ) -> super::builder::vmware_engine::ResetVcenterCredentials {
1250 super::builder::vmware_engine::ResetVcenterCredentials::new(self.inner.clone())
1251 }
1252
1253 /// Gets details of the `DnsForwarding` config.
1254 ///
1255 /// # Example
1256 /// ```
1257 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1258 /// use google_cloud_vmwareengine_v1::Result;
1259 /// async fn sample(
1260 /// client: &VmwareEngine, name: &str
1261 /// ) -> Result<()> {
1262 /// let response = client.get_dns_forwarding()
1263 /// .set_name(name)
1264 /// .send().await?;
1265 /// println!("response {:?}", response);
1266 /// Ok(())
1267 /// }
1268 /// ```
1269 pub fn get_dns_forwarding(&self) -> super::builder::vmware_engine::GetDnsForwarding {
1270 super::builder::vmware_engine::GetDnsForwarding::new(self.inner.clone())
1271 }
1272
1273 /// Updates the parameters of the `DnsForwarding` config, like associated
1274 /// domains. Only fields specified in `update_mask` are applied.
1275 ///
1276 /// # Long running operations
1277 ///
1278 /// This method is used to start, and/or poll a [long-running Operation].
1279 /// The [Working with long-running operations] chapter in the [user guide]
1280 /// covers these operations in detail.
1281 ///
1282 /// [long-running operation]: https://google.aip.dev/151
1283 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1284 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1285 ///
1286 /// # Example
1287 /// ```
1288 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1289 /// use google_cloud_lro::Poller;
1290 /// # extern crate wkt as google_cloud_wkt;
1291 /// use google_cloud_wkt::FieldMask;
1292 /// use google_cloud_vmwareengine_v1::model::DnsForwarding;
1293 /// use google_cloud_vmwareengine_v1::Result;
1294 /// async fn sample(
1295 /// client: &VmwareEngine, name: &str
1296 /// ) -> Result<()> {
1297 /// let response = client.update_dns_forwarding()
1298 /// .set_dns_forwarding(
1299 /// DnsForwarding::new().set_name(name)/* set fields */
1300 /// )
1301 /// .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
1302 /// .poller().until_done().await?;
1303 /// println!("response {:?}", response);
1304 /// Ok(())
1305 /// }
1306 /// ```
1307 pub fn update_dns_forwarding(&self) -> super::builder::vmware_engine::UpdateDnsForwarding {
1308 super::builder::vmware_engine::UpdateDnsForwarding::new(self.inner.clone())
1309 }
1310
1311 /// Retrieves a `NetworkPeering` resource by its resource name. The resource
1312 /// contains details of the network peering, such as peered
1313 /// networks, import and export custom route configurations, and peering state.
1314 /// NetworkPeering is a global resource and location can only be global.
1315 ///
1316 /// # Example
1317 /// ```
1318 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1319 /// use google_cloud_vmwareengine_v1::Result;
1320 /// async fn sample(
1321 /// client: &VmwareEngine, name: &str
1322 /// ) -> Result<()> {
1323 /// let response = client.get_network_peering()
1324 /// .set_name(name)
1325 /// .send().await?;
1326 /// println!("response {:?}", response);
1327 /// Ok(())
1328 /// }
1329 /// ```
1330 pub fn get_network_peering(&self) -> super::builder::vmware_engine::GetNetworkPeering {
1331 super::builder::vmware_engine::GetNetworkPeering::new(self.inner.clone())
1332 }
1333
1334 /// Lists `NetworkPeering` resources in a given project. NetworkPeering is a
1335 /// global resource and location can only be global.
1336 ///
1337 /// # Example
1338 /// ```
1339 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1340 /// use google_cloud_gax::paginator::ItemPaginator as _;
1341 /// use google_cloud_vmwareengine_v1::Result;
1342 /// async fn sample(
1343 /// client: &VmwareEngine, parent: &str
1344 /// ) -> Result<()> {
1345 /// let mut list = client.list_network_peerings()
1346 /// .set_parent(parent)
1347 /// .by_item();
1348 /// while let Some(item) = list.next().await.transpose()? {
1349 /// println!("{:?}", item);
1350 /// }
1351 /// Ok(())
1352 /// }
1353 /// ```
1354 pub fn list_network_peerings(&self) -> super::builder::vmware_engine::ListNetworkPeerings {
1355 super::builder::vmware_engine::ListNetworkPeerings::new(self.inner.clone())
1356 }
1357
1358 /// Creates a new network peering between the peer network and VMware Engine
1359 /// network provided in a `NetworkPeering` resource. NetworkPeering is a
1360 /// global resource and location can only be global.
1361 ///
1362 /// # Long running operations
1363 ///
1364 /// This method is used to start, and/or poll a [long-running Operation].
1365 /// The [Working with long-running operations] chapter in the [user guide]
1366 /// covers these operations in detail.
1367 ///
1368 /// [long-running operation]: https://google.aip.dev/151
1369 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1370 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1371 ///
1372 /// # Example
1373 /// ```
1374 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1375 /// use google_cloud_lro::Poller;
1376 /// use google_cloud_vmwareengine_v1::model::NetworkPeering;
1377 /// use google_cloud_vmwareengine_v1::Result;
1378 /// async fn sample(
1379 /// client: &VmwareEngine, parent: &str
1380 /// ) -> Result<()> {
1381 /// let response = client.create_network_peering()
1382 /// .set_parent(parent)
1383 /// .set_network_peering(
1384 /// NetworkPeering::new()/* set fields */
1385 /// )
1386 /// .poller().until_done().await?;
1387 /// println!("response {:?}", response);
1388 /// Ok(())
1389 /// }
1390 /// ```
1391 pub fn create_network_peering(&self) -> super::builder::vmware_engine::CreateNetworkPeering {
1392 super::builder::vmware_engine::CreateNetworkPeering::new(self.inner.clone())
1393 }
1394
1395 /// Deletes a `NetworkPeering` resource. When a network peering is deleted for
1396 /// a VMware Engine network, the peer network becomes inaccessible to that
1397 /// VMware Engine network. NetworkPeering is a global resource and location can
1398 /// only be global.
1399 ///
1400 /// # Long running operations
1401 ///
1402 /// This method is used to start, and/or poll a [long-running Operation].
1403 /// The [Working with long-running operations] chapter in the [user guide]
1404 /// covers these operations in detail.
1405 ///
1406 /// [long-running operation]: https://google.aip.dev/151
1407 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1408 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1409 ///
1410 /// # Example
1411 /// ```
1412 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1413 /// use google_cloud_lro::Poller;
1414 /// use google_cloud_vmwareengine_v1::Result;
1415 /// async fn sample(
1416 /// client: &VmwareEngine, name: &str
1417 /// ) -> Result<()> {
1418 /// client.delete_network_peering()
1419 /// .set_name(name)
1420 /// .poller().until_done().await?;
1421 /// Ok(())
1422 /// }
1423 /// ```
1424 pub fn delete_network_peering(&self) -> super::builder::vmware_engine::DeleteNetworkPeering {
1425 super::builder::vmware_engine::DeleteNetworkPeering::new(self.inner.clone())
1426 }
1427
1428 /// Modifies a `NetworkPeering` resource. Only the `description` field can be
1429 /// updated. Only fields specified in `updateMask` are applied. NetworkPeering
1430 /// is a global resource and location can only be global.
1431 ///
1432 /// # Long running operations
1433 ///
1434 /// This method is used to start, and/or poll a [long-running Operation].
1435 /// The [Working with long-running operations] chapter in the [user guide]
1436 /// covers these operations in detail.
1437 ///
1438 /// [long-running operation]: https://google.aip.dev/151
1439 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1440 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1441 ///
1442 /// # Example
1443 /// ```
1444 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1445 /// use google_cloud_lro::Poller;
1446 /// # extern crate wkt as google_cloud_wkt;
1447 /// use google_cloud_wkt::FieldMask;
1448 /// use google_cloud_vmwareengine_v1::model::NetworkPeering;
1449 /// use google_cloud_vmwareengine_v1::Result;
1450 /// async fn sample(
1451 /// client: &VmwareEngine, name: &str
1452 /// ) -> Result<()> {
1453 /// let response = client.update_network_peering()
1454 /// .set_network_peering(
1455 /// NetworkPeering::new().set_name(name)/* set fields */
1456 /// )
1457 /// .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
1458 /// .poller().until_done().await?;
1459 /// println!("response {:?}", response);
1460 /// Ok(())
1461 /// }
1462 /// ```
1463 pub fn update_network_peering(&self) -> super::builder::vmware_engine::UpdateNetworkPeering {
1464 super::builder::vmware_engine::UpdateNetworkPeering::new(self.inner.clone())
1465 }
1466
1467 /// Lists the network peering routes exchanged over a peering connection.
1468 /// NetworkPeering is a global resource and location can only be global.
1469 ///
1470 /// # Example
1471 /// ```
1472 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1473 /// use google_cloud_gax::paginator::ItemPaginator as _;
1474 /// use google_cloud_vmwareengine_v1::Result;
1475 /// async fn sample(
1476 /// client: &VmwareEngine
1477 /// ) -> Result<()> {
1478 /// let mut list = client.list_peering_routes()
1479 /// /* set fields */
1480 /// .by_item();
1481 /// while let Some(item) = list.next().await.transpose()? {
1482 /// println!("{:?}", item);
1483 /// }
1484 /// Ok(())
1485 /// }
1486 /// ```
1487 pub fn list_peering_routes(&self) -> super::builder::vmware_engine::ListPeeringRoutes {
1488 super::builder::vmware_engine::ListPeeringRoutes::new(self.inner.clone())
1489 }
1490
1491 /// Creates a new HCX activation key in a given private cloud.
1492 ///
1493 /// # Long running operations
1494 ///
1495 /// This method is used to start, and/or poll a [long-running Operation].
1496 /// The [Working with long-running operations] chapter in the [user guide]
1497 /// covers these operations in detail.
1498 ///
1499 /// [long-running operation]: https://google.aip.dev/151
1500 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1501 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1502 ///
1503 /// # Example
1504 /// ```
1505 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1506 /// use google_cloud_lro::Poller;
1507 /// use google_cloud_vmwareengine_v1::model::HcxActivationKey;
1508 /// use google_cloud_vmwareengine_v1::Result;
1509 /// async fn sample(
1510 /// client: &VmwareEngine, parent: &str
1511 /// ) -> Result<()> {
1512 /// let response = client.create_hcx_activation_key()
1513 /// .set_parent(parent)
1514 /// .set_hcx_activation_key(
1515 /// HcxActivationKey::new()/* set fields */
1516 /// )
1517 /// .poller().until_done().await?;
1518 /// println!("response {:?}", response);
1519 /// Ok(())
1520 /// }
1521 /// ```
1522 pub fn create_hcx_activation_key(
1523 &self,
1524 ) -> super::builder::vmware_engine::CreateHcxActivationKey {
1525 super::builder::vmware_engine::CreateHcxActivationKey::new(self.inner.clone())
1526 }
1527
1528 /// Lists `HcxActivationKey` resources in a given private cloud.
1529 ///
1530 /// # Example
1531 /// ```
1532 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1533 /// use google_cloud_gax::paginator::ItemPaginator as _;
1534 /// use google_cloud_vmwareengine_v1::Result;
1535 /// async fn sample(
1536 /// client: &VmwareEngine, parent: &str
1537 /// ) -> Result<()> {
1538 /// let mut list = client.list_hcx_activation_keys()
1539 /// .set_parent(parent)
1540 /// .by_item();
1541 /// while let Some(item) = list.next().await.transpose()? {
1542 /// println!("{:?}", item);
1543 /// }
1544 /// Ok(())
1545 /// }
1546 /// ```
1547 pub fn list_hcx_activation_keys(&self) -> super::builder::vmware_engine::ListHcxActivationKeys {
1548 super::builder::vmware_engine::ListHcxActivationKeys::new(self.inner.clone())
1549 }
1550
1551 /// Retrieves a `HcxActivationKey` resource by its resource name.
1552 ///
1553 /// # Example
1554 /// ```
1555 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1556 /// use google_cloud_vmwareengine_v1::Result;
1557 /// async fn sample(
1558 /// client: &VmwareEngine, name: &str
1559 /// ) -> Result<()> {
1560 /// let response = client.get_hcx_activation_key()
1561 /// .set_name(name)
1562 /// .send().await?;
1563 /// println!("response {:?}", response);
1564 /// Ok(())
1565 /// }
1566 /// ```
1567 pub fn get_hcx_activation_key(&self) -> super::builder::vmware_engine::GetHcxActivationKey {
1568 super::builder::vmware_engine::GetHcxActivationKey::new(self.inner.clone())
1569 }
1570
1571 /// Retrieves a `NetworkPolicy` resource by its resource name.
1572 ///
1573 /// # Example
1574 /// ```
1575 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1576 /// use google_cloud_vmwareengine_v1::Result;
1577 /// async fn sample(
1578 /// client: &VmwareEngine, name: &str
1579 /// ) -> Result<()> {
1580 /// let response = client.get_network_policy()
1581 /// .set_name(name)
1582 /// .send().await?;
1583 /// println!("response {:?}", response);
1584 /// Ok(())
1585 /// }
1586 /// ```
1587 pub fn get_network_policy(&self) -> super::builder::vmware_engine::GetNetworkPolicy {
1588 super::builder::vmware_engine::GetNetworkPolicy::new(self.inner.clone())
1589 }
1590
1591 /// Lists `NetworkPolicy` resources in a specified project and location.
1592 ///
1593 /// # Example
1594 /// ```
1595 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1596 /// use google_cloud_gax::paginator::ItemPaginator as _;
1597 /// use google_cloud_vmwareengine_v1::Result;
1598 /// async fn sample(
1599 /// client: &VmwareEngine, parent: &str
1600 /// ) -> Result<()> {
1601 /// let mut list = client.list_network_policies()
1602 /// .set_parent(parent)
1603 /// .by_item();
1604 /// while let Some(item) = list.next().await.transpose()? {
1605 /// println!("{:?}", item);
1606 /// }
1607 /// Ok(())
1608 /// }
1609 /// ```
1610 pub fn list_network_policies(&self) -> super::builder::vmware_engine::ListNetworkPolicies {
1611 super::builder::vmware_engine::ListNetworkPolicies::new(self.inner.clone())
1612 }
1613
1614 /// Creates a new network policy in a given VMware Engine network of a
1615 /// project and location (region). A new network policy cannot be created if
1616 /// another network policy already exists in the same scope.
1617 ///
1618 /// # Long running operations
1619 ///
1620 /// This method is used to start, and/or poll a [long-running Operation].
1621 /// The [Working with long-running operations] chapter in the [user guide]
1622 /// covers these operations in detail.
1623 ///
1624 /// [long-running operation]: https://google.aip.dev/151
1625 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1626 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1627 ///
1628 /// # Example
1629 /// ```
1630 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1631 /// use google_cloud_lro::Poller;
1632 /// use google_cloud_vmwareengine_v1::model::NetworkPolicy;
1633 /// use google_cloud_vmwareengine_v1::Result;
1634 /// async fn sample(
1635 /// client: &VmwareEngine, parent: &str
1636 /// ) -> Result<()> {
1637 /// let response = client.create_network_policy()
1638 /// .set_parent(parent)
1639 /// .set_network_policy(
1640 /// NetworkPolicy::new()/* set fields */
1641 /// )
1642 /// .poller().until_done().await?;
1643 /// println!("response {:?}", response);
1644 /// Ok(())
1645 /// }
1646 /// ```
1647 pub fn create_network_policy(&self) -> super::builder::vmware_engine::CreateNetworkPolicy {
1648 super::builder::vmware_engine::CreateNetworkPolicy::new(self.inner.clone())
1649 }
1650
1651 /// Modifies a `NetworkPolicy` resource. Only the following fields can be
1652 /// updated: `internet_access`, `external_ip`, `edge_services_cidr`.
1653 /// Only fields specified in `updateMask` are applied. When updating a network
1654 /// policy, the external IP network service can only be disabled if there are
1655 /// no external IP addresses present in the scope of the policy. Also, a
1656 /// `NetworkService` cannot be updated when `NetworkService.state` is set
1657 /// to `RECONCILING`.
1658 ///
1659 /// During operation processing, the resource is temporarily in the `ACTIVE`
1660 /// state before the operation fully completes. For that period of time, you
1661 /// can't update the resource. Use the operation status to determine when the
1662 /// processing fully completes.
1663 ///
1664 /// # Long running operations
1665 ///
1666 /// This method is used to start, and/or poll a [long-running Operation].
1667 /// The [Working with long-running operations] chapter in the [user guide]
1668 /// covers these operations in detail.
1669 ///
1670 /// [long-running operation]: https://google.aip.dev/151
1671 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1672 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1673 ///
1674 /// # Example
1675 /// ```
1676 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1677 /// use google_cloud_lro::Poller;
1678 /// # extern crate wkt as google_cloud_wkt;
1679 /// use google_cloud_wkt::FieldMask;
1680 /// use google_cloud_vmwareengine_v1::model::NetworkPolicy;
1681 /// use google_cloud_vmwareengine_v1::Result;
1682 /// async fn sample(
1683 /// client: &VmwareEngine, name: &str
1684 /// ) -> Result<()> {
1685 /// let response = client.update_network_policy()
1686 /// .set_network_policy(
1687 /// NetworkPolicy::new().set_name(name)/* set fields */
1688 /// )
1689 /// .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
1690 /// .poller().until_done().await?;
1691 /// println!("response {:?}", response);
1692 /// Ok(())
1693 /// }
1694 /// ```
1695 pub fn update_network_policy(&self) -> super::builder::vmware_engine::UpdateNetworkPolicy {
1696 super::builder::vmware_engine::UpdateNetworkPolicy::new(self.inner.clone())
1697 }
1698
1699 /// Deletes a `NetworkPolicy` resource. A network policy cannot be deleted
1700 /// when `NetworkService.state` is set to `RECONCILING` for either its external
1701 /// IP or internet access service.
1702 ///
1703 /// # Long running operations
1704 ///
1705 /// This method is used to start, and/or poll a [long-running Operation].
1706 /// The [Working with long-running operations] chapter in the [user guide]
1707 /// covers these operations in detail.
1708 ///
1709 /// [long-running operation]: https://google.aip.dev/151
1710 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1711 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1712 ///
1713 /// # Example
1714 /// ```
1715 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1716 /// use google_cloud_lro::Poller;
1717 /// use google_cloud_vmwareengine_v1::Result;
1718 /// async fn sample(
1719 /// client: &VmwareEngine, name: &str
1720 /// ) -> Result<()> {
1721 /// client.delete_network_policy()
1722 /// .set_name(name)
1723 /// .poller().until_done().await?;
1724 /// Ok(())
1725 /// }
1726 /// ```
1727 pub fn delete_network_policy(&self) -> super::builder::vmware_engine::DeleteNetworkPolicy {
1728 super::builder::vmware_engine::DeleteNetworkPolicy::new(self.inner.clone())
1729 }
1730
1731 /// Lists Consumer VPCs bound to Management DNS Zone of a given private cloud.
1732 ///
1733 /// # Example
1734 /// ```
1735 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1736 /// use google_cloud_gax::paginator::ItemPaginator as _;
1737 /// use google_cloud_vmwareengine_v1::Result;
1738 /// async fn sample(
1739 /// client: &VmwareEngine, parent: &str
1740 /// ) -> Result<()> {
1741 /// let mut list = client.list_management_dns_zone_bindings()
1742 /// .set_parent(parent)
1743 /// .by_item();
1744 /// while let Some(item) = list.next().await.transpose()? {
1745 /// println!("{:?}", item);
1746 /// }
1747 /// Ok(())
1748 /// }
1749 /// ```
1750 pub fn list_management_dns_zone_bindings(
1751 &self,
1752 ) -> super::builder::vmware_engine::ListManagementDnsZoneBindings {
1753 super::builder::vmware_engine::ListManagementDnsZoneBindings::new(self.inner.clone())
1754 }
1755
1756 /// Retrieves a 'ManagementDnsZoneBinding' resource by its resource name.
1757 ///
1758 /// # Example
1759 /// ```
1760 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1761 /// use google_cloud_vmwareengine_v1::Result;
1762 /// async fn sample(
1763 /// client: &VmwareEngine, name: &str
1764 /// ) -> Result<()> {
1765 /// let response = client.get_management_dns_zone_binding()
1766 /// .set_name(name)
1767 /// .send().await?;
1768 /// println!("response {:?}", response);
1769 /// Ok(())
1770 /// }
1771 /// ```
1772 pub fn get_management_dns_zone_binding(
1773 &self,
1774 ) -> super::builder::vmware_engine::GetManagementDnsZoneBinding {
1775 super::builder::vmware_engine::GetManagementDnsZoneBinding::new(self.inner.clone())
1776 }
1777
1778 /// Creates a new `ManagementDnsZoneBinding` resource in a private cloud.
1779 /// This RPC creates the DNS binding and the resource that represents the
1780 /// DNS binding of the consumer VPC network to the management DNS zone. A
1781 /// management DNS zone is the Cloud DNS cross-project binding zone that
1782 /// VMware Engine creates for each private cloud. It contains FQDNs and
1783 /// corresponding IP addresses for the private cloud's ESXi hosts and
1784 /// management VM appliances like vCenter and NSX Manager.
1785 ///
1786 /// # Long running operations
1787 ///
1788 /// This method is used to start, and/or poll a [long-running Operation].
1789 /// The [Working with long-running operations] chapter in the [user guide]
1790 /// covers these operations in detail.
1791 ///
1792 /// [long-running operation]: https://google.aip.dev/151
1793 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1794 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1795 ///
1796 /// # Example
1797 /// ```
1798 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1799 /// use google_cloud_lro::Poller;
1800 /// use google_cloud_vmwareengine_v1::model::ManagementDnsZoneBinding;
1801 /// use google_cloud_vmwareengine_v1::Result;
1802 /// async fn sample(
1803 /// client: &VmwareEngine, parent: &str
1804 /// ) -> Result<()> {
1805 /// let response = client.create_management_dns_zone_binding()
1806 /// .set_parent(parent)
1807 /// .set_management_dns_zone_binding(
1808 /// ManagementDnsZoneBinding::new()/* set fields */
1809 /// )
1810 /// .poller().until_done().await?;
1811 /// println!("response {:?}", response);
1812 /// Ok(())
1813 /// }
1814 /// ```
1815 pub fn create_management_dns_zone_binding(
1816 &self,
1817 ) -> super::builder::vmware_engine::CreateManagementDnsZoneBinding {
1818 super::builder::vmware_engine::CreateManagementDnsZoneBinding::new(self.inner.clone())
1819 }
1820
1821 /// Updates a `ManagementDnsZoneBinding` resource.
1822 /// Only fields specified in `update_mask` are applied.
1823 ///
1824 /// # Long running operations
1825 ///
1826 /// This method is used to start, and/or poll a [long-running Operation].
1827 /// The [Working with long-running operations] chapter in the [user guide]
1828 /// covers these operations in detail.
1829 ///
1830 /// [long-running operation]: https://google.aip.dev/151
1831 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1832 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1833 ///
1834 /// # Example
1835 /// ```
1836 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1837 /// use google_cloud_lro::Poller;
1838 /// # extern crate wkt as google_cloud_wkt;
1839 /// use google_cloud_wkt::FieldMask;
1840 /// use google_cloud_vmwareengine_v1::model::ManagementDnsZoneBinding;
1841 /// use google_cloud_vmwareengine_v1::Result;
1842 /// async fn sample(
1843 /// client: &VmwareEngine, name: &str
1844 /// ) -> Result<()> {
1845 /// let response = client.update_management_dns_zone_binding()
1846 /// .set_management_dns_zone_binding(
1847 /// ManagementDnsZoneBinding::new().set_name(name)/* set fields */
1848 /// )
1849 /// .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
1850 /// .poller().until_done().await?;
1851 /// println!("response {:?}", response);
1852 /// Ok(())
1853 /// }
1854 /// ```
1855 pub fn update_management_dns_zone_binding(
1856 &self,
1857 ) -> super::builder::vmware_engine::UpdateManagementDnsZoneBinding {
1858 super::builder::vmware_engine::UpdateManagementDnsZoneBinding::new(self.inner.clone())
1859 }
1860
1861 /// Deletes a `ManagementDnsZoneBinding` resource. When a management DNS zone
1862 /// binding is deleted, the corresponding consumer VPC network is no longer
1863 /// bound to the management DNS zone.
1864 ///
1865 /// # Long running operations
1866 ///
1867 /// This method is used to start, and/or poll a [long-running Operation].
1868 /// The [Working with long-running operations] chapter in the [user guide]
1869 /// covers these operations in detail.
1870 ///
1871 /// [long-running operation]: https://google.aip.dev/151
1872 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1873 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1874 ///
1875 /// # Example
1876 /// ```
1877 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1878 /// use google_cloud_lro::Poller;
1879 /// use google_cloud_vmwareengine_v1::Result;
1880 /// async fn sample(
1881 /// client: &VmwareEngine, name: &str
1882 /// ) -> Result<()> {
1883 /// client.delete_management_dns_zone_binding()
1884 /// .set_name(name)
1885 /// .poller().until_done().await?;
1886 /// Ok(())
1887 /// }
1888 /// ```
1889 pub fn delete_management_dns_zone_binding(
1890 &self,
1891 ) -> super::builder::vmware_engine::DeleteManagementDnsZoneBinding {
1892 super::builder::vmware_engine::DeleteManagementDnsZoneBinding::new(self.inner.clone())
1893 }
1894
1895 /// Retries to create a `ManagementDnsZoneBinding` resource that is
1896 /// in failed state.
1897 ///
1898 /// # Long running operations
1899 ///
1900 /// This method is used to start, and/or poll a [long-running Operation].
1901 /// The [Working with long-running operations] chapter in the [user guide]
1902 /// covers these operations in detail.
1903 ///
1904 /// [long-running operation]: https://google.aip.dev/151
1905 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1906 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1907 ///
1908 /// # Example
1909 /// ```
1910 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1911 /// use google_cloud_lro::Poller;
1912 /// use google_cloud_vmwareengine_v1::Result;
1913 /// async fn sample(
1914 /// client: &VmwareEngine
1915 /// ) -> Result<()> {
1916 /// let response = client.repair_management_dns_zone_binding()
1917 /// /* set fields */
1918 /// .poller().until_done().await?;
1919 /// println!("response {:?}", response);
1920 /// Ok(())
1921 /// }
1922 /// ```
1923 pub fn repair_management_dns_zone_binding(
1924 &self,
1925 ) -> super::builder::vmware_engine::RepairManagementDnsZoneBinding {
1926 super::builder::vmware_engine::RepairManagementDnsZoneBinding::new(self.inner.clone())
1927 }
1928
1929 /// Creates a new VMware Engine network that can be used by a private cloud.
1930 ///
1931 /// # Long running operations
1932 ///
1933 /// This method is used to start, and/or poll a [long-running Operation].
1934 /// The [Working with long-running operations] chapter in the [user guide]
1935 /// covers these operations in detail.
1936 ///
1937 /// [long-running operation]: https://google.aip.dev/151
1938 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1939 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1940 ///
1941 /// # Example
1942 /// ```
1943 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1944 /// use google_cloud_lro::Poller;
1945 /// use google_cloud_vmwareengine_v1::model::VmwareEngineNetwork;
1946 /// use google_cloud_vmwareengine_v1::Result;
1947 /// async fn sample(
1948 /// client: &VmwareEngine, parent: &str
1949 /// ) -> Result<()> {
1950 /// let response = client.create_vmware_engine_network()
1951 /// .set_parent(parent)
1952 /// .set_vmware_engine_network(
1953 /// VmwareEngineNetwork::new()/* set fields */
1954 /// )
1955 /// .poller().until_done().await?;
1956 /// println!("response {:?}", response);
1957 /// Ok(())
1958 /// }
1959 /// ```
1960 pub fn create_vmware_engine_network(
1961 &self,
1962 ) -> super::builder::vmware_engine::CreateVmwareEngineNetwork {
1963 super::builder::vmware_engine::CreateVmwareEngineNetwork::new(self.inner.clone())
1964 }
1965
1966 /// Modifies a VMware Engine network resource. Only the following fields can be
1967 /// updated: `description`. Only fields specified in `updateMask` are
1968 /// applied.
1969 ///
1970 /// # Long running operations
1971 ///
1972 /// This method is used to start, and/or poll a [long-running Operation].
1973 /// The [Working with long-running operations] chapter in the [user guide]
1974 /// covers these operations in detail.
1975 ///
1976 /// [long-running operation]: https://google.aip.dev/151
1977 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
1978 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
1979 ///
1980 /// # Example
1981 /// ```
1982 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
1983 /// use google_cloud_lro::Poller;
1984 /// # extern crate wkt as google_cloud_wkt;
1985 /// use google_cloud_wkt::FieldMask;
1986 /// use google_cloud_vmwareengine_v1::model::VmwareEngineNetwork;
1987 /// use google_cloud_vmwareengine_v1::Result;
1988 /// async fn sample(
1989 /// client: &VmwareEngine, name: &str
1990 /// ) -> Result<()> {
1991 /// let response = client.update_vmware_engine_network()
1992 /// .set_vmware_engine_network(
1993 /// VmwareEngineNetwork::new().set_name(name)/* set fields */
1994 /// )
1995 /// .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
1996 /// .poller().until_done().await?;
1997 /// println!("response {:?}", response);
1998 /// Ok(())
1999 /// }
2000 /// ```
2001 pub fn update_vmware_engine_network(
2002 &self,
2003 ) -> super::builder::vmware_engine::UpdateVmwareEngineNetwork {
2004 super::builder::vmware_engine::UpdateVmwareEngineNetwork::new(self.inner.clone())
2005 }
2006
2007 /// Deletes a `VmwareEngineNetwork` resource. You can only delete a VMware
2008 /// Engine network after all resources that refer to it are deleted. For
2009 /// example, a private cloud, a network peering, and a network policy can all
2010 /// refer to the same VMware Engine network.
2011 ///
2012 /// # Long running operations
2013 ///
2014 /// This method is used to start, and/or poll a [long-running Operation].
2015 /// The [Working with long-running operations] chapter in the [user guide]
2016 /// covers these operations in detail.
2017 ///
2018 /// [long-running operation]: https://google.aip.dev/151
2019 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
2020 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
2021 ///
2022 /// # Example
2023 /// ```
2024 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2025 /// use google_cloud_lro::Poller;
2026 /// use google_cloud_vmwareengine_v1::Result;
2027 /// async fn sample(
2028 /// client: &VmwareEngine, name: &str
2029 /// ) -> Result<()> {
2030 /// client.delete_vmware_engine_network()
2031 /// .set_name(name)
2032 /// .poller().until_done().await?;
2033 /// Ok(())
2034 /// }
2035 /// ```
2036 pub fn delete_vmware_engine_network(
2037 &self,
2038 ) -> super::builder::vmware_engine::DeleteVmwareEngineNetwork {
2039 super::builder::vmware_engine::DeleteVmwareEngineNetwork::new(self.inner.clone())
2040 }
2041
2042 /// Retrieves a `VmwareEngineNetwork` resource by its resource name. The
2043 /// resource contains details of the VMware Engine network, such as its VMware
2044 /// Engine network type, peered networks in a service project, and state
2045 /// (for example, `CREATING`, `ACTIVE`, `DELETING`).
2046 ///
2047 /// # Example
2048 /// ```
2049 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2050 /// use google_cloud_vmwareengine_v1::Result;
2051 /// async fn sample(
2052 /// client: &VmwareEngine, name: &str
2053 /// ) -> Result<()> {
2054 /// let response = client.get_vmware_engine_network()
2055 /// .set_name(name)
2056 /// .send().await?;
2057 /// println!("response {:?}", response);
2058 /// Ok(())
2059 /// }
2060 /// ```
2061 pub fn get_vmware_engine_network(
2062 &self,
2063 ) -> super::builder::vmware_engine::GetVmwareEngineNetwork {
2064 super::builder::vmware_engine::GetVmwareEngineNetwork::new(self.inner.clone())
2065 }
2066
2067 /// Lists `VmwareEngineNetwork` resources in a given project and location.
2068 ///
2069 /// # Example
2070 /// ```
2071 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2072 /// use google_cloud_gax::paginator::ItemPaginator as _;
2073 /// use google_cloud_vmwareengine_v1::Result;
2074 /// async fn sample(
2075 /// client: &VmwareEngine, parent: &str
2076 /// ) -> Result<()> {
2077 /// let mut list = client.list_vmware_engine_networks()
2078 /// .set_parent(parent)
2079 /// .by_item();
2080 /// while let Some(item) = list.next().await.transpose()? {
2081 /// println!("{:?}", item);
2082 /// }
2083 /// Ok(())
2084 /// }
2085 /// ```
2086 pub fn list_vmware_engine_networks(
2087 &self,
2088 ) -> super::builder::vmware_engine::ListVmwareEngineNetworks {
2089 super::builder::vmware_engine::ListVmwareEngineNetworks::new(self.inner.clone())
2090 }
2091
2092 /// Creates a new private connection that can be used for accessing private
2093 /// Clouds.
2094 ///
2095 /// # Long running operations
2096 ///
2097 /// This method is used to start, and/or poll a [long-running Operation].
2098 /// The [Working with long-running operations] chapter in the [user guide]
2099 /// covers these operations in detail.
2100 ///
2101 /// [long-running operation]: https://google.aip.dev/151
2102 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
2103 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
2104 ///
2105 /// # Example
2106 /// ```
2107 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2108 /// use google_cloud_lro::Poller;
2109 /// use google_cloud_vmwareengine_v1::model::PrivateConnection;
2110 /// use google_cloud_vmwareengine_v1::Result;
2111 /// async fn sample(
2112 /// client: &VmwareEngine, parent: &str
2113 /// ) -> Result<()> {
2114 /// let response = client.create_private_connection()
2115 /// .set_parent(parent)
2116 /// .set_private_connection(
2117 /// PrivateConnection::new()/* set fields */
2118 /// )
2119 /// .poller().until_done().await?;
2120 /// println!("response {:?}", response);
2121 /// Ok(())
2122 /// }
2123 /// ```
2124 pub fn create_private_connection(
2125 &self,
2126 ) -> super::builder::vmware_engine::CreatePrivateConnection {
2127 super::builder::vmware_engine::CreatePrivateConnection::new(self.inner.clone())
2128 }
2129
2130 /// Retrieves a `PrivateConnection` resource by its resource name. The resource
2131 /// contains details of the private connection, such as connected
2132 /// network, routing mode and state.
2133 ///
2134 /// # Example
2135 /// ```
2136 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2137 /// use google_cloud_vmwareengine_v1::Result;
2138 /// async fn sample(
2139 /// client: &VmwareEngine, name: &str
2140 /// ) -> Result<()> {
2141 /// let response = client.get_private_connection()
2142 /// .set_name(name)
2143 /// .send().await?;
2144 /// println!("response {:?}", response);
2145 /// Ok(())
2146 /// }
2147 /// ```
2148 pub fn get_private_connection(&self) -> super::builder::vmware_engine::GetPrivateConnection {
2149 super::builder::vmware_engine::GetPrivateConnection::new(self.inner.clone())
2150 }
2151
2152 /// Lists `PrivateConnection` resources in a given project and location.
2153 ///
2154 /// # Example
2155 /// ```
2156 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2157 /// use google_cloud_gax::paginator::ItemPaginator as _;
2158 /// use google_cloud_vmwareengine_v1::Result;
2159 /// async fn sample(
2160 /// client: &VmwareEngine, parent: &str
2161 /// ) -> Result<()> {
2162 /// let mut list = client.list_private_connections()
2163 /// .set_parent(parent)
2164 /// .by_item();
2165 /// while let Some(item) = list.next().await.transpose()? {
2166 /// println!("{:?}", item);
2167 /// }
2168 /// Ok(())
2169 /// }
2170 /// ```
2171 pub fn list_private_connections(
2172 &self,
2173 ) -> super::builder::vmware_engine::ListPrivateConnections {
2174 super::builder::vmware_engine::ListPrivateConnections::new(self.inner.clone())
2175 }
2176
2177 /// Modifies a `PrivateConnection` resource. Only `description` and
2178 /// `routing_mode` fields can be updated. Only fields specified in `updateMask`
2179 /// are applied.
2180 ///
2181 /// # Long running operations
2182 ///
2183 /// This method is used to start, and/or poll a [long-running Operation].
2184 /// The [Working with long-running operations] chapter in the [user guide]
2185 /// covers these operations in detail.
2186 ///
2187 /// [long-running operation]: https://google.aip.dev/151
2188 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
2189 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
2190 ///
2191 /// # Example
2192 /// ```
2193 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2194 /// use google_cloud_lro::Poller;
2195 /// # extern crate wkt as google_cloud_wkt;
2196 /// use google_cloud_wkt::FieldMask;
2197 /// use google_cloud_vmwareengine_v1::model::PrivateConnection;
2198 /// use google_cloud_vmwareengine_v1::Result;
2199 /// async fn sample(
2200 /// client: &VmwareEngine, name: &str
2201 /// ) -> Result<()> {
2202 /// let response = client.update_private_connection()
2203 /// .set_private_connection(
2204 /// PrivateConnection::new().set_name(name)/* set fields */
2205 /// )
2206 /// .set_update_mask(FieldMask::default().set_paths(["updated.field.path1", "updated.field.path2"]))
2207 /// .poller().until_done().await?;
2208 /// println!("response {:?}", response);
2209 /// Ok(())
2210 /// }
2211 /// ```
2212 pub fn update_private_connection(
2213 &self,
2214 ) -> super::builder::vmware_engine::UpdatePrivateConnection {
2215 super::builder::vmware_engine::UpdatePrivateConnection::new(self.inner.clone())
2216 }
2217
2218 /// Deletes a `PrivateConnection` resource. When a private connection is
2219 /// deleted for a VMware Engine network, the connected network becomes
2220 /// inaccessible to that VMware Engine network.
2221 ///
2222 /// # Long running operations
2223 ///
2224 /// This method is used to start, and/or poll a [long-running Operation].
2225 /// The [Working with long-running operations] chapter in the [user guide]
2226 /// covers these operations in detail.
2227 ///
2228 /// [long-running operation]: https://google.aip.dev/151
2229 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
2230 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
2231 ///
2232 /// # Example
2233 /// ```
2234 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2235 /// use google_cloud_lro::Poller;
2236 /// use google_cloud_vmwareengine_v1::Result;
2237 /// async fn sample(
2238 /// client: &VmwareEngine, name: &str
2239 /// ) -> Result<()> {
2240 /// client.delete_private_connection()
2241 /// .set_name(name)
2242 /// .poller().until_done().await?;
2243 /// Ok(())
2244 /// }
2245 /// ```
2246 pub fn delete_private_connection(
2247 &self,
2248 ) -> super::builder::vmware_engine::DeletePrivateConnection {
2249 super::builder::vmware_engine::DeletePrivateConnection::new(self.inner.clone())
2250 }
2251
2252 /// Lists the private connection routes exchanged over a peering connection.
2253 ///
2254 /// # Example
2255 /// ```
2256 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2257 /// use google_cloud_gax::paginator::ItemPaginator as _;
2258 /// use google_cloud_vmwareengine_v1::Result;
2259 /// async fn sample(
2260 /// client: &VmwareEngine
2261 /// ) -> Result<()> {
2262 /// let mut list = client.list_private_connection_peering_routes()
2263 /// /* set fields */
2264 /// .by_item();
2265 /// while let Some(item) = list.next().await.transpose()? {
2266 /// println!("{:?}", item);
2267 /// }
2268 /// Ok(())
2269 /// }
2270 /// ```
2271 pub fn list_private_connection_peering_routes(
2272 &self,
2273 ) -> super::builder::vmware_engine::ListPrivateConnectionPeeringRoutes {
2274 super::builder::vmware_engine::ListPrivateConnectionPeeringRoutes::new(self.inner.clone())
2275 }
2276
2277 /// Grants the bind permission to the customer provided principal(user /
2278 /// service account) to bind their DNS zone with the intranet VPC associated
2279 /// with the project. DnsBindPermission is a global resource and location can
2280 /// only be global.
2281 ///
2282 /// # Long running operations
2283 ///
2284 /// This method is used to start, and/or poll a [long-running Operation].
2285 /// The [Working with long-running operations] chapter in the [user guide]
2286 /// covers these operations in detail.
2287 ///
2288 /// [long-running operation]: https://google.aip.dev/151
2289 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
2290 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
2291 ///
2292 /// # Example
2293 /// ```
2294 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2295 /// use google_cloud_lro::Poller;
2296 /// use google_cloud_vmwareengine_v1::Result;
2297 /// async fn sample(
2298 /// client: &VmwareEngine
2299 /// ) -> Result<()> {
2300 /// let response = client.grant_dns_bind_permission()
2301 /// /* set fields */
2302 /// .poller().until_done().await?;
2303 /// println!("response {:?}", response);
2304 /// Ok(())
2305 /// }
2306 /// ```
2307 pub fn grant_dns_bind_permission(
2308 &self,
2309 ) -> super::builder::vmware_engine::GrantDnsBindPermission {
2310 super::builder::vmware_engine::GrantDnsBindPermission::new(self.inner.clone())
2311 }
2312
2313 /// Gets all the principals having bind permission on the intranet VPC
2314 /// associated with the consumer project granted by the Grant API.
2315 /// DnsBindPermission is a global resource and location can only be global.
2316 ///
2317 /// # Example
2318 /// ```
2319 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2320 /// use google_cloud_vmwareengine_v1::Result;
2321 /// async fn sample(
2322 /// client: &VmwareEngine, name: &str
2323 /// ) -> Result<()> {
2324 /// let response = client.get_dns_bind_permission()
2325 /// .set_name(name)
2326 /// .send().await?;
2327 /// println!("response {:?}", response);
2328 /// Ok(())
2329 /// }
2330 /// ```
2331 pub fn get_dns_bind_permission(&self) -> super::builder::vmware_engine::GetDnsBindPermission {
2332 super::builder::vmware_engine::GetDnsBindPermission::new(self.inner.clone())
2333 }
2334
2335 /// Revokes the bind permission from the customer provided principal(user /
2336 /// service account) on the intranet VPC associated with the consumer project.
2337 /// DnsBindPermission is a global resource and location can only be global.
2338 ///
2339 /// # Long running operations
2340 ///
2341 /// This method is used to start, and/or poll a [long-running Operation].
2342 /// The [Working with long-running operations] chapter in the [user guide]
2343 /// covers these operations in detail.
2344 ///
2345 /// [long-running operation]: https://google.aip.dev/151
2346 /// [user guide]: https://googleapis.github.io/google-cloud-rust/
2347 /// [working with long-running operations]: https://googleapis.github.io/google-cloud-rust/working_with_long_running_operations.html
2348 ///
2349 /// # Example
2350 /// ```
2351 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2352 /// use google_cloud_lro::Poller;
2353 /// use google_cloud_vmwareengine_v1::Result;
2354 /// async fn sample(
2355 /// client: &VmwareEngine
2356 /// ) -> Result<()> {
2357 /// let response = client.revoke_dns_bind_permission()
2358 /// /* set fields */
2359 /// .poller().until_done().await?;
2360 /// println!("response {:?}", response);
2361 /// Ok(())
2362 /// }
2363 /// ```
2364 pub fn revoke_dns_bind_permission(
2365 &self,
2366 ) -> super::builder::vmware_engine::RevokeDnsBindPermission {
2367 super::builder::vmware_engine::RevokeDnsBindPermission::new(self.inner.clone())
2368 }
2369
2370 /// Lists information about the supported locations for this service.
2371 ///
2372 /// # Example
2373 /// ```
2374 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2375 /// use google_cloud_gax::paginator::ItemPaginator as _;
2376 /// use google_cloud_vmwareengine_v1::Result;
2377 /// async fn sample(
2378 /// client: &VmwareEngine
2379 /// ) -> Result<()> {
2380 /// let mut list = client.list_locations()
2381 /// /* set fields */
2382 /// .by_item();
2383 /// while let Some(item) = list.next().await.transpose()? {
2384 /// println!("{:?}", item);
2385 /// }
2386 /// Ok(())
2387 /// }
2388 /// ```
2389 pub fn list_locations(&self) -> super::builder::vmware_engine::ListLocations {
2390 super::builder::vmware_engine::ListLocations::new(self.inner.clone())
2391 }
2392
2393 /// Gets information about a location.
2394 ///
2395 /// # Example
2396 /// ```
2397 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2398 /// use google_cloud_vmwareengine_v1::Result;
2399 /// async fn sample(
2400 /// client: &VmwareEngine
2401 /// ) -> Result<()> {
2402 /// let response = client.get_location()
2403 /// /* set fields */
2404 /// .send().await?;
2405 /// println!("response {:?}", response);
2406 /// Ok(())
2407 /// }
2408 /// ```
2409 pub fn get_location(&self) -> super::builder::vmware_engine::GetLocation {
2410 super::builder::vmware_engine::GetLocation::new(self.inner.clone())
2411 }
2412
2413 /// Sets the access control policy on the specified resource. Replaces
2414 /// any existing policy.
2415 ///
2416 /// Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
2417 /// errors.
2418 ///
2419 /// # Example
2420 /// ```
2421 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2422 /// use google_cloud_vmwareengine_v1::Result;
2423 /// async fn sample(
2424 /// client: &VmwareEngine
2425 /// ) -> Result<()> {
2426 /// let response = client.set_iam_policy()
2427 /// /* set fields */
2428 /// .send().await?;
2429 /// println!("response {:?}", response);
2430 /// Ok(())
2431 /// }
2432 /// ```
2433 pub fn set_iam_policy(&self) -> super::builder::vmware_engine::SetIamPolicy {
2434 super::builder::vmware_engine::SetIamPolicy::new(self.inner.clone())
2435 }
2436
2437 /// Gets the access control policy for a resource. Returns an empty policy
2438 /// if the resource exists and does not have a policy set.
2439 ///
2440 /// # Example
2441 /// ```
2442 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2443 /// use google_cloud_vmwareengine_v1::Result;
2444 /// async fn sample(
2445 /// client: &VmwareEngine
2446 /// ) -> Result<()> {
2447 /// let response = client.get_iam_policy()
2448 /// /* set fields */
2449 /// .send().await?;
2450 /// println!("response {:?}", response);
2451 /// Ok(())
2452 /// }
2453 /// ```
2454 pub fn get_iam_policy(&self) -> super::builder::vmware_engine::GetIamPolicy {
2455 super::builder::vmware_engine::GetIamPolicy::new(self.inner.clone())
2456 }
2457
2458 /// Returns permissions that a caller has on the specified resource. If the
2459 /// resource does not exist, this will return an empty set of
2460 /// permissions, not a `NOT_FOUND` error.
2461 ///
2462 /// Note: This operation is designed to be used for building
2463 /// permission-aware UIs and command-line tools, not for authorization
2464 /// checking. This operation may "fail open" without warning.
2465 ///
2466 /// # Example
2467 /// ```
2468 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2469 /// use google_cloud_vmwareengine_v1::Result;
2470 /// async fn sample(
2471 /// client: &VmwareEngine
2472 /// ) -> Result<()> {
2473 /// let response = client.test_iam_permissions()
2474 /// /* set fields */
2475 /// .send().await?;
2476 /// println!("response {:?}", response);
2477 /// Ok(())
2478 /// }
2479 /// ```
2480 pub fn test_iam_permissions(&self) -> super::builder::vmware_engine::TestIamPermissions {
2481 super::builder::vmware_engine::TestIamPermissions::new(self.inner.clone())
2482 }
2483
2484 /// Provides the [Operations][google.longrunning.Operations] service functionality in this service.
2485 ///
2486 /// [google.longrunning.Operations]: google-cloud-longrunning::client::Operations
2487 ///
2488 /// # Example
2489 /// ```
2490 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2491 /// use google_cloud_gax::paginator::ItemPaginator as _;
2492 /// use google_cloud_vmwareengine_v1::Result;
2493 /// async fn sample(
2494 /// client: &VmwareEngine
2495 /// ) -> Result<()> {
2496 /// let mut list = client.list_operations()
2497 /// /* set fields */
2498 /// .by_item();
2499 /// while let Some(item) = list.next().await.transpose()? {
2500 /// println!("{:?}", item);
2501 /// }
2502 /// Ok(())
2503 /// }
2504 /// ```
2505 pub fn list_operations(&self) -> super::builder::vmware_engine::ListOperations {
2506 super::builder::vmware_engine::ListOperations::new(self.inner.clone())
2507 }
2508
2509 /// Provides the [Operations][google.longrunning.Operations] service functionality in this service.
2510 ///
2511 /// [google.longrunning.Operations]: google-cloud-longrunning::client::Operations
2512 ///
2513 /// # Example
2514 /// ```
2515 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2516 /// use google_cloud_vmwareengine_v1::Result;
2517 /// async fn sample(
2518 /// client: &VmwareEngine
2519 /// ) -> Result<()> {
2520 /// let response = client.get_operation()
2521 /// /* set fields */
2522 /// .send().await?;
2523 /// println!("response {:?}", response);
2524 /// Ok(())
2525 /// }
2526 /// ```
2527 pub fn get_operation(&self) -> super::builder::vmware_engine::GetOperation {
2528 super::builder::vmware_engine::GetOperation::new(self.inner.clone())
2529 }
2530
2531 /// Provides the [Operations][google.longrunning.Operations] service functionality in this service.
2532 ///
2533 /// [google.longrunning.Operations]: google-cloud-longrunning::client::Operations
2534 ///
2535 /// # Example
2536 /// ```
2537 /// # use google_cloud_vmwareengine_v1::client::VmwareEngine;
2538 /// use google_cloud_vmwareengine_v1::Result;
2539 /// async fn sample(
2540 /// client: &VmwareEngine
2541 /// ) -> Result<()> {
2542 /// client.delete_operation()
2543 /// /* set fields */
2544 /// .send().await?;
2545 /// Ok(())
2546 /// }
2547 /// ```
2548 pub fn delete_operation(&self) -> super::builder::vmware_engine::DeleteOperation {
2549 super::builder::vmware_engine::DeleteOperation::new(self.inner.clone())
2550 }
2551}