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