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