googleapis_tonic_google_cloud_vmwareengine_v1/vec_u8_hash_map/google.cloud.vmwareengine.v1.rs
1// This file is @generated by prost-build.
2/// Network configuration in the consumer project
3/// with which the peering has to be done.
4#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5pub struct NetworkConfig {
6 /// Required. Management CIDR used by VMware management appliances.
7 #[prost(string, tag = "4")]
8 pub management_cidr: ::prost::alloc::string::String,
9 /// Optional. The relative resource name of the VMware Engine network attached
10 /// to the private cloud. Specify the name in the following form:
11 /// `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
12 /// where `{project}` can either be a project number or a project ID.
13 #[prost(string, tag = "5")]
14 pub vmware_engine_network: ::prost::alloc::string::String,
15 /// Output only. The canonical name of the VMware Engine network in the form:
16 /// `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
17 #[prost(string, tag = "6")]
18 pub vmware_engine_network_canonical: ::prost::alloc::string::String,
19 /// Output only. The IP address layout version of the management IP address
20 /// range. Possible versions include:
21 ///
22 /// * `managementIpAddressLayoutVersion=1`: Indicates the legacy IP address
23 /// layout used by some existing private clouds. This is no longer supported
24 /// for new private clouds as it does not support all features.
25 /// * `managementIpAddressLayoutVersion=2`: Indicates the latest IP address
26 /// layout used by all newly created private clouds. This version supports all
27 /// current features.
28 #[prost(int32, tag = "8")]
29 pub management_ip_address_layout_version: i32,
30 /// Output only. DNS Server IP of the Private Cloud.
31 /// All DNS queries can be forwarded to this address for name resolution of
32 /// Private Cloud's management entities like vCenter, NSX-T Manager and
33 /// ESXi hosts.
34 #[prost(string, tag = "9")]
35 pub dns_server_ip: ::prost::alloc::string::String,
36}
37/// Information about the type and number of nodes associated with the cluster.
38#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
39pub struct NodeTypeConfig {
40 /// Required. The number of nodes of this type in the cluster
41 #[prost(int32, tag = "1")]
42 pub node_count: i32,
43 /// Optional. Customized number of cores available to each node of the type.
44 /// This number must always be one of `nodeType.availableCustomCoreCounts`.
45 /// If zero is provided max value from `nodeType.availableCustomCoreCounts`
46 /// will be used.
47 #[prost(int32, tag = "2")]
48 pub custom_core_count: i32,
49}
50/// Configuration of a stretched cluster.
51#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
52pub struct StretchedClusterConfig {
53 /// Required. Zone that will remain operational when connection between the two
54 /// zones is lost. Specify the resource name of a zone that belongs to the
55 /// region of the private cloud. For example:
56 /// `projects/{project}/locations/europe-west3-a` where `{project}` can either
57 /// be a project number or a project ID.
58 #[prost(string, tag = "1")]
59 pub preferred_location: ::prost::alloc::string::String,
60 /// Required. Additional zone for a higher level of availability and load
61 /// balancing. Specify the resource name of a zone that belongs to the region
62 /// of the private cloud. For example:
63 /// `projects/{project}/locations/europe-west3-b` where `{project}` can either
64 /// be a project number or a project ID.
65 #[prost(string, tag = "2")]
66 pub secondary_location: ::prost::alloc::string::String,
67}
68/// Represents a private cloud resource. Private clouds of type `STANDARD` and
69/// `TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are
70/// regional.
71#[derive(Clone, PartialEq, ::prost::Message)]
72pub struct PrivateCloud {
73 /// Output only. The resource name of this private cloud.
74 /// Resource names are schemeless URIs that follow the conventions in
75 /// <https://cloud.google.com/apis/design/resource_names.>
76 /// For example:
77 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
78 #[prost(string, tag = "1")]
79 pub name: ::prost::alloc::string::String,
80 /// Output only. Creation time of this resource.
81 #[prost(message, optional, tag = "2")]
82 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
83 /// Output only. Last update time of this resource.
84 #[prost(message, optional, tag = "3")]
85 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
86 /// Output only. Time when the resource was scheduled for deletion.
87 #[prost(message, optional, tag = "4")]
88 pub delete_time: ::core::option::Option<::prost_types::Timestamp>,
89 /// Output only. Time when the resource will be irreversibly deleted.
90 #[prost(message, optional, tag = "5")]
91 pub expire_time: ::core::option::Option<::prost_types::Timestamp>,
92 /// Output only. State of the resource. New values may be added to this enum
93 /// when appropriate.
94 #[prost(enumeration = "private_cloud::State", tag = "8")]
95 pub state: i32,
96 /// Required. Network configuration of the private cloud.
97 #[prost(message, optional, tag = "9")]
98 pub network_config: ::core::option::Option<NetworkConfig>,
99 /// Required. Input only. The management cluster for this private cloud.
100 /// This field is required during creation of the private cloud to provide
101 /// details for the default cluster.
102 ///
103 /// The following fields can't be changed after private cloud creation:
104 /// `ManagementCluster.clusterId`, `ManagementCluster.nodeTypeId`.
105 #[prost(message, optional, tag = "10")]
106 pub management_cluster: ::core::option::Option<private_cloud::ManagementCluster>,
107 /// User-provided description for this private cloud.
108 #[prost(string, tag = "11")]
109 pub description: ::prost::alloc::string::String,
110 /// Output only. HCX appliance.
111 #[prost(message, optional, tag = "17")]
112 pub hcx: ::core::option::Option<Hcx>,
113 /// Output only. NSX appliance.
114 #[prost(message, optional, tag = "18")]
115 pub nsx: ::core::option::Option<Nsx>,
116 /// Output only. Vcenter appliance.
117 #[prost(message, optional, tag = "19")]
118 pub vcenter: ::core::option::Option<Vcenter>,
119 /// Output only. System-generated unique identifier for the resource.
120 #[prost(string, tag = "20")]
121 pub uid: ::prost::alloc::string::String,
122 /// Optional. Type of the private cloud. Defaults to STANDARD.
123 #[prost(enumeration = "private_cloud::Type", tag = "22")]
124 pub r#type: i32,
125}
126/// Nested message and enum types in `PrivateCloud`.
127pub mod private_cloud {
128 /// Management cluster configuration.
129 #[derive(Clone, PartialEq, ::prost::Message)]
130 pub struct ManagementCluster {
131 /// Required. The user-provided identifier of the new `Cluster`.
132 /// The identifier must meet the following requirements:
133 ///
134 /// * Only contains 1-63 alphanumeric characters and hyphens
135 /// * Begins with an alphabetical character
136 /// * Ends with a non-hyphen character
137 /// * Not formatted as a UUID
138 /// * Complies with [RFC
139 /// 1034](<https://datatracker.ietf.org/doc/html/rfc1034>) (section 3.5)
140 #[prost(string, tag = "1")]
141 pub cluster_id: ::prost::alloc::string::String,
142 /// Required. The map of cluster node types in this cluster, where the key is
143 /// canonical identifier of the node type (corresponds to the `NodeType`).
144 #[prost(map = "string, message", tag = "7")]
145 pub node_type_configs: ::std::collections::HashMap<
146 ::prost::alloc::string::String,
147 super::NodeTypeConfig,
148 >,
149 /// Optional. Configuration of a stretched cluster. Required for STRETCHED
150 /// private clouds.
151 #[prost(message, optional, tag = "8")]
152 pub stretched_cluster_config: ::core::option::Option<
153 super::StretchedClusterConfig,
154 >,
155 }
156 /// Enum State defines possible states of private clouds.
157 #[derive(
158 Clone,
159 Copy,
160 Debug,
161 PartialEq,
162 Eq,
163 Hash,
164 PartialOrd,
165 Ord,
166 ::prost::Enumeration
167 )]
168 #[repr(i32)]
169 pub enum State {
170 /// The default value. This value should never be used.
171 Unspecified = 0,
172 /// The private cloud is ready.
173 Active = 1,
174 /// The private cloud is being created.
175 Creating = 2,
176 /// The private cloud is being updated.
177 Updating = 3,
178 /// The private cloud is in failed state.
179 Failed = 5,
180 /// The private cloud is scheduled for deletion. The deletion process can be
181 /// cancelled by using the corresponding undelete method.
182 Deleted = 6,
183 /// The private cloud is irreversibly deleted and is being removed from the
184 /// system.
185 Purging = 7,
186 }
187 impl State {
188 /// String value of the enum field names used in the ProtoBuf definition.
189 ///
190 /// The values are not transformed in any way and thus are considered stable
191 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
192 pub fn as_str_name(&self) -> &'static str {
193 match self {
194 Self::Unspecified => "STATE_UNSPECIFIED",
195 Self::Active => "ACTIVE",
196 Self::Creating => "CREATING",
197 Self::Updating => "UPDATING",
198 Self::Failed => "FAILED",
199 Self::Deleted => "DELETED",
200 Self::Purging => "PURGING",
201 }
202 }
203 /// Creates an enum from field names used in the ProtoBuf definition.
204 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
205 match value {
206 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
207 "ACTIVE" => Some(Self::Active),
208 "CREATING" => Some(Self::Creating),
209 "UPDATING" => Some(Self::Updating),
210 "FAILED" => Some(Self::Failed),
211 "DELETED" => Some(Self::Deleted),
212 "PURGING" => Some(Self::Purging),
213 _ => None,
214 }
215 }
216 }
217 /// Enum Type defines private cloud type.
218 #[derive(
219 Clone,
220 Copy,
221 Debug,
222 PartialEq,
223 Eq,
224 Hash,
225 PartialOrd,
226 Ord,
227 ::prost::Enumeration
228 )]
229 #[repr(i32)]
230 pub enum Type {
231 /// Standard private is a zonal resource, with 3+ nodes. Default type.
232 Standard = 0,
233 /// Time limited private cloud is a zonal resource, can have only 1 node and
234 /// has limited life span. Will be deleted after defined period of time,
235 /// can be converted into standard private cloud by expanding it up to 3
236 /// or more nodes.
237 TimeLimited = 1,
238 /// Stretched private cloud is a regional resource with redundancy,
239 /// with a minimum of 6 nodes, nodes count has to be even.
240 Stretched = 2,
241 }
242 impl Type {
243 /// String value of the enum field names used in the ProtoBuf definition.
244 ///
245 /// The values are not transformed in any way and thus are considered stable
246 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
247 pub fn as_str_name(&self) -> &'static str {
248 match self {
249 Self::Standard => "STANDARD",
250 Self::TimeLimited => "TIME_LIMITED",
251 Self::Stretched => "STRETCHED",
252 }
253 }
254 /// Creates an enum from field names used in the ProtoBuf definition.
255 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
256 match value {
257 "STANDARD" => Some(Self::Standard),
258 "TIME_LIMITED" => Some(Self::TimeLimited),
259 "STRETCHED" => Some(Self::Stretched),
260 _ => None,
261 }
262 }
263 }
264}
265/// A cluster in a private cloud.
266#[derive(Clone, PartialEq, ::prost::Message)]
267pub struct Cluster {
268 /// Output only. The resource name of this cluster.
269 /// Resource names are schemeless URIs that follow the conventions in
270 /// <https://cloud.google.com/apis/design/resource_names.>
271 /// For example:
272 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster`
273 #[prost(string, tag = "1")]
274 pub name: ::prost::alloc::string::String,
275 /// Output only. Creation time of this resource.
276 #[prost(message, optional, tag = "2")]
277 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
278 /// Output only. Last update time of this resource.
279 #[prost(message, optional, tag = "3")]
280 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
281 /// Output only. State of the resource.
282 #[prost(enumeration = "cluster::State", tag = "6")]
283 pub state: i32,
284 /// Output only. True if the cluster is a management cluster; false otherwise.
285 /// There can only be one management cluster in a private cloud
286 /// and it has to be the first one.
287 #[prost(bool, tag = "7")]
288 pub management: bool,
289 /// Optional. Configuration of the autoscaling applied to this cluster.
290 #[prost(message, optional, tag = "18")]
291 pub autoscaling_settings: ::core::option::Option<AutoscalingSettings>,
292 /// Output only. System-generated unique identifier for the resource.
293 #[prost(string, tag = "14")]
294 pub uid: ::prost::alloc::string::String,
295 /// Required. The map of cluster node types in this cluster, where the key is
296 /// canonical identifier of the node type (corresponds to the `NodeType`).
297 #[prost(map = "string, message", tag = "16")]
298 pub node_type_configs: ::std::collections::HashMap<
299 ::prost::alloc::string::String,
300 NodeTypeConfig,
301 >,
302 /// Optional. Configuration of a stretched cluster. Required for clusters that
303 /// belong to a STRETCHED private cloud.
304 #[prost(message, optional, tag = "17")]
305 pub stretched_cluster_config: ::core::option::Option<StretchedClusterConfig>,
306}
307/// Nested message and enum types in `Cluster`.
308pub mod cluster {
309 /// Enum State defines possible states of private cloud clusters.
310 #[derive(
311 Clone,
312 Copy,
313 Debug,
314 PartialEq,
315 Eq,
316 Hash,
317 PartialOrd,
318 Ord,
319 ::prost::Enumeration
320 )]
321 #[repr(i32)]
322 pub enum State {
323 /// The default value. This value should never be used.
324 Unspecified = 0,
325 /// The Cluster is operational and can be used by the user.
326 Active = 1,
327 /// The Cluster is being deployed.
328 Creating = 2,
329 /// Adding or removing of a node to the cluster, any other cluster specific
330 /// updates.
331 Updating = 3,
332 /// The Cluster is being deleted.
333 Deleting = 4,
334 /// The Cluster is undergoing maintenance, for example: a failed node is
335 /// getting replaced.
336 Repairing = 5,
337 }
338 impl State {
339 /// String value of the enum field names used in the ProtoBuf definition.
340 ///
341 /// The values are not transformed in any way and thus are considered stable
342 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
343 pub fn as_str_name(&self) -> &'static str {
344 match self {
345 Self::Unspecified => "STATE_UNSPECIFIED",
346 Self::Active => "ACTIVE",
347 Self::Creating => "CREATING",
348 Self::Updating => "UPDATING",
349 Self::Deleting => "DELETING",
350 Self::Repairing => "REPAIRING",
351 }
352 }
353 /// Creates an enum from field names used in the ProtoBuf definition.
354 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
355 match value {
356 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
357 "ACTIVE" => Some(Self::Active),
358 "CREATING" => Some(Self::Creating),
359 "UPDATING" => Some(Self::Updating),
360 "DELETING" => Some(Self::Deleting),
361 "REPAIRING" => Some(Self::Repairing),
362 _ => None,
363 }
364 }
365 }
366}
367/// Node in a cluster.
368#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
369pub struct Node {
370 /// Output only. The resource name of this node.
371 /// Resource names are schemeless URIs that follow the conventions in
372 /// <https://cloud.google.com/apis/design/resource_names.>
373 /// For example:
374 /// projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster/nodes/my-node
375 #[prost(string, tag = "1")]
376 pub name: ::prost::alloc::string::String,
377 /// Output only. Fully qualified domain name of the node.
378 #[prost(string, tag = "2")]
379 pub fqdn: ::prost::alloc::string::String,
380 /// Output only. Internal IP address of the node.
381 #[prost(string, tag = "3")]
382 pub internal_ip: ::prost::alloc::string::String,
383 /// Output only. The canonical identifier of the node type (corresponds to the
384 /// `NodeType`).
385 /// For example: standard-72.
386 #[prost(string, tag = "4")]
387 pub node_type_id: ::prost::alloc::string::String,
388 /// Output only. The version number of the VMware ESXi
389 /// management component in this cluster.
390 #[prost(string, tag = "5")]
391 pub version: ::prost::alloc::string::String,
392 /// Output only. Customized number of cores
393 #[prost(int64, tag = "6")]
394 pub custom_core_count: i64,
395 /// Output only. The state of the appliance.
396 #[prost(enumeration = "node::State", tag = "7")]
397 pub state: i32,
398}
399/// Nested message and enum types in `Node`.
400pub mod node {
401 /// Enum State defines possible states of a node in a cluster.
402 #[derive(
403 Clone,
404 Copy,
405 Debug,
406 PartialEq,
407 Eq,
408 Hash,
409 PartialOrd,
410 Ord,
411 ::prost::Enumeration
412 )]
413 #[repr(i32)]
414 pub enum State {
415 /// The default value. This value should never be used.
416 Unspecified = 0,
417 /// Node is operational and can be used by the user.
418 Active = 1,
419 /// Node is being provisioned.
420 Creating = 2,
421 /// Node is in a failed state.
422 Failed = 3,
423 /// Node is undergoing maintenance, e.g.: during private cloud upgrade.
424 Upgrading = 4,
425 }
426 impl State {
427 /// String value of the enum field names used in the ProtoBuf definition.
428 ///
429 /// The values are not transformed in any way and thus are considered stable
430 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
431 pub fn as_str_name(&self) -> &'static str {
432 match self {
433 Self::Unspecified => "STATE_UNSPECIFIED",
434 Self::Active => "ACTIVE",
435 Self::Creating => "CREATING",
436 Self::Failed => "FAILED",
437 Self::Upgrading => "UPGRADING",
438 }
439 }
440 /// Creates an enum from field names used in the ProtoBuf definition.
441 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
442 match value {
443 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
444 "ACTIVE" => Some(Self::Active),
445 "CREATING" => Some(Self::Creating),
446 "FAILED" => Some(Self::Failed),
447 "UPGRADING" => Some(Self::Upgrading),
448 _ => None,
449 }
450 }
451 }
452}
453/// Represents an allocated external IP address and its corresponding internal IP
454/// address in a private cloud.
455#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
456pub struct ExternalAddress {
457 /// Output only. The resource name of this external IP address.
458 /// Resource names are schemeless URIs that follow the conventions in
459 /// <https://cloud.google.com/apis/design/resource_names.>
460 /// For example:
461 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address`
462 #[prost(string, tag = "1")]
463 pub name: ::prost::alloc::string::String,
464 /// Output only. Creation time of this resource.
465 #[prost(message, optional, tag = "2")]
466 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
467 /// Output only. Last update time of this resource.
468 #[prost(message, optional, tag = "3")]
469 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
470 /// The internal IP address of a workload VM.
471 #[prost(string, tag = "6")]
472 pub internal_ip: ::prost::alloc::string::String,
473 /// Output only. The external IP address of a workload VM.
474 #[prost(string, tag = "7")]
475 pub external_ip: ::prost::alloc::string::String,
476 /// Output only. The state of the resource.
477 #[prost(enumeration = "external_address::State", tag = "8")]
478 pub state: i32,
479 /// Output only. System-generated unique identifier for the resource.
480 #[prost(string, tag = "9")]
481 pub uid: ::prost::alloc::string::String,
482 /// User-provided description for this resource.
483 #[prost(string, tag = "11")]
484 pub description: ::prost::alloc::string::String,
485}
486/// Nested message and enum types in `ExternalAddress`.
487pub mod external_address {
488 /// Enum State defines possible states of external addresses.
489 #[derive(
490 Clone,
491 Copy,
492 Debug,
493 PartialEq,
494 Eq,
495 Hash,
496 PartialOrd,
497 Ord,
498 ::prost::Enumeration
499 )]
500 #[repr(i32)]
501 pub enum State {
502 /// The default value. This value should never be used.
503 Unspecified = 0,
504 /// The address is ready.
505 Active = 1,
506 /// The address is being created.
507 Creating = 2,
508 /// The address is being updated.
509 Updating = 3,
510 /// The address is being deleted.
511 Deleting = 4,
512 }
513 impl State {
514 /// String value of the enum field names used in the ProtoBuf definition.
515 ///
516 /// The values are not transformed in any way and thus are considered stable
517 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
518 pub fn as_str_name(&self) -> &'static str {
519 match self {
520 Self::Unspecified => "STATE_UNSPECIFIED",
521 Self::Active => "ACTIVE",
522 Self::Creating => "CREATING",
523 Self::Updating => "UPDATING",
524 Self::Deleting => "DELETING",
525 }
526 }
527 /// Creates an enum from field names used in the ProtoBuf definition.
528 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
529 match value {
530 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
531 "ACTIVE" => Some(Self::Active),
532 "CREATING" => Some(Self::Creating),
533 "UPDATING" => Some(Self::Updating),
534 "DELETING" => Some(Self::Deleting),
535 _ => None,
536 }
537 }
538 }
539}
540/// Subnet in a private cloud. Either `management` subnets (such as vMotion) that
541/// are read-only, or `userDefined`, which can also be updated.
542#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
543pub struct Subnet {
544 /// Output only. The resource name of this subnet.
545 /// Resource names are schemeless URIs that follow the conventions in
546 /// <https://cloud.google.com/apis/design/resource_names.>
547 /// For example:
548 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet`
549 #[prost(string, tag = "1")]
550 pub name: ::prost::alloc::string::String,
551 /// The IP address range of the subnet in CIDR format '10.0.0.0/24'.
552 #[prost(string, tag = "7")]
553 pub ip_cidr_range: ::prost::alloc::string::String,
554 /// The IP address of the gateway of this subnet.
555 /// Must fall within the IP prefix defined above.
556 #[prost(string, tag = "8")]
557 pub gateway_ip: ::prost::alloc::string::String,
558 /// Output only. The type of the subnet. For example "management" or
559 /// "userDefined".
560 #[prost(string, tag = "11")]
561 pub r#type: ::prost::alloc::string::String,
562 /// Output only. The state of the resource.
563 #[prost(enumeration = "subnet::State", tag = "13")]
564 pub state: i32,
565 /// Output only. VLAN ID of the VLAN on which the subnet is configured
566 #[prost(int32, tag = "16")]
567 pub vlan_id: i32,
568}
569/// Nested message and enum types in `Subnet`.
570pub mod subnet {
571 /// Defines possible states of subnets.
572 #[derive(
573 Clone,
574 Copy,
575 Debug,
576 PartialEq,
577 Eq,
578 Hash,
579 PartialOrd,
580 Ord,
581 ::prost::Enumeration
582 )]
583 #[repr(i32)]
584 pub enum State {
585 /// The default value. This value should never be used.
586 Unspecified = 0,
587 /// The subnet is ready.
588 Active = 1,
589 /// The subnet is being created.
590 Creating = 2,
591 /// The subnet is being updated.
592 Updating = 3,
593 /// The subnet is being deleted.
594 Deleting = 4,
595 /// Changes requested in the last operation are being propagated.
596 Reconciling = 5,
597 /// Last operation on the subnet did not succeed. Subnet's payload is
598 /// reverted back to its most recent working state.
599 Failed = 6,
600 }
601 impl State {
602 /// String value of the enum field names used in the ProtoBuf definition.
603 ///
604 /// The values are not transformed in any way and thus are considered stable
605 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
606 pub fn as_str_name(&self) -> &'static str {
607 match self {
608 Self::Unspecified => "STATE_UNSPECIFIED",
609 Self::Active => "ACTIVE",
610 Self::Creating => "CREATING",
611 Self::Updating => "UPDATING",
612 Self::Deleting => "DELETING",
613 Self::Reconciling => "RECONCILING",
614 Self::Failed => "FAILED",
615 }
616 }
617 /// Creates an enum from field names used in the ProtoBuf definition.
618 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
619 match value {
620 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
621 "ACTIVE" => Some(Self::Active),
622 "CREATING" => Some(Self::Creating),
623 "UPDATING" => Some(Self::Updating),
624 "DELETING" => Some(Self::Deleting),
625 "RECONCILING" => Some(Self::Reconciling),
626 "FAILED" => Some(Self::Failed),
627 _ => None,
628 }
629 }
630 }
631}
632/// External access firewall rules for filtering incoming traffic destined to
633/// `ExternalAddress` resources.
634#[derive(Clone, PartialEq, ::prost::Message)]
635pub struct ExternalAccessRule {
636 /// Output only. The resource name of this external access rule.
637 /// Resource names are schemeless URIs that follow the conventions in
638 /// <https://cloud.google.com/apis/design/resource_names.>
639 /// For example:
640 /// `projects/my-project/locations/us-central1/networkPolicies/my-policy/externalAccessRules/my-rule`
641 #[prost(string, tag = "1")]
642 pub name: ::prost::alloc::string::String,
643 /// Output only. Creation time of this resource.
644 #[prost(message, optional, tag = "2")]
645 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
646 /// Output only. Last update time of this resource.
647 #[prost(message, optional, tag = "3")]
648 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
649 /// User-provided description for this external access rule.
650 #[prost(string, tag = "5")]
651 pub description: ::prost::alloc::string::String,
652 /// External access rule priority, which determines the external access rule to
653 /// use when multiple rules apply. If multiple rules have the same priority,
654 /// their ordering is non-deterministic. If specific ordering is required,
655 /// assign unique priorities to enforce such ordering. The external access rule
656 /// priority is an integer from 100 to 4096, both inclusive. Lower integers
657 /// indicate higher precedence. For example, a rule with priority `100` has
658 /// higher precedence than a rule with priority `101`.
659 #[prost(int32, tag = "6")]
660 pub priority: i32,
661 /// The action that the external access rule performs.
662 #[prost(enumeration = "external_access_rule::Action", tag = "7")]
663 pub action: i32,
664 /// The IP protocol to which the external access rule applies. This value can
665 /// be one of the following three protocol strings (not case-sensitive):
666 /// `tcp`, `udp`, or `icmp`.
667 #[prost(string, tag = "8")]
668 pub ip_protocol: ::prost::alloc::string::String,
669 /// If source ranges are specified, the external access rule applies only to
670 /// traffic that has a source IP address in these ranges. These ranges can
671 /// either be expressed in the CIDR format or as an IP address. As only inbound
672 /// rules are supported, `ExternalAddress` resources cannot be the source IP
673 /// addresses of an external access rule. To match all source addresses,
674 /// specify `0.0.0.0/0`.
675 #[prost(message, repeated, tag = "9")]
676 pub source_ip_ranges: ::prost::alloc::vec::Vec<external_access_rule::IpRange>,
677 /// A list of source ports to which the external access rule applies. This
678 /// field is only applicable for the UDP or TCP protocol.
679 /// Each entry must be either an integer or a range. For example: `\["22"\]`,
680 /// `\["80","443"\]`, or `\["12345-12349"\]`. To match all source ports, specify
681 /// `\["0-65535"\]`.
682 #[prost(string, repeated, tag = "10")]
683 pub source_ports: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
684 /// If destination ranges are specified, the external access rule applies only
685 /// to the traffic that has a destination IP address in these ranges. The
686 /// specified IP addresses must have reserved external IP addresses in the
687 /// scope of the parent network policy. To match all external IP addresses in
688 /// the scope of the parent network policy, specify `0.0.0.0/0`. To match a
689 /// specific external IP address, specify it using the
690 /// `IpRange.external_address` property.
691 #[prost(message, repeated, tag = "11")]
692 pub destination_ip_ranges: ::prost::alloc::vec::Vec<external_access_rule::IpRange>,
693 /// A list of destination ports to which the external access rule applies. This
694 /// field is only applicable for the UDP or TCP protocol.
695 /// Each entry must be either an integer or a range. For example: `\["22"\]`,
696 /// `\["80","443"\]`, or `\["12345-12349"\]`. To match all destination ports,
697 /// specify `\["0-65535"\]`.
698 #[prost(string, repeated, tag = "12")]
699 pub destination_ports: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
700 /// Output only. The state of the resource.
701 #[prost(enumeration = "external_access_rule::State", tag = "13")]
702 pub state: i32,
703 /// Output only. System-generated unique identifier for the resource.
704 #[prost(string, tag = "14")]
705 pub uid: ::prost::alloc::string::String,
706}
707/// Nested message and enum types in `ExternalAccessRule`.
708pub mod external_access_rule {
709 /// An IP range provided in any one of the supported formats.
710 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
711 pub struct IpRange {
712 #[prost(oneof = "ip_range::IpRange", tags = "1, 2, 3")]
713 pub ip_range: ::core::option::Option<ip_range::IpRange>,
714 }
715 /// Nested message and enum types in `IpRange`.
716 pub mod ip_range {
717 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
718 pub enum IpRange {
719 /// A single IP address. For example: `10.0.0.5`.
720 #[prost(string, tag = "1")]
721 IpAddress(::prost::alloc::string::String),
722 /// An IP address range in the CIDR format. For example: `10.0.0.0/24`.
723 #[prost(string, tag = "2")]
724 IpAddressRange(::prost::alloc::string::String),
725 /// The name of an `ExternalAddress` resource. The external address must
726 /// have been reserved in the scope of this external access rule's parent
727 /// network policy. Provide the external address name in the form of
728 /// `projects/{project}/locations/{location}/privateClouds/{private_cloud}/externalAddresses/{external_address}`.
729 /// For example:
730 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address`.
731 #[prost(string, tag = "3")]
732 ExternalAddress(::prost::alloc::string::String),
733 }
734 }
735 /// Action determines whether the external access rule permits or blocks
736 /// traffic, subject to the other components of the rule matching the traffic.
737 #[derive(
738 Clone,
739 Copy,
740 Debug,
741 PartialEq,
742 Eq,
743 Hash,
744 PartialOrd,
745 Ord,
746 ::prost::Enumeration
747 )]
748 #[repr(i32)]
749 pub enum Action {
750 /// Defaults to allow.
751 Unspecified = 0,
752 /// Allows connections that match the other specified components.
753 Allow = 1,
754 /// Blocks connections that match the other specified components.
755 Deny = 2,
756 }
757 impl Action {
758 /// String value of the enum field names used in the ProtoBuf definition.
759 ///
760 /// The values are not transformed in any way and thus are considered stable
761 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
762 pub fn as_str_name(&self) -> &'static str {
763 match self {
764 Self::Unspecified => "ACTION_UNSPECIFIED",
765 Self::Allow => "ALLOW",
766 Self::Deny => "DENY",
767 }
768 }
769 /// Creates an enum from field names used in the ProtoBuf definition.
770 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
771 match value {
772 "ACTION_UNSPECIFIED" => Some(Self::Unspecified),
773 "ALLOW" => Some(Self::Allow),
774 "DENY" => Some(Self::Deny),
775 _ => None,
776 }
777 }
778 }
779 /// Defines possible states of external access firewall rules.
780 #[derive(
781 Clone,
782 Copy,
783 Debug,
784 PartialEq,
785 Eq,
786 Hash,
787 PartialOrd,
788 Ord,
789 ::prost::Enumeration
790 )]
791 #[repr(i32)]
792 pub enum State {
793 /// The default value. This value is used if the state is omitted.
794 Unspecified = 0,
795 /// The rule is ready.
796 Active = 1,
797 /// The rule is being created.
798 Creating = 2,
799 /// The rule is being updated.
800 Updating = 3,
801 /// The rule is being deleted.
802 Deleting = 4,
803 }
804 impl State {
805 /// String value of the enum field names used in the ProtoBuf definition.
806 ///
807 /// The values are not transformed in any way and thus are considered stable
808 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
809 pub fn as_str_name(&self) -> &'static str {
810 match self {
811 Self::Unspecified => "STATE_UNSPECIFIED",
812 Self::Active => "ACTIVE",
813 Self::Creating => "CREATING",
814 Self::Updating => "UPDATING",
815 Self::Deleting => "DELETING",
816 }
817 }
818 /// Creates an enum from field names used in the ProtoBuf definition.
819 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
820 match value {
821 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
822 "ACTIVE" => Some(Self::Active),
823 "CREATING" => Some(Self::Creating),
824 "UPDATING" => Some(Self::Updating),
825 "DELETING" => Some(Self::Deleting),
826 _ => None,
827 }
828 }
829 }
830}
831/// Logging server to receive vCenter or ESXi logs.
832#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
833pub struct LoggingServer {
834 /// Output only. The resource name of this logging server.
835 /// Resource names are schemeless URIs that follow the conventions in
836 /// <https://cloud.google.com/apis/design/resource_names.>
837 /// For example:
838 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/loggingServers/my-logging-server`
839 #[prost(string, tag = "1")]
840 pub name: ::prost::alloc::string::String,
841 /// Output only. Creation time of this resource.
842 #[prost(message, optional, tag = "2")]
843 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
844 /// Output only. Last update time of this resource.
845 #[prost(message, optional, tag = "3")]
846 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
847 /// Required. Fully-qualified domain name (FQDN) or IP Address of the logging
848 /// server.
849 #[prost(string, tag = "5")]
850 pub hostname: ::prost::alloc::string::String,
851 /// Required. Port number at which the logging server receives logs.
852 #[prost(int32, tag = "7")]
853 pub port: i32,
854 /// Required. Protocol used by vCenter to send logs to a logging server.
855 #[prost(enumeration = "logging_server::Protocol", tag = "6")]
856 pub protocol: i32,
857 /// Required. The type of component that produces logs that will be forwarded
858 /// to this logging server.
859 #[prost(enumeration = "logging_server::SourceType", tag = "10")]
860 pub source_type: i32,
861 /// Output only. System-generated unique identifier for the resource.
862 #[prost(string, tag = "8")]
863 pub uid: ::prost::alloc::string::String,
864}
865/// Nested message and enum types in `LoggingServer`.
866pub mod logging_server {
867 /// Defines possible protocols used to send logs to
868 /// a logging server.
869 #[derive(
870 Clone,
871 Copy,
872 Debug,
873 PartialEq,
874 Eq,
875 Hash,
876 PartialOrd,
877 Ord,
878 ::prost::Enumeration
879 )]
880 #[repr(i32)]
881 pub enum Protocol {
882 /// Unspecified communications protocol. This is the default value.
883 Unspecified = 0,
884 /// UDP
885 Udp = 1,
886 /// TCP
887 Tcp = 2,
888 /// TLS
889 Tls = 3,
890 /// SSL
891 Ssl = 4,
892 /// RELP
893 Relp = 5,
894 }
895 impl Protocol {
896 /// String value of the enum field names used in the ProtoBuf definition.
897 ///
898 /// The values are not transformed in any way and thus are considered stable
899 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
900 pub fn as_str_name(&self) -> &'static str {
901 match self {
902 Self::Unspecified => "PROTOCOL_UNSPECIFIED",
903 Self::Udp => "UDP",
904 Self::Tcp => "TCP",
905 Self::Tls => "TLS",
906 Self::Ssl => "SSL",
907 Self::Relp => "RELP",
908 }
909 }
910 /// Creates an enum from field names used in the ProtoBuf definition.
911 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
912 match value {
913 "PROTOCOL_UNSPECIFIED" => Some(Self::Unspecified),
914 "UDP" => Some(Self::Udp),
915 "TCP" => Some(Self::Tcp),
916 "TLS" => Some(Self::Tls),
917 "SSL" => Some(Self::Ssl),
918 "RELP" => Some(Self::Relp),
919 _ => None,
920 }
921 }
922 }
923 /// Defines possible types of component that produces logs.
924 #[derive(
925 Clone,
926 Copy,
927 Debug,
928 PartialEq,
929 Eq,
930 Hash,
931 PartialOrd,
932 Ord,
933 ::prost::Enumeration
934 )]
935 #[repr(i32)]
936 pub enum SourceType {
937 /// The default value. This value should never be used.
938 Unspecified = 0,
939 /// Logs produced by ESXI hosts
940 Esxi = 1,
941 /// Logs produced by vCenter server
942 Vcsa = 2,
943 }
944 impl SourceType {
945 /// String value of the enum field names used in the ProtoBuf definition.
946 ///
947 /// The values are not transformed in any way and thus are considered stable
948 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
949 pub fn as_str_name(&self) -> &'static str {
950 match self {
951 Self::Unspecified => "SOURCE_TYPE_UNSPECIFIED",
952 Self::Esxi => "ESXI",
953 Self::Vcsa => "VCSA",
954 }
955 }
956 /// Creates an enum from field names used in the ProtoBuf definition.
957 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
958 match value {
959 "SOURCE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
960 "ESXI" => Some(Self::Esxi),
961 "VCSA" => Some(Self::Vcsa),
962 _ => None,
963 }
964 }
965 }
966}
967/// Describes node type.
968#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
969pub struct NodeType {
970 /// Output only. The resource name of this node type.
971 /// Resource names are schemeless URIs that follow the conventions in
972 /// <https://cloud.google.com/apis/design/resource_names.>
973 /// For example:
974 /// `projects/my-proj/locations/us-central1-a/nodeTypes/standard-72`
975 #[prost(string, tag = "1")]
976 pub name: ::prost::alloc::string::String,
977 /// Output only. The canonical identifier of the node type
978 /// (corresponds to the `NodeType`). For example: standard-72.
979 #[prost(string, tag = "2")]
980 pub node_type_id: ::prost::alloc::string::String,
981 /// Output only. The friendly name for this node type.
982 /// For example: ve1-standard-72
983 #[prost(string, tag = "3")]
984 pub display_name: ::prost::alloc::string::String,
985 /// Output only. The total number of virtual CPUs in a single node.
986 #[prost(int32, tag = "4")]
987 pub virtual_cpu_count: i32,
988 /// Output only. The total number of CPU cores in a single node.
989 #[prost(int32, tag = "5")]
990 pub total_core_count: i32,
991 /// Output only. The amount of physical memory available, defined in GB.
992 #[prost(int32, tag = "7")]
993 pub memory_gb: i32,
994 /// Output only. The amount of storage available, defined in GB.
995 #[prost(int32, tag = "8")]
996 pub disk_size_gb: i32,
997 /// Output only. List of possible values of custom core count.
998 #[prost(int32, repeated, packed = "false", tag = "11")]
999 pub available_custom_core_counts: ::prost::alloc::vec::Vec<i32>,
1000 /// Output only. The type of the resource.
1001 #[prost(enumeration = "node_type::Kind", tag = "12")]
1002 pub kind: i32,
1003 /// Output only. Families of the node type.
1004 /// For node types to be in the same cluster
1005 /// they must share at least one element in the `families`.
1006 #[prost(string, repeated, tag = "13")]
1007 pub families: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1008 /// Output only. Capabilities of this node type.
1009 #[prost(
1010 enumeration = "node_type::Capability",
1011 repeated,
1012 packed = "false",
1013 tag = "14"
1014 )]
1015 pub capabilities: ::prost::alloc::vec::Vec<i32>,
1016}
1017/// Nested message and enum types in `NodeType`.
1018pub mod node_type {
1019 /// Enum Kind defines possible types of a NodeType.
1020 #[derive(
1021 Clone,
1022 Copy,
1023 Debug,
1024 PartialEq,
1025 Eq,
1026 Hash,
1027 PartialOrd,
1028 Ord,
1029 ::prost::Enumeration
1030 )]
1031 #[repr(i32)]
1032 pub enum Kind {
1033 /// The default value. This value should never be used.
1034 Unspecified = 0,
1035 /// Standard HCI node.
1036 Standard = 1,
1037 /// Storage only Node.
1038 StorageOnly = 2,
1039 }
1040 impl Kind {
1041 /// String value of the enum field names used in the ProtoBuf definition.
1042 ///
1043 /// The values are not transformed in any way and thus are considered stable
1044 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1045 pub fn as_str_name(&self) -> &'static str {
1046 match self {
1047 Self::Unspecified => "KIND_UNSPECIFIED",
1048 Self::Standard => "STANDARD",
1049 Self::StorageOnly => "STORAGE_ONLY",
1050 }
1051 }
1052 /// Creates an enum from field names used in the ProtoBuf definition.
1053 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1054 match value {
1055 "KIND_UNSPECIFIED" => Some(Self::Unspecified),
1056 "STANDARD" => Some(Self::Standard),
1057 "STORAGE_ONLY" => Some(Self::StorageOnly),
1058 _ => None,
1059 }
1060 }
1061 }
1062 /// Capability of a node type.
1063 #[derive(
1064 Clone,
1065 Copy,
1066 Debug,
1067 PartialEq,
1068 Eq,
1069 Hash,
1070 PartialOrd,
1071 Ord,
1072 ::prost::Enumeration
1073 )]
1074 #[repr(i32)]
1075 pub enum Capability {
1076 /// The default value. This value is used if the capability is omitted or
1077 /// unknown.
1078 Unspecified = 0,
1079 /// This node type supports stretch clusters.
1080 StretchedClusters = 1,
1081 }
1082 impl Capability {
1083 /// String value of the enum field names used in the ProtoBuf definition.
1084 ///
1085 /// The values are not transformed in any way and thus are considered stable
1086 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1087 pub fn as_str_name(&self) -> &'static str {
1088 match self {
1089 Self::Unspecified => "CAPABILITY_UNSPECIFIED",
1090 Self::StretchedClusters => "STRETCHED_CLUSTERS",
1091 }
1092 }
1093 /// Creates an enum from field names used in the ProtoBuf definition.
1094 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1095 match value {
1096 "CAPABILITY_UNSPECIFIED" => Some(Self::Unspecified),
1097 "STRETCHED_CLUSTERS" => Some(Self::StretchedClusters),
1098 _ => None,
1099 }
1100 }
1101 }
1102}
1103/// Credentials for a private cloud.
1104#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1105pub struct Credentials {
1106 /// Initial username.
1107 #[prost(string, tag = "1")]
1108 pub username: ::prost::alloc::string::String,
1109 /// Initial password.
1110 #[prost(string, tag = "2")]
1111 pub password: ::prost::alloc::string::String,
1112}
1113/// HCX activation key. A default key is created during
1114/// private cloud provisioning, but this behavior is subject to change
1115/// and you should always verify active keys.
1116/// Use
1117/// \[VmwareEngine.ListHcxActivationKeys\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys\]
1118/// to retrieve existing keys and
1119/// \[VmwareEngine.CreateHcxActivationKey\]\[google.cloud.vmwareengine.v1.VmwareEngine.CreateHcxActivationKey\]
1120/// to create new ones.
1121#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1122pub struct HcxActivationKey {
1123 /// Output only. The resource name of this HcxActivationKey.
1124 /// Resource names are schemeless URIs that follow the conventions in
1125 /// <https://cloud.google.com/apis/design/resource_names.>
1126 /// For example:
1127 /// `projects/my-project/locations/us-central1/privateClouds/my-cloud/hcxActivationKeys/my-key`
1128 #[prost(string, tag = "1")]
1129 pub name: ::prost::alloc::string::String,
1130 /// Output only. Creation time of HCX activation key.
1131 #[prost(message, optional, tag = "2")]
1132 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
1133 /// Output only. State of HCX activation key.
1134 #[prost(enumeration = "hcx_activation_key::State", tag = "3")]
1135 pub state: i32,
1136 /// Output only. HCX activation key.
1137 #[prost(string, tag = "4")]
1138 pub activation_key: ::prost::alloc::string::String,
1139 /// Output only. System-generated unique identifier for the resource.
1140 #[prost(string, tag = "5")]
1141 pub uid: ::prost::alloc::string::String,
1142}
1143/// Nested message and enum types in `HcxActivationKey`.
1144pub mod hcx_activation_key {
1145 /// State of HCX activation key
1146 #[derive(
1147 Clone,
1148 Copy,
1149 Debug,
1150 PartialEq,
1151 Eq,
1152 Hash,
1153 PartialOrd,
1154 Ord,
1155 ::prost::Enumeration
1156 )]
1157 #[repr(i32)]
1158 pub enum State {
1159 /// Unspecified state.
1160 Unspecified = 0,
1161 /// State of a newly generated activation key.
1162 Available = 1,
1163 /// State of key when it has been used to activate HCX appliance.
1164 Consumed = 2,
1165 /// State of key when it is being created.
1166 Creating = 3,
1167 }
1168 impl State {
1169 /// String value of the enum field names used in the ProtoBuf definition.
1170 ///
1171 /// The values are not transformed in any way and thus are considered stable
1172 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1173 pub fn as_str_name(&self) -> &'static str {
1174 match self {
1175 Self::Unspecified => "STATE_UNSPECIFIED",
1176 Self::Available => "AVAILABLE",
1177 Self::Consumed => "CONSUMED",
1178 Self::Creating => "CREATING",
1179 }
1180 }
1181 /// Creates an enum from field names used in the ProtoBuf definition.
1182 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1183 match value {
1184 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
1185 "AVAILABLE" => Some(Self::Available),
1186 "CONSUMED" => Some(Self::Consumed),
1187 "CREATING" => Some(Self::Creating),
1188 _ => None,
1189 }
1190 }
1191 }
1192}
1193/// Details about a HCX Cloud Manager appliance.
1194#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1195pub struct Hcx {
1196 /// Internal IP address of the appliance.
1197 #[prost(string, tag = "2")]
1198 pub internal_ip: ::prost::alloc::string::String,
1199 /// Version of the appliance.
1200 #[prost(string, tag = "4")]
1201 pub version: ::prost::alloc::string::String,
1202 /// Output only. The state of the appliance.
1203 #[prost(enumeration = "hcx::State", tag = "5")]
1204 pub state: i32,
1205 /// Fully qualified domain name of the appliance.
1206 #[prost(string, tag = "6")]
1207 pub fqdn: ::prost::alloc::string::String,
1208}
1209/// Nested message and enum types in `Hcx`.
1210pub mod hcx {
1211 /// State of the appliance
1212 #[derive(
1213 Clone,
1214 Copy,
1215 Debug,
1216 PartialEq,
1217 Eq,
1218 Hash,
1219 PartialOrd,
1220 Ord,
1221 ::prost::Enumeration
1222 )]
1223 #[repr(i32)]
1224 pub enum State {
1225 /// Unspecified appliance state. This is the default value.
1226 Unspecified = 0,
1227 /// The appliance is operational and can be used.
1228 Active = 1,
1229 /// The appliance is being deployed.
1230 Creating = 2,
1231 /// The appliance is being activated.
1232 Activating = 3,
1233 }
1234 impl State {
1235 /// String value of the enum field names used in the ProtoBuf definition.
1236 ///
1237 /// The values are not transformed in any way and thus are considered stable
1238 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1239 pub fn as_str_name(&self) -> &'static str {
1240 match self {
1241 Self::Unspecified => "STATE_UNSPECIFIED",
1242 Self::Active => "ACTIVE",
1243 Self::Creating => "CREATING",
1244 Self::Activating => "ACTIVATING",
1245 }
1246 }
1247 /// Creates an enum from field names used in the ProtoBuf definition.
1248 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1249 match value {
1250 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
1251 "ACTIVE" => Some(Self::Active),
1252 "CREATING" => Some(Self::Creating),
1253 "ACTIVATING" => Some(Self::Activating),
1254 _ => None,
1255 }
1256 }
1257 }
1258}
1259/// Details about a NSX Manager appliance.
1260#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1261pub struct Nsx {
1262 /// Internal IP address of the appliance.
1263 #[prost(string, tag = "2")]
1264 pub internal_ip: ::prost::alloc::string::String,
1265 /// Version of the appliance.
1266 #[prost(string, tag = "4")]
1267 pub version: ::prost::alloc::string::String,
1268 /// Output only. The state of the appliance.
1269 #[prost(enumeration = "nsx::State", tag = "5")]
1270 pub state: i32,
1271 /// Fully qualified domain name of the appliance.
1272 #[prost(string, tag = "6")]
1273 pub fqdn: ::prost::alloc::string::String,
1274}
1275/// Nested message and enum types in `Nsx`.
1276pub mod nsx {
1277 /// State of the appliance
1278 #[derive(
1279 Clone,
1280 Copy,
1281 Debug,
1282 PartialEq,
1283 Eq,
1284 Hash,
1285 PartialOrd,
1286 Ord,
1287 ::prost::Enumeration
1288 )]
1289 #[repr(i32)]
1290 pub enum State {
1291 /// Unspecified appliance state. This is the default value.
1292 Unspecified = 0,
1293 /// The appliance is operational and can be used.
1294 Active = 1,
1295 /// The appliance is being deployed.
1296 Creating = 2,
1297 }
1298 impl State {
1299 /// String value of the enum field names used in the ProtoBuf definition.
1300 ///
1301 /// The values are not transformed in any way and thus are considered stable
1302 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1303 pub fn as_str_name(&self) -> &'static str {
1304 match self {
1305 Self::Unspecified => "STATE_UNSPECIFIED",
1306 Self::Active => "ACTIVE",
1307 Self::Creating => "CREATING",
1308 }
1309 }
1310 /// Creates an enum from field names used in the ProtoBuf definition.
1311 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1312 match value {
1313 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
1314 "ACTIVE" => Some(Self::Active),
1315 "CREATING" => Some(Self::Creating),
1316 _ => None,
1317 }
1318 }
1319 }
1320}
1321/// Details about a vCenter Server management appliance.
1322#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1323pub struct Vcenter {
1324 /// Internal IP address of the appliance.
1325 #[prost(string, tag = "2")]
1326 pub internal_ip: ::prost::alloc::string::String,
1327 /// Version of the appliance.
1328 #[prost(string, tag = "4")]
1329 pub version: ::prost::alloc::string::String,
1330 /// Output only. The state of the appliance.
1331 #[prost(enumeration = "vcenter::State", tag = "5")]
1332 pub state: i32,
1333 /// Fully qualified domain name of the appliance.
1334 #[prost(string, tag = "6")]
1335 pub fqdn: ::prost::alloc::string::String,
1336}
1337/// Nested message and enum types in `Vcenter`.
1338pub mod vcenter {
1339 /// State of the appliance
1340 #[derive(
1341 Clone,
1342 Copy,
1343 Debug,
1344 PartialEq,
1345 Eq,
1346 Hash,
1347 PartialOrd,
1348 Ord,
1349 ::prost::Enumeration
1350 )]
1351 #[repr(i32)]
1352 pub enum State {
1353 /// Unspecified appliance state. This is the default value.
1354 Unspecified = 0,
1355 /// The appliance is operational and can be used.
1356 Active = 1,
1357 /// The appliance is being deployed.
1358 Creating = 2,
1359 }
1360 impl State {
1361 /// String value of the enum field names used in the ProtoBuf definition.
1362 ///
1363 /// The values are not transformed in any way and thus are considered stable
1364 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1365 pub fn as_str_name(&self) -> &'static str {
1366 match self {
1367 Self::Unspecified => "STATE_UNSPECIFIED",
1368 Self::Active => "ACTIVE",
1369 Self::Creating => "CREATING",
1370 }
1371 }
1372 /// Creates an enum from field names used in the ProtoBuf definition.
1373 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1374 match value {
1375 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
1376 "ACTIVE" => Some(Self::Active),
1377 "CREATING" => Some(Self::Creating),
1378 _ => None,
1379 }
1380 }
1381 }
1382}
1383/// Autoscaling settings define the rules used by VMware Engine to
1384/// automatically scale-out and scale-in the clusters in a private cloud.
1385#[derive(Clone, PartialEq, ::prost::Message)]
1386pub struct AutoscalingSettings {
1387 /// Required. The map with autoscaling policies applied to the cluster.
1388 /// The key is the identifier of the policy.
1389 /// It must meet the following requirements:
1390 ///
1391 /// * Only contains 1-63 alphanumeric characters and hyphens
1392 /// * Begins with an alphabetical character
1393 /// * Ends with a non-hyphen character
1394 /// * Not formatted as a UUID
1395 /// * Complies with [RFC
1396 /// 1034](<https://datatracker.ietf.org/doc/html/rfc1034>) (section 3.5)
1397 ///
1398 /// Currently there map must contain only one element
1399 /// that describes the autoscaling policy for compute nodes.
1400 #[prost(map = "string, message", tag = "1")]
1401 pub autoscaling_policies: ::std::collections::HashMap<
1402 ::prost::alloc::string::String,
1403 autoscaling_settings::AutoscalingPolicy,
1404 >,
1405 /// Optional. Minimum number of nodes of any type in a cluster.
1406 /// If not specified the default limits apply.
1407 #[prost(int32, tag = "2")]
1408 pub min_cluster_node_count: i32,
1409 /// Optional. Maximum number of nodes of any type in a cluster.
1410 /// If not specified the default limits apply.
1411 #[prost(int32, tag = "3")]
1412 pub max_cluster_node_count: i32,
1413 /// Optional. The minimum duration between consecutive autoscale operations.
1414 /// It starts once addition or removal of nodes is fully completed.
1415 /// Defaults to 30 minutes if not specified. Cool down period must be in whole
1416 /// minutes (for example, 30, 31, 50, 180 minutes).
1417 #[prost(message, optional, tag = "4")]
1418 pub cool_down_period: ::core::option::Option<::prost_types::Duration>,
1419}
1420/// Nested message and enum types in `AutoscalingSettings`.
1421pub mod autoscaling_settings {
1422 /// Thresholds define the utilization of resources triggering
1423 /// scale-out and scale-in operations.
1424 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1425 pub struct Thresholds {
1426 /// Required. The utilization triggering the scale-out operation in percent.
1427 #[prost(int32, tag = "1")]
1428 pub scale_out: i32,
1429 /// Required. The utilization triggering the scale-in operation in percent.
1430 #[prost(int32, tag = "2")]
1431 pub scale_in: i32,
1432 }
1433 /// Autoscaling policy describes the behavior of the autoscaling
1434 /// with respect to the resource utilization.
1435 /// The scale-out operation is initiated if the utilization
1436 /// exceeds ANY of the respective thresholds.
1437 /// The scale-in operation is initiated if the utilization
1438 /// is below ALL of the respective thresholds.
1439 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1440 pub struct AutoscalingPolicy {
1441 /// Required. The canonical identifier of the node type to add or remove.
1442 /// Corresponds to the `NodeType`.
1443 #[prost(string, tag = "1")]
1444 pub node_type_id: ::prost::alloc::string::String,
1445 /// Required. Number of nodes to add to a cluster during a scale-out
1446 /// operation. Must be divisible by 2 for stretched clusters. During a
1447 /// scale-in operation only one node (or 2 for stretched clusters) are
1448 /// removed in a single iteration.
1449 #[prost(int32, tag = "2")]
1450 pub scale_out_size: i32,
1451 /// Optional. Utilization thresholds pertaining to CPU utilization.
1452 #[prost(message, optional, tag = "11")]
1453 pub cpu_thresholds: ::core::option::Option<Thresholds>,
1454 /// Optional. Utilization thresholds pertaining to amount of granted memory.
1455 #[prost(message, optional, tag = "12")]
1456 pub granted_memory_thresholds: ::core::option::Option<Thresholds>,
1457 /// Optional. Utilization thresholds pertaining to amount of consumed memory.
1458 #[prost(message, optional, tag = "13")]
1459 pub consumed_memory_thresholds: ::core::option::Option<Thresholds>,
1460 /// Optional. Utilization thresholds pertaining to amount of consumed
1461 /// storage.
1462 #[prost(message, optional, tag = "14")]
1463 pub storage_thresholds: ::core::option::Option<Thresholds>,
1464 }
1465}
1466/// DNS forwarding config.
1467/// This config defines a list of domain to name server mappings,
1468/// and is attached to the private cloud for custom domain resolution.
1469#[derive(Clone, PartialEq, ::prost::Message)]
1470pub struct DnsForwarding {
1471 /// Output only. The resource name of this DNS profile.
1472 /// Resource names are schemeless URIs that follow the conventions in
1473 /// <https://cloud.google.com/apis/design/resource_names.>
1474 /// For example:
1475 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding`
1476 #[prost(string, tag = "1")]
1477 pub name: ::prost::alloc::string::String,
1478 /// Output only. Creation time of this resource.
1479 #[prost(message, optional, tag = "2")]
1480 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
1481 /// Output only. Last update time of this resource.
1482 #[prost(message, optional, tag = "3")]
1483 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
1484 /// Required. List of domain mappings to configure
1485 #[prost(message, repeated, tag = "4")]
1486 pub forwarding_rules: ::prost::alloc::vec::Vec<dns_forwarding::ForwardingRule>,
1487}
1488/// Nested message and enum types in `DnsForwarding`.
1489pub mod dns_forwarding {
1490 /// A forwarding rule is a mapping of a `domain` to `name_servers`.
1491 /// This mapping allows VMware Engine to resolve domains for attached private
1492 /// clouds by forwarding DNS requests for a given domain to the specified
1493 /// nameservers.
1494 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1495 pub struct ForwardingRule {
1496 /// Required. Domain used to resolve a `name_servers` list.
1497 #[prost(string, tag = "1")]
1498 pub domain: ::prost::alloc::string::String,
1499 /// Required. List of DNS servers to use for domain resolution
1500 #[prost(string, repeated, tag = "2")]
1501 pub name_servers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1502 }
1503}
1504/// Details of a network peering.
1505#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1506pub struct NetworkPeering {
1507 /// Output only. The resource name of the network peering. NetworkPeering is a
1508 /// global resource and location can only be global. Resource names are
1509 /// scheme-less URIs that follow the conventions in
1510 /// <https://cloud.google.com/apis/design/resource_names.>
1511 /// For example:
1512 /// `projects/my-project/locations/global/networkPeerings/my-peering`
1513 #[prost(string, tag = "1")]
1514 pub name: ::prost::alloc::string::String,
1515 /// Output only. Creation time of this resource.
1516 #[prost(message, optional, tag = "2")]
1517 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
1518 /// Output only. Last update time of this resource.
1519 #[prost(message, optional, tag = "3")]
1520 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
1521 /// Required. The relative resource name of the network to peer with
1522 /// a standard VMware Engine network. The provided network can be a
1523 /// consumer VPC network or another standard VMware Engine network. If the
1524 /// `peer_network_type` is VMWARE_ENGINE_NETWORK, specify the name in the form:
1525 /// `projects/{project}/locations/global/vmwareEngineNetworks/{vmware_engine_network_id}`.
1526 /// Otherwise specify the name in the form:
1527 /// `projects/{project}/global/networks/{network_id}`, where
1528 /// `{project}` can either be a project number or a project ID.
1529 #[prost(string, tag = "5")]
1530 pub peer_network: ::prost::alloc::string::String,
1531 /// Optional. True if custom routes are exported to the peered network;
1532 /// false otherwise. The default value is true.
1533 #[prost(bool, optional, tag = "8")]
1534 pub export_custom_routes: ::core::option::Option<bool>,
1535 /// Optional. True if custom routes are imported from the peered network;
1536 /// false otherwise. The default value is true.
1537 #[prost(bool, optional, tag = "9")]
1538 pub import_custom_routes: ::core::option::Option<bool>,
1539 /// Optional. True if full mesh connectivity is created and managed
1540 /// automatically between peered networks; false otherwise. Currently this
1541 /// field is always true because Google Compute Engine automatically creates
1542 /// and manages subnetwork routes between two VPC networks when peering state
1543 /// is 'ACTIVE'.
1544 #[prost(bool, optional, tag = "10")]
1545 pub exchange_subnet_routes: ::core::option::Option<bool>,
1546 /// Optional. True if all subnet routes with a public IP address range are
1547 /// exported; false otherwise. The default value is true. IPv4 special-use
1548 /// ranges (<https://en.wikipedia.org/wiki/IPv4#Special_addresses>) are always
1549 /// exported to peers and are not controlled by this field.
1550 #[prost(bool, optional, tag = "11")]
1551 pub export_custom_routes_with_public_ip: ::core::option::Option<bool>,
1552 /// Optional. True if all subnet routes with public IP address range are
1553 /// imported; false otherwise. The default value is true. IPv4 special-use
1554 /// ranges (<https://en.wikipedia.org/wiki/IPv4#Special_addresses>) are always
1555 /// imported to peers and are not controlled by this field.
1556 #[prost(bool, optional, tag = "12")]
1557 pub import_custom_routes_with_public_ip: ::core::option::Option<bool>,
1558 /// Output only. State of the network peering. This field
1559 /// has a value of 'ACTIVE' when there's a matching configuration in the peer
1560 /// network. New values may be added to this enum when appropriate.
1561 #[prost(enumeration = "network_peering::State", tag = "13")]
1562 pub state: i32,
1563 /// Output only. Output Only. Details about the current state of the network
1564 /// peering.
1565 #[prost(string, tag = "7")]
1566 pub state_details: ::prost::alloc::string::String,
1567 /// Optional. Maximum transmission unit (MTU) in bytes.
1568 /// The default value is `1500`. If a value of `0` is provided for this field,
1569 /// VMware Engine uses the default value instead.
1570 #[prost(int32, tag = "14")]
1571 pub peer_mtu: i32,
1572 /// Required. The type of the network to peer with the VMware Engine network.
1573 #[prost(enumeration = "network_peering::PeerNetworkType", tag = "16")]
1574 pub peer_network_type: i32,
1575 /// Output only. System-generated unique identifier for the resource.
1576 #[prost(string, tag = "17")]
1577 pub uid: ::prost::alloc::string::String,
1578 /// Required. The relative resource name of the VMware Engine network.
1579 /// Specify the name in the following form:
1580 /// `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
1581 /// where `{project}` can either be a project number or a project ID.
1582 #[prost(string, tag = "20")]
1583 pub vmware_engine_network: ::prost::alloc::string::String,
1584 /// Optional. User-provided description for this network peering.
1585 #[prost(string, tag = "21")]
1586 pub description: ::prost::alloc::string::String,
1587}
1588/// Nested message and enum types in `NetworkPeering`.
1589pub mod network_peering {
1590 /// Possible states of a network peering.
1591 #[derive(
1592 Clone,
1593 Copy,
1594 Debug,
1595 PartialEq,
1596 Eq,
1597 Hash,
1598 PartialOrd,
1599 Ord,
1600 ::prost::Enumeration
1601 )]
1602 #[repr(i32)]
1603 pub enum State {
1604 /// Unspecified network peering state. This is the default value.
1605 Unspecified = 0,
1606 /// The peering is not active.
1607 Inactive = 1,
1608 /// The peering is active.
1609 Active = 2,
1610 /// The peering is being created.
1611 Creating = 3,
1612 /// The peering is being deleted.
1613 Deleting = 4,
1614 }
1615 impl State {
1616 /// String value of the enum field names used in the ProtoBuf definition.
1617 ///
1618 /// The values are not transformed in any way and thus are considered stable
1619 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1620 pub fn as_str_name(&self) -> &'static str {
1621 match self {
1622 Self::Unspecified => "STATE_UNSPECIFIED",
1623 Self::Inactive => "INACTIVE",
1624 Self::Active => "ACTIVE",
1625 Self::Creating => "CREATING",
1626 Self::Deleting => "DELETING",
1627 }
1628 }
1629 /// Creates an enum from field names used in the ProtoBuf definition.
1630 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1631 match value {
1632 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
1633 "INACTIVE" => Some(Self::Inactive),
1634 "ACTIVE" => Some(Self::Active),
1635 "CREATING" => Some(Self::Creating),
1636 "DELETING" => Some(Self::Deleting),
1637 _ => None,
1638 }
1639 }
1640 }
1641 /// Type or purpose of the network peering connection.
1642 #[derive(
1643 Clone,
1644 Copy,
1645 Debug,
1646 PartialEq,
1647 Eq,
1648 Hash,
1649 PartialOrd,
1650 Ord,
1651 ::prost::Enumeration
1652 )]
1653 #[repr(i32)]
1654 pub enum PeerNetworkType {
1655 /// Unspecified
1656 Unspecified = 0,
1657 /// Peering connection used for connecting to another VPC network established
1658 /// by the same user. For example, a peering connection to another VPC
1659 /// network in the same project or to an on-premises network.
1660 Standard = 1,
1661 /// Peering connection used for connecting to another VMware Engine network.
1662 VmwareEngineNetwork = 2,
1663 /// Peering connection used for establishing [private services
1664 /// access](<https://cloud.google.com/vpc/docs/private-services-access>).
1665 PrivateServicesAccess = 3,
1666 /// Peering connection used for connecting to NetApp Cloud Volumes.
1667 NetappCloudVolumes = 4,
1668 /// Peering connection used for connecting to third-party services. Most
1669 /// third-party services require manual setup of reverse peering on the VPC
1670 /// network associated with the third-party service.
1671 ThirdPartyService = 5,
1672 /// Peering connection used for connecting to Dell PowerScale Filers
1673 DellPowerscale = 6,
1674 /// Peering connection used for connecting to Google Cloud NetApp Volumes.
1675 GoogleCloudNetappVolumes = 7,
1676 }
1677 impl PeerNetworkType {
1678 /// String value of the enum field names used in the ProtoBuf definition.
1679 ///
1680 /// The values are not transformed in any way and thus are considered stable
1681 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1682 pub fn as_str_name(&self) -> &'static str {
1683 match self {
1684 Self::Unspecified => "PEER_NETWORK_TYPE_UNSPECIFIED",
1685 Self::Standard => "STANDARD",
1686 Self::VmwareEngineNetwork => "VMWARE_ENGINE_NETWORK",
1687 Self::PrivateServicesAccess => "PRIVATE_SERVICES_ACCESS",
1688 Self::NetappCloudVolumes => "NETAPP_CLOUD_VOLUMES",
1689 Self::ThirdPartyService => "THIRD_PARTY_SERVICE",
1690 Self::DellPowerscale => "DELL_POWERSCALE",
1691 Self::GoogleCloudNetappVolumes => "GOOGLE_CLOUD_NETAPP_VOLUMES",
1692 }
1693 }
1694 /// Creates an enum from field names used in the ProtoBuf definition.
1695 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1696 match value {
1697 "PEER_NETWORK_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1698 "STANDARD" => Some(Self::Standard),
1699 "VMWARE_ENGINE_NETWORK" => Some(Self::VmwareEngineNetwork),
1700 "PRIVATE_SERVICES_ACCESS" => Some(Self::PrivateServicesAccess),
1701 "NETAPP_CLOUD_VOLUMES" => Some(Self::NetappCloudVolumes),
1702 "THIRD_PARTY_SERVICE" => Some(Self::ThirdPartyService),
1703 "DELL_POWERSCALE" => Some(Self::DellPowerscale),
1704 "GOOGLE_CLOUD_NETAPP_VOLUMES" => Some(Self::GoogleCloudNetappVolumes),
1705 _ => None,
1706 }
1707 }
1708 }
1709}
1710/// Exchanged network peering route.
1711#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1712pub struct PeeringRoute {
1713 /// Output only. Destination range of the peering route in CIDR notation.
1714 #[prost(string, tag = "1")]
1715 pub dest_range: ::prost::alloc::string::String,
1716 /// Output only. Type of the route in the peer VPC network.
1717 #[prost(enumeration = "peering_route::Type", tag = "2")]
1718 pub r#type: i32,
1719 /// Output only. Region containing the next hop of the peering route. This
1720 /// field only applies to dynamic routes in the peer VPC network.
1721 #[prost(string, tag = "3")]
1722 pub next_hop_region: ::prost::alloc::string::String,
1723 /// Output only. The priority of the peering route.
1724 #[prost(int64, tag = "4")]
1725 pub priority: i64,
1726 /// Output only. True if the peering route has been imported from a peered
1727 /// VPC network; false otherwise. The import happens if the field
1728 /// `NetworkPeering.importCustomRoutes` is true for this network,
1729 /// `NetworkPeering.exportCustomRoutes` is true for the peer VPC network, and
1730 /// the import does not result in a route conflict.
1731 #[prost(bool, tag = "5")]
1732 pub imported: bool,
1733 /// Output only. Direction of the routes exchanged with the peer network, from
1734 /// the VMware Engine network perspective:
1735 ///
1736 /// * Routes of direction `INCOMING` are imported from the peer network.
1737 /// * Routes of direction `OUTGOING` are exported from the intranet VPC network
1738 /// of the VMware Engine network.
1739 #[prost(enumeration = "peering_route::Direction", tag = "6")]
1740 pub direction: i32,
1741}
1742/// Nested message and enum types in `PeeringRoute`.
1743pub mod peering_route {
1744 /// The type of the peering route.
1745 #[derive(
1746 Clone,
1747 Copy,
1748 Debug,
1749 PartialEq,
1750 Eq,
1751 Hash,
1752 PartialOrd,
1753 Ord,
1754 ::prost::Enumeration
1755 )]
1756 #[repr(i32)]
1757 pub enum Type {
1758 /// Unspecified peering route type. This is the default value.
1759 Unspecified = 0,
1760 /// Dynamic routes in the peer network.
1761 DynamicPeeringRoute = 1,
1762 /// Static routes in the peer network.
1763 StaticPeeringRoute = 2,
1764 /// Created, updated, and removed automatically by Google Cloud when subnets
1765 /// are created, modified, or deleted in the peer network.
1766 SubnetPeeringRoute = 3,
1767 }
1768 impl Type {
1769 /// String value of the enum field names used in the ProtoBuf definition.
1770 ///
1771 /// The values are not transformed in any way and thus are considered stable
1772 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1773 pub fn as_str_name(&self) -> &'static str {
1774 match self {
1775 Self::Unspecified => "TYPE_UNSPECIFIED",
1776 Self::DynamicPeeringRoute => "DYNAMIC_PEERING_ROUTE",
1777 Self::StaticPeeringRoute => "STATIC_PEERING_ROUTE",
1778 Self::SubnetPeeringRoute => "SUBNET_PEERING_ROUTE",
1779 }
1780 }
1781 /// Creates an enum from field names used in the ProtoBuf definition.
1782 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1783 match value {
1784 "TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1785 "DYNAMIC_PEERING_ROUTE" => Some(Self::DynamicPeeringRoute),
1786 "STATIC_PEERING_ROUTE" => Some(Self::StaticPeeringRoute),
1787 "SUBNET_PEERING_ROUTE" => Some(Self::SubnetPeeringRoute),
1788 _ => None,
1789 }
1790 }
1791 }
1792 /// The direction of the exchanged routes.
1793 #[derive(
1794 Clone,
1795 Copy,
1796 Debug,
1797 PartialEq,
1798 Eq,
1799 Hash,
1800 PartialOrd,
1801 Ord,
1802 ::prost::Enumeration
1803 )]
1804 #[repr(i32)]
1805 pub enum Direction {
1806 /// Unspecified exchanged routes direction. This is default.
1807 Unspecified = 0,
1808 /// Routes imported from the peer network.
1809 Incoming = 1,
1810 /// Routes exported to the peer network.
1811 Outgoing = 2,
1812 }
1813 impl Direction {
1814 /// String value of the enum field names used in the ProtoBuf definition.
1815 ///
1816 /// The values are not transformed in any way and thus are considered stable
1817 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1818 pub fn as_str_name(&self) -> &'static str {
1819 match self {
1820 Self::Unspecified => "DIRECTION_UNSPECIFIED",
1821 Self::Incoming => "INCOMING",
1822 Self::Outgoing => "OUTGOING",
1823 }
1824 }
1825 /// Creates an enum from field names used in the ProtoBuf definition.
1826 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1827 match value {
1828 "DIRECTION_UNSPECIFIED" => Some(Self::Unspecified),
1829 "INCOMING" => Some(Self::Incoming),
1830 "OUTGOING" => Some(Self::Outgoing),
1831 _ => None,
1832 }
1833 }
1834 }
1835}
1836/// Represents a network policy resource. Network policies are regional
1837/// resources. You can use a network policy to enable or disable internet access
1838/// and external IP access. Network policies are associated with a VMware Engine
1839/// network, which might span across regions. For a given region, a network
1840/// policy applies to all private clouds in the VMware Engine network associated
1841/// with the policy.
1842#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1843pub struct NetworkPolicy {
1844 /// Output only. The resource name of this network policy.
1845 /// Resource names are schemeless URIs that follow the conventions in
1846 /// <https://cloud.google.com/apis/design/resource_names.>
1847 /// For example:
1848 /// `projects/my-project/locations/us-central1/networkPolicies/my-network-policy`
1849 #[prost(string, tag = "1")]
1850 pub name: ::prost::alloc::string::String,
1851 /// Output only. Creation time of this resource.
1852 #[prost(message, optional, tag = "2")]
1853 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
1854 /// Output only. Last update time of this resource.
1855 #[prost(message, optional, tag = "3")]
1856 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
1857 /// Network service that allows VMware workloads to access the internet.
1858 #[prost(message, optional, tag = "6")]
1859 pub internet_access: ::core::option::Option<network_policy::NetworkService>,
1860 /// Network service that allows External IP addresses to be assigned to VMware
1861 /// workloads. This service can only be enabled when `internet_access` is also
1862 /// enabled.
1863 #[prost(message, optional, tag = "7")]
1864 pub external_ip: ::core::option::Option<network_policy::NetworkService>,
1865 /// Required. IP address range in CIDR notation used to create internet access
1866 /// and external IP access. An RFC 1918 CIDR block, with a "/26" prefix, is
1867 /// required. The range cannot overlap with any prefixes either in the consumer
1868 /// VPC network or in use by the private clouds attached to that VPC network.
1869 #[prost(string, tag = "9")]
1870 pub edge_services_cidr: ::prost::alloc::string::String,
1871 /// Output only. System-generated unique identifier for the resource.
1872 #[prost(string, tag = "10")]
1873 pub uid: ::prost::alloc::string::String,
1874 /// Optional. The relative resource name of the VMware Engine network.
1875 /// Specify the name in the following form:
1876 /// `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
1877 /// where `{project}` can either be a project number or a project ID.
1878 #[prost(string, tag = "12")]
1879 pub vmware_engine_network: ::prost::alloc::string::String,
1880 /// Optional. User-provided description for this network policy.
1881 #[prost(string, tag = "13")]
1882 pub description: ::prost::alloc::string::String,
1883 /// Output only. The canonical name of the VMware Engine network in the form:
1884 /// `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
1885 #[prost(string, tag = "14")]
1886 pub vmware_engine_network_canonical: ::prost::alloc::string::String,
1887}
1888/// Nested message and enum types in `NetworkPolicy`.
1889pub mod network_policy {
1890 /// Represents a network service that is managed by a `NetworkPolicy` resource.
1891 /// A network service provides a way to control an aspect of external access to
1892 /// VMware workloads. For example, whether the VMware workloads in the
1893 /// private clouds governed by a network policy can access or be accessed from
1894 /// the internet.
1895 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1896 pub struct NetworkService {
1897 /// True if the service is enabled; false otherwise.
1898 #[prost(bool, tag = "1")]
1899 pub enabled: bool,
1900 /// Output only. State of the service. New values may be added to this enum
1901 /// when appropriate.
1902 #[prost(enumeration = "network_service::State", tag = "2")]
1903 pub state: i32,
1904 }
1905 /// Nested message and enum types in `NetworkService`.
1906 pub mod network_service {
1907 /// Enum State defines possible states of a network policy controlled
1908 /// service.
1909 #[derive(
1910 Clone,
1911 Copy,
1912 Debug,
1913 PartialEq,
1914 Eq,
1915 Hash,
1916 PartialOrd,
1917 Ord,
1918 ::prost::Enumeration
1919 )]
1920 #[repr(i32)]
1921 pub enum State {
1922 /// Unspecified service state. This is the default value.
1923 Unspecified = 0,
1924 /// Service is not provisioned.
1925 Unprovisioned = 1,
1926 /// Service is in the process of being provisioned/deprovisioned.
1927 Reconciling = 2,
1928 /// Service is active.
1929 Active = 3,
1930 }
1931 impl State {
1932 /// String value of the enum field names used in the ProtoBuf definition.
1933 ///
1934 /// The values are not transformed in any way and thus are considered stable
1935 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1936 pub fn as_str_name(&self) -> &'static str {
1937 match self {
1938 Self::Unspecified => "STATE_UNSPECIFIED",
1939 Self::Unprovisioned => "UNPROVISIONED",
1940 Self::Reconciling => "RECONCILING",
1941 Self::Active => "ACTIVE",
1942 }
1943 }
1944 /// Creates an enum from field names used in the ProtoBuf definition.
1945 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1946 match value {
1947 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
1948 "UNPROVISIONED" => Some(Self::Unprovisioned),
1949 "RECONCILING" => Some(Self::Reconciling),
1950 "ACTIVE" => Some(Self::Active),
1951 _ => None,
1952 }
1953 }
1954 }
1955 }
1956}
1957/// Represents a binding between a network and the management DNS zone.
1958/// A management DNS zone is the Cloud DNS cross-project binding zone that
1959/// VMware Engine creates for each private cloud. It contains FQDNs and
1960/// corresponding IP addresses for the private cloud's ESXi hosts and management
1961/// VM appliances like vCenter and NSX Manager.
1962#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1963pub struct ManagementDnsZoneBinding {
1964 /// Output only. The resource name of this binding.
1965 /// Resource names are schemeless URIs that follow the conventions in
1966 /// <https://cloud.google.com/apis/design/resource_names.>
1967 /// For example:
1968 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-binding`
1969 #[prost(string, tag = "1")]
1970 pub name: ::prost::alloc::string::String,
1971 /// Output only. Creation time of this resource.
1972 #[prost(message, optional, tag = "2")]
1973 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
1974 /// Output only. Last update time of this resource.
1975 #[prost(message, optional, tag = "3")]
1976 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
1977 /// Output only. The state of the resource.
1978 #[prost(enumeration = "management_dns_zone_binding::State", tag = "8")]
1979 pub state: i32,
1980 /// User-provided description for this resource.
1981 #[prost(string, tag = "13")]
1982 pub description: ::prost::alloc::string::String,
1983 /// Output only. System-generated unique identifier for the resource.
1984 #[prost(string, tag = "9")]
1985 pub uid: ::prost::alloc::string::String,
1986 /// Required. The relative resource name of the network to bind to the
1987 /// management DNS zone. This network can be a consumer VPC network or a
1988 /// VMware engine network.
1989 #[prost(oneof = "management_dns_zone_binding::BindNetwork", tags = "14, 15")]
1990 pub bind_network: ::core::option::Option<management_dns_zone_binding::BindNetwork>,
1991}
1992/// Nested message and enum types in `ManagementDnsZoneBinding`.
1993pub mod management_dns_zone_binding {
1994 /// Enum State defines possible states of binding between the consumer VPC
1995 /// network and the management DNS zone.
1996 #[derive(
1997 Clone,
1998 Copy,
1999 Debug,
2000 PartialEq,
2001 Eq,
2002 Hash,
2003 PartialOrd,
2004 Ord,
2005 ::prost::Enumeration
2006 )]
2007 #[repr(i32)]
2008 pub enum State {
2009 /// The default value. This value should never be used.
2010 Unspecified = 0,
2011 /// The binding is ready.
2012 Active = 1,
2013 /// The binding is being created.
2014 Creating = 2,
2015 /// The binding is being updated.
2016 Updating = 3,
2017 /// The binding is being deleted.
2018 Deleting = 4,
2019 /// The binding has failed.
2020 Failed = 5,
2021 }
2022 impl State {
2023 /// String value of the enum field names used in the ProtoBuf definition.
2024 ///
2025 /// The values are not transformed in any way and thus are considered stable
2026 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2027 pub fn as_str_name(&self) -> &'static str {
2028 match self {
2029 Self::Unspecified => "STATE_UNSPECIFIED",
2030 Self::Active => "ACTIVE",
2031 Self::Creating => "CREATING",
2032 Self::Updating => "UPDATING",
2033 Self::Deleting => "DELETING",
2034 Self::Failed => "FAILED",
2035 }
2036 }
2037 /// Creates an enum from field names used in the ProtoBuf definition.
2038 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2039 match value {
2040 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
2041 "ACTIVE" => Some(Self::Active),
2042 "CREATING" => Some(Self::Creating),
2043 "UPDATING" => Some(Self::Updating),
2044 "DELETING" => Some(Self::Deleting),
2045 "FAILED" => Some(Self::Failed),
2046 _ => None,
2047 }
2048 }
2049 }
2050 /// Required. The relative resource name of the network to bind to the
2051 /// management DNS zone. This network can be a consumer VPC network or a
2052 /// VMware engine network.
2053 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
2054 pub enum BindNetwork {
2055 /// Network to bind is a standard consumer VPC.
2056 /// Specify the name in the following form for consumer
2057 /// VPC network: `projects/{project}/global/networks/{network_id}`.
2058 /// `{project}` can either be a project number or a project ID.
2059 #[prost(string, tag = "14")]
2060 VpcNetwork(::prost::alloc::string::String),
2061 /// Network to bind is a VMware Engine network.
2062 /// Specify the name in the following form for VMware engine network:
2063 /// `projects/{project}/locations/global/vmwareEngineNetworks/{vmware_engine_network_id}`.
2064 /// `{project}` can either be a project number or a project ID.
2065 #[prost(string, tag = "15")]
2066 VmwareEngineNetwork(::prost::alloc::string::String),
2067 }
2068}
2069/// VMware Engine network resource that provides connectivity for VMware Engine
2070/// private clouds.
2071#[derive(Clone, PartialEq, ::prost::Message)]
2072pub struct VmwareEngineNetwork {
2073 /// Output only. The resource name of the VMware Engine network.
2074 /// Resource names are schemeless URIs that follow the conventions in
2075 /// <https://cloud.google.com/apis/design/resource_names.>
2076 /// For example:
2077 /// `projects/my-project/locations/global/vmwareEngineNetworks/my-network`
2078 #[prost(string, tag = "1")]
2079 pub name: ::prost::alloc::string::String,
2080 /// Output only. Creation time of this resource.
2081 #[prost(message, optional, tag = "2")]
2082 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
2083 /// Output only. Last update time of this resource.
2084 #[prost(message, optional, tag = "3")]
2085 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
2086 /// User-provided description for this VMware Engine network.
2087 #[prost(string, tag = "5")]
2088 pub description: ::prost::alloc::string::String,
2089 /// Output only. VMware Engine service VPC networks that provide connectivity
2090 /// from a private cloud to customer projects, the internet, and other Google
2091 /// Cloud services.
2092 #[prost(message, repeated, tag = "6")]
2093 pub vpc_networks: ::prost::alloc::vec::Vec<vmware_engine_network::VpcNetwork>,
2094 /// Output only. State of the VMware Engine network.
2095 #[prost(enumeration = "vmware_engine_network::State", tag = "7")]
2096 pub state: i32,
2097 /// Required. VMware Engine network type.
2098 #[prost(enumeration = "vmware_engine_network::Type", tag = "8")]
2099 pub r#type: i32,
2100 /// Output only. System-generated unique identifier for the resource.
2101 #[prost(string, tag = "9")]
2102 pub uid: ::prost::alloc::string::String,
2103 /// Checksum that may be sent on update and delete requests to ensure that the
2104 /// user-provided value is up to date before the server processes a request.
2105 /// The server computes checksums based on the value of other fields in the
2106 /// request.
2107 #[prost(string, tag = "10")]
2108 pub etag: ::prost::alloc::string::String,
2109}
2110/// Nested message and enum types in `VmwareEngineNetwork`.
2111pub mod vmware_engine_network {
2112 /// Represents a VMware Engine VPC network that is managed by a
2113 /// VMware Engine network resource.
2114 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2115 pub struct VpcNetwork {
2116 /// Output only. Type of VPC network (INTRANET, INTERNET, or
2117 /// GOOGLE_CLOUD)
2118 #[prost(enumeration = "vpc_network::Type", tag = "1")]
2119 pub r#type: i32,
2120 /// Output only. The relative resource name of the service VPC network this
2121 /// VMware Engine network is attached to. For example:
2122 /// `projects/123123/global/networks/my-network`
2123 #[prost(string, tag = "2")]
2124 pub network: ::prost::alloc::string::String,
2125 }
2126 /// Nested message and enum types in `VpcNetwork`.
2127 pub mod vpc_network {
2128 /// Enum Type defines possible types of a VMware Engine network controlled
2129 /// service.
2130 #[derive(
2131 Clone,
2132 Copy,
2133 Debug,
2134 PartialEq,
2135 Eq,
2136 Hash,
2137 PartialOrd,
2138 Ord,
2139 ::prost::Enumeration
2140 )]
2141 #[repr(i32)]
2142 pub enum Type {
2143 /// The default value. This value should never be used.
2144 Unspecified = 0,
2145 /// VPC network that will be peered with a consumer VPC network or the
2146 /// intranet VPC of another VMware Engine network. Access a private cloud
2147 /// through Compute Engine VMs on a peered VPC network or an on-premises
2148 /// resource connected to a peered consumer VPC network.
2149 Intranet = 1,
2150 /// VPC network used for internet access to and from a private cloud.
2151 Internet = 2,
2152 /// VPC network used for access to Google Cloud services like
2153 /// Cloud Storage.
2154 GoogleCloud = 3,
2155 }
2156 impl Type {
2157 /// String value of the enum field names used in the ProtoBuf definition.
2158 ///
2159 /// The values are not transformed in any way and thus are considered stable
2160 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2161 pub fn as_str_name(&self) -> &'static str {
2162 match self {
2163 Self::Unspecified => "TYPE_UNSPECIFIED",
2164 Self::Intranet => "INTRANET",
2165 Self::Internet => "INTERNET",
2166 Self::GoogleCloud => "GOOGLE_CLOUD",
2167 }
2168 }
2169 /// Creates an enum from field names used in the ProtoBuf definition.
2170 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2171 match value {
2172 "TYPE_UNSPECIFIED" => Some(Self::Unspecified),
2173 "INTRANET" => Some(Self::Intranet),
2174 "INTERNET" => Some(Self::Internet),
2175 "GOOGLE_CLOUD" => Some(Self::GoogleCloud),
2176 _ => None,
2177 }
2178 }
2179 }
2180 }
2181 /// Enum State defines possible states of VMware Engine network.
2182 #[derive(
2183 Clone,
2184 Copy,
2185 Debug,
2186 PartialEq,
2187 Eq,
2188 Hash,
2189 PartialOrd,
2190 Ord,
2191 ::prost::Enumeration
2192 )]
2193 #[repr(i32)]
2194 pub enum State {
2195 /// The default value. This value is used if the state is omitted.
2196 Unspecified = 0,
2197 /// The VMware Engine network is being created.
2198 Creating = 1,
2199 /// The VMware Engine network is ready.
2200 Active = 2,
2201 /// The VMware Engine network is being updated.
2202 Updating = 3,
2203 /// The VMware Engine network is being deleted.
2204 Deleting = 4,
2205 }
2206 impl State {
2207 /// String value of the enum field names used in the ProtoBuf definition.
2208 ///
2209 /// The values are not transformed in any way and thus are considered stable
2210 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2211 pub fn as_str_name(&self) -> &'static str {
2212 match self {
2213 Self::Unspecified => "STATE_UNSPECIFIED",
2214 Self::Creating => "CREATING",
2215 Self::Active => "ACTIVE",
2216 Self::Updating => "UPDATING",
2217 Self::Deleting => "DELETING",
2218 }
2219 }
2220 /// Creates an enum from field names used in the ProtoBuf definition.
2221 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2222 match value {
2223 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
2224 "CREATING" => Some(Self::Creating),
2225 "ACTIVE" => Some(Self::Active),
2226 "UPDATING" => Some(Self::Updating),
2227 "DELETING" => Some(Self::Deleting),
2228 _ => None,
2229 }
2230 }
2231 }
2232 /// Enum Type defines possible types of VMware Engine network.
2233 #[derive(
2234 Clone,
2235 Copy,
2236 Debug,
2237 PartialEq,
2238 Eq,
2239 Hash,
2240 PartialOrd,
2241 Ord,
2242 ::prost::Enumeration
2243 )]
2244 #[repr(i32)]
2245 pub enum Type {
2246 /// The default value. This value should never be used.
2247 Unspecified = 0,
2248 /// Network type used by private clouds created in projects without a network
2249 /// of type `STANDARD`. This network type is no longer used for new VMware
2250 /// Engine private cloud deployments.
2251 Legacy = 1,
2252 /// Standard network type used for private cloud connectivity.
2253 Standard = 2,
2254 }
2255 impl Type {
2256 /// String value of the enum field names used in the ProtoBuf definition.
2257 ///
2258 /// The values are not transformed in any way and thus are considered stable
2259 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2260 pub fn as_str_name(&self) -> &'static str {
2261 match self {
2262 Self::Unspecified => "TYPE_UNSPECIFIED",
2263 Self::Legacy => "LEGACY",
2264 Self::Standard => "STANDARD",
2265 }
2266 }
2267 /// Creates an enum from field names used in the ProtoBuf definition.
2268 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2269 match value {
2270 "TYPE_UNSPECIFIED" => Some(Self::Unspecified),
2271 "LEGACY" => Some(Self::Legacy),
2272 "STANDARD" => Some(Self::Standard),
2273 _ => None,
2274 }
2275 }
2276 }
2277}
2278/// Private connection resource that provides connectivity for VMware Engine
2279/// private clouds.
2280#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2281pub struct PrivateConnection {
2282 /// Output only. The resource name of the private connection.
2283 /// Resource names are schemeless URIs that follow the conventions in
2284 /// <https://cloud.google.com/apis/design/resource_names.>
2285 /// For example:
2286 /// `projects/my-project/locations/us-central1/privateConnections/my-connection`
2287 #[prost(string, tag = "1")]
2288 pub name: ::prost::alloc::string::String,
2289 /// Output only. Creation time of this resource.
2290 #[prost(message, optional, tag = "2")]
2291 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
2292 /// Output only. Last update time of this resource.
2293 #[prost(message, optional, tag = "3")]
2294 pub update_time: ::core::option::Option<::prost_types::Timestamp>,
2295 /// Optional. User-provided description for this private connection.
2296 #[prost(string, tag = "4")]
2297 pub description: ::prost::alloc::string::String,
2298 /// Output only. State of the private connection.
2299 #[prost(enumeration = "private_connection::State", tag = "5")]
2300 pub state: i32,
2301 /// Required. The relative resource name of Legacy VMware Engine network.
2302 /// Specify the name in the following form:
2303 /// `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
2304 /// where `{project}`, `{location}` will be same as specified in private
2305 /// connection resource name and `{vmware_engine_network_id}` will be in the
2306 /// form of `{location}`-default e.g.
2307 /// projects/project/locations/us-central1/vmwareEngineNetworks/us-central1-default.
2308 #[prost(string, tag = "8")]
2309 pub vmware_engine_network: ::prost::alloc::string::String,
2310 /// Output only. The canonical name of the VMware Engine network in the form:
2311 /// `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
2312 #[prost(string, tag = "9")]
2313 pub vmware_engine_network_canonical: ::prost::alloc::string::String,
2314 /// Required. Private connection type.
2315 #[prost(enumeration = "private_connection::Type", tag = "10")]
2316 pub r#type: i32,
2317 /// Output only. VPC network peering id between given network VPC and
2318 /// VMwareEngineNetwork.
2319 #[prost(string, tag = "12")]
2320 pub peering_id: ::prost::alloc::string::String,
2321 /// Optional. Routing Mode.
2322 /// Default value is set to GLOBAL.
2323 /// For type = PRIVATE_SERVICE_ACCESS, this field can be set to GLOBAL or
2324 /// REGIONAL, for other types only GLOBAL is supported.
2325 #[prost(enumeration = "private_connection::RoutingMode", tag = "13")]
2326 pub routing_mode: i32,
2327 /// Output only. System-generated unique identifier for the resource.
2328 #[prost(string, tag = "14")]
2329 pub uid: ::prost::alloc::string::String,
2330 /// Required. Service network to create private connection.
2331 /// Specify the name in the following form:
2332 /// `projects/{project}/global/networks/{network_id}`
2333 /// For type = PRIVATE_SERVICE_ACCESS, this field represents servicenetworking
2334 /// VPC, e.g. projects/project-tp/global/networks/servicenetworking.
2335 /// For type = NETAPP_CLOUD_VOLUME, this field represents NetApp service VPC,
2336 /// e.g. projects/project-tp/global/networks/netapp-tenant-vpc.
2337 /// For type = DELL_POWERSCALE, this field represent Dell service VPC, e.g.
2338 /// projects/project-tp/global/networks/dell-tenant-vpc.
2339 /// For type= THIRD_PARTY_SERVICE, this field could represent a consumer VPC or
2340 /// any other producer VPC to which the VMware Engine Network needs to be
2341 /// connected, e.g. projects/project/global/networks/vpc.
2342 #[prost(string, tag = "16")]
2343 pub service_network: ::prost::alloc::string::String,
2344 /// Output only. Peering state between service network and VMware Engine
2345 /// network.
2346 #[prost(enumeration = "private_connection::PeeringState", tag = "17")]
2347 pub peering_state: i32,
2348}
2349/// Nested message and enum types in `PrivateConnection`.
2350pub mod private_connection {
2351 /// Enum State defines possible states of private connection.
2352 #[derive(
2353 Clone,
2354 Copy,
2355 Debug,
2356 PartialEq,
2357 Eq,
2358 Hash,
2359 PartialOrd,
2360 Ord,
2361 ::prost::Enumeration
2362 )]
2363 #[repr(i32)]
2364 pub enum State {
2365 /// The default value. This value is used if the state is omitted.
2366 Unspecified = 0,
2367 /// The private connection is being created.
2368 Creating = 1,
2369 /// The private connection is ready.
2370 Active = 2,
2371 /// The private connection is being updated.
2372 Updating = 3,
2373 /// The private connection is being deleted.
2374 Deleting = 4,
2375 /// The private connection is not provisioned, since no private cloud is
2376 /// present for which this private connection is needed.
2377 Unprovisioned = 5,
2378 /// The private connection is in failed state.
2379 Failed = 6,
2380 }
2381 impl State {
2382 /// String value of the enum field names used in the ProtoBuf definition.
2383 ///
2384 /// The values are not transformed in any way and thus are considered stable
2385 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2386 pub fn as_str_name(&self) -> &'static str {
2387 match self {
2388 Self::Unspecified => "STATE_UNSPECIFIED",
2389 Self::Creating => "CREATING",
2390 Self::Active => "ACTIVE",
2391 Self::Updating => "UPDATING",
2392 Self::Deleting => "DELETING",
2393 Self::Unprovisioned => "UNPROVISIONED",
2394 Self::Failed => "FAILED",
2395 }
2396 }
2397 /// Creates an enum from field names used in the ProtoBuf definition.
2398 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2399 match value {
2400 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
2401 "CREATING" => Some(Self::Creating),
2402 "ACTIVE" => Some(Self::Active),
2403 "UPDATING" => Some(Self::Updating),
2404 "DELETING" => Some(Self::Deleting),
2405 "UNPROVISIONED" => Some(Self::Unprovisioned),
2406 "FAILED" => Some(Self::Failed),
2407 _ => None,
2408 }
2409 }
2410 }
2411 /// Enum Type defines possible types of private connection.
2412 #[derive(
2413 Clone,
2414 Copy,
2415 Debug,
2416 PartialEq,
2417 Eq,
2418 Hash,
2419 PartialOrd,
2420 Ord,
2421 ::prost::Enumeration
2422 )]
2423 #[repr(i32)]
2424 pub enum Type {
2425 /// The default value. This value should never be used.
2426 Unspecified = 0,
2427 /// Connection used for establishing [private services
2428 /// access](<https://cloud.google.com/vpc/docs/private-services-access>).
2429 PrivateServiceAccess = 1,
2430 /// Connection used for connecting to NetApp Cloud Volumes.
2431 NetappCloudVolumes = 2,
2432 /// Connection used for connecting to Dell PowerScale.
2433 DellPowerscale = 3,
2434 /// Connection used for connecting to third-party services.
2435 ThirdPartyService = 4,
2436 }
2437 impl Type {
2438 /// String value of the enum field names used in the ProtoBuf definition.
2439 ///
2440 /// The values are not transformed in any way and thus are considered stable
2441 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2442 pub fn as_str_name(&self) -> &'static str {
2443 match self {
2444 Self::Unspecified => "TYPE_UNSPECIFIED",
2445 Self::PrivateServiceAccess => "PRIVATE_SERVICE_ACCESS",
2446 Self::NetappCloudVolumes => "NETAPP_CLOUD_VOLUMES",
2447 Self::DellPowerscale => "DELL_POWERSCALE",
2448 Self::ThirdPartyService => "THIRD_PARTY_SERVICE",
2449 }
2450 }
2451 /// Creates an enum from field names used in the ProtoBuf definition.
2452 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2453 match value {
2454 "TYPE_UNSPECIFIED" => Some(Self::Unspecified),
2455 "PRIVATE_SERVICE_ACCESS" => Some(Self::PrivateServiceAccess),
2456 "NETAPP_CLOUD_VOLUMES" => Some(Self::NetappCloudVolumes),
2457 "DELL_POWERSCALE" => Some(Self::DellPowerscale),
2458 "THIRD_PARTY_SERVICE" => Some(Self::ThirdPartyService),
2459 _ => None,
2460 }
2461 }
2462 }
2463 /// Possible types for RoutingMode
2464 #[derive(
2465 Clone,
2466 Copy,
2467 Debug,
2468 PartialEq,
2469 Eq,
2470 Hash,
2471 PartialOrd,
2472 Ord,
2473 ::prost::Enumeration
2474 )]
2475 #[repr(i32)]
2476 pub enum RoutingMode {
2477 /// The default value. This value should never be used.
2478 Unspecified = 0,
2479 /// Global Routing Mode
2480 Global = 1,
2481 /// Regional Routing Mode
2482 Regional = 2,
2483 }
2484 impl RoutingMode {
2485 /// String value of the enum field names used in the ProtoBuf definition.
2486 ///
2487 /// The values are not transformed in any way and thus are considered stable
2488 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2489 pub fn as_str_name(&self) -> &'static str {
2490 match self {
2491 Self::Unspecified => "ROUTING_MODE_UNSPECIFIED",
2492 Self::Global => "GLOBAL",
2493 Self::Regional => "REGIONAL",
2494 }
2495 }
2496 /// Creates an enum from field names used in the ProtoBuf definition.
2497 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2498 match value {
2499 "ROUTING_MODE_UNSPECIFIED" => Some(Self::Unspecified),
2500 "GLOBAL" => Some(Self::Global),
2501 "REGIONAL" => Some(Self::Regional),
2502 _ => None,
2503 }
2504 }
2505 }
2506 /// Enum PeeringState defines the possible states of peering between service
2507 /// network and the vpc network peered to service network
2508 #[derive(
2509 Clone,
2510 Copy,
2511 Debug,
2512 PartialEq,
2513 Eq,
2514 Hash,
2515 PartialOrd,
2516 Ord,
2517 ::prost::Enumeration
2518 )]
2519 #[repr(i32)]
2520 pub enum PeeringState {
2521 /// The default value. This value is used if the peering state is omitted or
2522 /// unknown.
2523 Unspecified = 0,
2524 /// The peering is in active state.
2525 PeeringActive = 1,
2526 /// The peering is in inactive state.
2527 PeeringInactive = 2,
2528 }
2529 impl PeeringState {
2530 /// String value of the enum field names used in the ProtoBuf definition.
2531 ///
2532 /// The values are not transformed in any way and thus are considered stable
2533 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2534 pub fn as_str_name(&self) -> &'static str {
2535 match self {
2536 Self::Unspecified => "PEERING_STATE_UNSPECIFIED",
2537 Self::PeeringActive => "PEERING_ACTIVE",
2538 Self::PeeringInactive => "PEERING_INACTIVE",
2539 }
2540 }
2541 /// Creates an enum from field names used in the ProtoBuf definition.
2542 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2543 match value {
2544 "PEERING_STATE_UNSPECIFIED" => Some(Self::Unspecified),
2545 "PEERING_ACTIVE" => Some(Self::PeeringActive),
2546 "PEERING_INACTIVE" => Some(Self::PeeringInactive),
2547 _ => None,
2548 }
2549 }
2550 }
2551}
2552/// VmwareEngine specific metadata for the given
2553/// \[google.cloud.location.Location\]\[google.cloud.location.Location\]. It is
2554/// returned as a content of the `google.cloud.location.Location.metadata` field.
2555#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2556pub struct LocationMetadata {
2557 /// Output only. Capabilities of this location.
2558 #[prost(
2559 enumeration = "location_metadata::Capability",
2560 repeated,
2561 packed = "false",
2562 tag = "1"
2563 )]
2564 pub capabilities: ::prost::alloc::vec::Vec<i32>,
2565}
2566/// Nested message and enum types in `LocationMetadata`.
2567pub mod location_metadata {
2568 /// Capability of a location.
2569 #[derive(
2570 Clone,
2571 Copy,
2572 Debug,
2573 PartialEq,
2574 Eq,
2575 Hash,
2576 PartialOrd,
2577 Ord,
2578 ::prost::Enumeration
2579 )]
2580 #[repr(i32)]
2581 pub enum Capability {
2582 /// The default value. This value is used if the capability is omitted or
2583 /// unknown.
2584 Unspecified = 0,
2585 /// Stretch clusters are supported in this location.
2586 StretchedClusters = 1,
2587 }
2588 impl Capability {
2589 /// String value of the enum field names used in the ProtoBuf definition.
2590 ///
2591 /// The values are not transformed in any way and thus are considered stable
2592 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2593 pub fn as_str_name(&self) -> &'static str {
2594 match self {
2595 Self::Unspecified => "CAPABILITY_UNSPECIFIED",
2596 Self::StretchedClusters => "STRETCHED_CLUSTERS",
2597 }
2598 }
2599 /// Creates an enum from field names used in the ProtoBuf definition.
2600 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2601 match value {
2602 "CAPABILITY_UNSPECIFIED" => Some(Self::Unspecified),
2603 "STRETCHED_CLUSTERS" => Some(Self::StretchedClusters),
2604 _ => None,
2605 }
2606 }
2607 }
2608}
2609/// DnsBindPermission resource that contains the accounts having the consumer DNS
2610/// bind permission on the corresponding intranet VPC of the consumer project.
2611#[derive(Clone, PartialEq, ::prost::Message)]
2612pub struct DnsBindPermission {
2613 /// Required. Output only. The name of the resource which stores the
2614 /// users/service accounts having the permission to bind to the corresponding
2615 /// intranet VPC of the consumer project. DnsBindPermission is a global
2616 /// resource and location can only be global. Resource names are schemeless
2617 /// URIs that follow the conventions in
2618 /// <https://cloud.google.com/apis/design/resource_names.> For example:
2619 /// `projects/my-project/locations/global/dnsBindPermission`
2620 #[prost(string, tag = "1")]
2621 pub name: ::prost::alloc::string::String,
2622 /// Output only. Users/Service accounts which have access for binding on the
2623 /// intranet VPC project corresponding to the consumer project.
2624 #[prost(message, repeated, tag = "2")]
2625 pub principals: ::prost::alloc::vec::Vec<Principal>,
2626}
2627/// Users/Service accounts which have access for DNS binding on the intranet
2628/// VPC corresponding to the consumer project.
2629#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2630pub struct Principal {
2631 /// The consumer provided user/service account which needs to be
2632 /// granted permission to DNS bind with the intranet VPC corresponding to the
2633 /// consumer project.
2634 #[prost(oneof = "principal::Principal", tags = "1, 2")]
2635 pub principal: ::core::option::Option<principal::Principal>,
2636}
2637/// Nested message and enum types in `Principal`.
2638pub mod principal {
2639 /// The consumer provided user/service account which needs to be
2640 /// granted permission to DNS bind with the intranet VPC corresponding to the
2641 /// consumer project.
2642 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
2643 pub enum Principal {
2644 /// The user who needs to be granted permission.
2645 #[prost(string, tag = "1")]
2646 User(::prost::alloc::string::String),
2647 /// The service account which needs to be granted the permission.
2648 #[prost(string, tag = "2")]
2649 ServiceAccount(::prost::alloc::string::String),
2650 }
2651}
2652/// Request message for
2653/// \[VmwareEngine.ListPrivateClouds\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateClouds\]
2654#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2655pub struct ListPrivateCloudsRequest {
2656 /// Required. The resource name of the private cloud to be queried for
2657 /// clusters. Resource names are schemeless URIs that follow the conventions in
2658 /// <https://cloud.google.com/apis/design/resource_names.>
2659 /// For example:
2660 /// `projects/my-project/locations/us-central1-a`
2661 #[prost(string, tag = "1")]
2662 pub parent: ::prost::alloc::string::String,
2663 /// The maximum number of private clouds to return in one page.
2664 /// The service may return fewer than this value.
2665 /// The maximum value is coerced to 1000.
2666 /// The default value of this field is 500.
2667 #[prost(int32, tag = "2")]
2668 pub page_size: i32,
2669 /// A page token, received from a previous `ListPrivateClouds` call.
2670 /// Provide this to retrieve the subsequent page.
2671 ///
2672 /// When paginating, all other parameters provided to `ListPrivateClouds` must
2673 /// match the call that provided the page token.
2674 #[prost(string, tag = "3")]
2675 pub page_token: ::prost::alloc::string::String,
2676 /// A filter expression that matches resources returned in the response.
2677 /// The expression must specify the field name, a comparison operator, and the
2678 /// value that you want to use for filtering. The value must be a string, a
2679 /// number, or a boolean. The comparison operator must be `=`, `!=`, `>`, or
2680 /// `<`.
2681 ///
2682 /// For example, if you are filtering a list of private clouds, you can exclude
2683 /// the ones named `example-pc` by specifying `name != "example-pc"`.
2684 ///
2685 /// You can also filter nested fields. For example, you could specify
2686 /// `networkConfig.managementCidr = "192.168.0.0/24"` to include private clouds
2687 /// only if they have a matching address in their network configuration.
2688 ///
2689 /// To filter on multiple expressions, provide each separate expression within
2690 /// parentheses. For example:
2691 ///
2692 /// ```text,
2693 /// (name = "example-pc")
2694 /// (createTime > "2021-04-12T08:15:10.40Z")
2695 /// ```
2696 ///
2697 /// By default, each expression is an `AND` expression. However, you can
2698 /// include `AND` and `OR` expressions explicitly. For example:
2699 ///
2700 /// ```text,
2701 /// (name = "private-cloud-1") AND
2702 /// (createTime > "2021-04-12T08:15:10.40Z") OR
2703 /// (name = "private-cloud-2")
2704 /// ```
2705 #[prost(string, tag = "4")]
2706 pub filter: ::prost::alloc::string::String,
2707 /// Sorts list results by a certain order. By default, returned results are
2708 /// ordered by `name` in ascending order. You can also sort results in
2709 /// descending order based on the `name` value using `orderBy="name desc"`.
2710 /// Currently, only ordering by `name` is supported.
2711 #[prost(string, tag = "5")]
2712 pub order_by: ::prost::alloc::string::String,
2713}
2714/// Response message for
2715/// \[VmwareEngine.ListPrivateClouds\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateClouds\]
2716#[derive(Clone, PartialEq, ::prost::Message)]
2717pub struct ListPrivateCloudsResponse {
2718 /// A list of private clouds.
2719 #[prost(message, repeated, tag = "1")]
2720 pub private_clouds: ::prost::alloc::vec::Vec<PrivateCloud>,
2721 /// A token, which can be sent as `page_token` to retrieve the next page.
2722 /// If this field is omitted, there are no subsequent pages.
2723 #[prost(string, tag = "2")]
2724 pub next_page_token: ::prost::alloc::string::String,
2725 /// Locations that could not be reached when making an aggregated query using
2726 /// wildcards.
2727 #[prost(string, repeated, tag = "3")]
2728 pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2729}
2730/// Request message for
2731/// \[VmwareEngine.GetPrivateCloud\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateCloud\]
2732#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2733pub struct GetPrivateCloudRequest {
2734 /// Required. The resource name of the private cloud to retrieve.
2735 /// Resource names are schemeless URIs that follow the conventions in
2736 /// <https://cloud.google.com/apis/design/resource_names.>
2737 /// For example:
2738 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
2739 #[prost(string, tag = "1")]
2740 pub name: ::prost::alloc::string::String,
2741}
2742/// Request message for
2743/// \[VmwareEngine.CreatePrivateCloud\]\[google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateCloud\]
2744#[derive(Clone, PartialEq, ::prost::Message)]
2745pub struct CreatePrivateCloudRequest {
2746 /// Required. The resource name of the location to create the new
2747 /// private cloud in. Resource names are schemeless URIs that follow the
2748 /// conventions in <https://cloud.google.com/apis/design/resource_names.>
2749 /// For example:
2750 /// `projects/my-project/locations/us-central1-a`
2751 #[prost(string, tag = "1")]
2752 pub parent: ::prost::alloc::string::String,
2753 /// Required. The user-provided identifier of the private cloud to be created.
2754 /// This identifier must be unique among each `PrivateCloud` within the parent
2755 /// and becomes the final token in the name URI.
2756 /// The identifier must meet the following requirements:
2757 ///
2758 /// * Only contains 1-63 alphanumeric characters and hyphens
2759 /// * Begins with an alphabetical character
2760 /// * Ends with a non-hyphen character
2761 /// * Not formatted as a UUID
2762 /// * Complies with [RFC 1034](<https://datatracker.ietf.org/doc/html/rfc1034>)
2763 /// (section 3.5)
2764 #[prost(string, tag = "2")]
2765 pub private_cloud_id: ::prost::alloc::string::String,
2766 /// Required. The initial description of the new private cloud.
2767 #[prost(message, optional, tag = "3")]
2768 pub private_cloud: ::core::option::Option<PrivateCloud>,
2769 /// Optional. The request ID must be a valid UUID with the exception that zero
2770 /// UUID is not supported (00000000-0000-0000-0000-000000000000).
2771 #[prost(string, tag = "4")]
2772 pub request_id: ::prost::alloc::string::String,
2773 /// Optional. True if you want the request to be validated and not executed;
2774 /// false otherwise.
2775 #[prost(bool, tag = "5")]
2776 pub validate_only: bool,
2777}
2778/// Request message for
2779/// \[VmwareEngine.UpdatePrivateCloud\]\[google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateCloud\]
2780#[derive(Clone, PartialEq, ::prost::Message)]
2781pub struct UpdatePrivateCloudRequest {
2782 /// Required. Private cloud description.
2783 #[prost(message, optional, tag = "1")]
2784 pub private_cloud: ::core::option::Option<PrivateCloud>,
2785 /// Required. Field mask is used to specify the fields to be overwritten in the
2786 /// `PrivateCloud` resource by the update. The fields specified in `updateMask`
2787 /// are relative to the resource, not the full request. A field will be
2788 /// overwritten if it is in the mask. If the user does not provide a mask then
2789 /// all fields will be overwritten.
2790 #[prost(message, optional, tag = "2")]
2791 pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
2792 /// Optional. The request ID must be a valid UUID with the exception that zero
2793 /// UUID is not supported (00000000-0000-0000-0000-000000000000).
2794 #[prost(string, tag = "3")]
2795 pub request_id: ::prost::alloc::string::String,
2796}
2797/// Request message for
2798/// \[VmwareEngine.DeletePrivateCloud\]\[google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateCloud\]
2799#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2800pub struct DeletePrivateCloudRequest {
2801 /// Required. The resource name of the private cloud to delete.
2802 /// Resource names are schemeless URIs that follow the conventions in
2803 /// <https://cloud.google.com/apis/design/resource_names.>
2804 /// For example:
2805 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
2806 #[prost(string, tag = "1")]
2807 pub name: ::prost::alloc::string::String,
2808 /// Optional. The request ID must be a valid UUID with the exception that zero
2809 /// UUID is not supported (00000000-0000-0000-0000-000000000000).
2810 #[prost(string, tag = "2")]
2811 pub request_id: ::prost::alloc::string::String,
2812 /// Optional. If set to true, cascade delete is enabled and all children of
2813 /// this private cloud resource are also deleted. When this flag is set to
2814 /// false, the private cloud will not be deleted if there are any children
2815 /// other than the management cluster. The management cluster is always
2816 /// deleted.
2817 #[prost(bool, tag = "3")]
2818 pub force: bool,
2819 /// Optional. Time delay of the deletion specified in hours. The default value
2820 /// is `3`. Specifying a non-zero value for this field changes the value of
2821 /// `PrivateCloud.state` to `DELETED` and sets `expire_time` to the planned
2822 /// deletion time. Deletion can be cancelled before `expire_time` elapses using
2823 /// \[VmwareEngine.UndeletePrivateCloud\]\[google.cloud.vmwareengine.v1.VmwareEngine.UndeletePrivateCloud\].
2824 /// Specifying a value of `0` for this field instead begins the deletion
2825 /// process and ceases billing immediately. During the final deletion process,
2826 /// the value of `PrivateCloud.state` becomes `PURGING`.
2827 #[prost(int32, optional, tag = "4")]
2828 pub delay_hours: ::core::option::Option<i32>,
2829}
2830/// Request message for
2831/// \[VmwareEngine.UndeletePrivateCloud\]\[google.cloud.vmwareengine.v1.VmwareEngine.UndeletePrivateCloud\]
2832#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2833pub struct UndeletePrivateCloudRequest {
2834 /// Required. The resource name of the private cloud scheduled for deletion.
2835 /// Resource names are schemeless URIs that follow the conventions in
2836 /// <https://cloud.google.com/apis/design/resource_names.>
2837 /// For example:
2838 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
2839 #[prost(string, tag = "1")]
2840 pub name: ::prost::alloc::string::String,
2841 /// Optional. The request ID must be a valid UUID with the exception that zero
2842 /// UUID is not supported (00000000-0000-0000-0000-000000000000).
2843 #[prost(string, tag = "2")]
2844 pub request_id: ::prost::alloc::string::String,
2845}
2846/// Request message for
2847/// \[VmwareEngine.ListClusters\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListClusters\]
2848#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2849pub struct ListClustersRequest {
2850 /// Required. The resource name of the private cloud to query for clusters.
2851 /// Resource names are schemeless URIs that follow the conventions in
2852 /// <https://cloud.google.com/apis/design/resource_names.>
2853 /// For example:
2854 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
2855 #[prost(string, tag = "1")]
2856 pub parent: ::prost::alloc::string::String,
2857 /// The maximum number of clusters to return in one page.
2858 /// The service may return fewer than this value.
2859 /// The maximum value is coerced to 1000.
2860 /// The default value of this field is 500.
2861 #[prost(int32, tag = "2")]
2862 pub page_size: i32,
2863 /// A page token, received from a previous `ListClusters` call.
2864 /// Provide this to retrieve the subsequent page.
2865 ///
2866 /// When paginating, all other parameters provided to `ListClusters`
2867 /// must match the call that provided the page token.
2868 #[prost(string, tag = "3")]
2869 pub page_token: ::prost::alloc::string::String,
2870 /// To filter on multiple expressions, provide each separate expression within
2871 /// parentheses. For example:
2872 ///
2873 /// ```text,
2874 /// (name = "example-cluster")
2875 /// (nodeCount = "3")
2876 /// ```
2877 ///
2878 /// By default, each expression is an `AND` expression. However, you can
2879 /// include `AND` and `OR` expressions explicitly. For example:
2880 ///
2881 /// ```text,
2882 /// (name = "example-cluster-1") AND
2883 /// (createTime > "2021-04-12T08:15:10.40Z") OR
2884 /// (name = "example-cluster-2")
2885 /// ```
2886 #[prost(string, tag = "4")]
2887 pub filter: ::prost::alloc::string::String,
2888 /// Sorts list results by a certain order. By default, returned results are
2889 /// ordered by `name` in ascending order. You can also sort results in
2890 /// descending order based on the `name` value using `orderBy="name desc"`.
2891 /// Currently, only ordering by `name` is supported.
2892 #[prost(string, tag = "5")]
2893 pub order_by: ::prost::alloc::string::String,
2894}
2895/// Response message for
2896/// \[VmwareEngine.ListClusters\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListClusters\]
2897#[derive(Clone, PartialEq, ::prost::Message)]
2898pub struct ListClustersResponse {
2899 /// A list of private cloud clusters.
2900 #[prost(message, repeated, tag = "1")]
2901 pub clusters: ::prost::alloc::vec::Vec<Cluster>,
2902 /// A token, which can be sent as `page_token` to retrieve the next page.
2903 /// If this field is omitted, there are no subsequent pages.
2904 #[prost(string, tag = "2")]
2905 pub next_page_token: ::prost::alloc::string::String,
2906 /// Locations that could not be reached when making an aggregated query using
2907 /// wildcards.
2908 #[prost(string, repeated, tag = "3")]
2909 pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2910}
2911/// Request message for
2912/// \[VmwareEngine.GetCluster\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetCluster\]
2913#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2914pub struct GetClusterRequest {
2915 /// Required. The cluster resource name to retrieve.
2916 /// Resource names are schemeless URIs that follow the conventions in
2917 /// <https://cloud.google.com/apis/design/resource_names.>
2918 /// For example:
2919 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster`
2920 #[prost(string, tag = "1")]
2921 pub name: ::prost::alloc::string::String,
2922}
2923/// Request message for
2924/// \[VmwareEngine.CreateCluster\]\[google.cloud.vmwareengine.v1.VmwareEngine.CreateCluster\]
2925#[derive(Clone, PartialEq, ::prost::Message)]
2926pub struct CreateClusterRequest {
2927 /// Required. The resource name of the private cloud to create a new cluster
2928 /// in. Resource names are schemeless URIs that follow the conventions in
2929 /// <https://cloud.google.com/apis/design/resource_names.>
2930 /// For example:
2931 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
2932 #[prost(string, tag = "1")]
2933 pub parent: ::prost::alloc::string::String,
2934 /// Required. The user-provided identifier of the new `Cluster`.
2935 /// This identifier must be unique among clusters within the parent and becomes
2936 /// the final token in the name URI.
2937 /// The identifier must meet the following requirements:
2938 ///
2939 /// * Only contains 1-63 alphanumeric characters and hyphens
2940 /// * Begins with an alphabetical character
2941 /// * Ends with a non-hyphen character
2942 /// * Not formatted as a UUID
2943 /// * Complies with [RFC 1034](<https://datatracker.ietf.org/doc/html/rfc1034>)
2944 /// (section 3.5)
2945 #[prost(string, tag = "2")]
2946 pub cluster_id: ::prost::alloc::string::String,
2947 /// Required. The initial description of the new cluster.
2948 #[prost(message, optional, tag = "3")]
2949 pub cluster: ::core::option::Option<Cluster>,
2950 /// Optional. The request ID must be a valid UUID with the exception that zero
2951 /// UUID is not supported (00000000-0000-0000-0000-000000000000).
2952 #[prost(string, tag = "4")]
2953 pub request_id: ::prost::alloc::string::String,
2954 /// Optional. True if you want the request to be validated and not executed;
2955 /// false otherwise.
2956 #[prost(bool, tag = "5")]
2957 pub validate_only: bool,
2958}
2959/// Request message for
2960/// \[VmwareEngine.UpdateCluster\]\[google.cloud.vmwareengine.v1.VmwareEngine.UpdateCluster\]
2961#[derive(Clone, PartialEq, ::prost::Message)]
2962pub struct UpdateClusterRequest {
2963 /// Required. Field mask is used to specify the fields to be overwritten in the
2964 /// `Cluster` resource by the update. The fields specified in the `updateMask`
2965 /// are relative to the resource, not the full request. A field will be
2966 /// overwritten if it is in the mask. If the user does not provide a mask then
2967 /// all fields will be overwritten.
2968 #[prost(message, optional, tag = "1")]
2969 pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
2970 /// Required. The description of the cluster.
2971 #[prost(message, optional, tag = "2")]
2972 pub cluster: ::core::option::Option<Cluster>,
2973 /// Optional. The request ID must be a valid UUID with the exception that
2974 /// zero UUID is not supported (00000000-0000-0000-0000-000000000000).
2975 #[prost(string, tag = "3")]
2976 pub request_id: ::prost::alloc::string::String,
2977 /// Optional. True if you want the request to be validated and not executed;
2978 /// false otherwise.
2979 #[prost(bool, tag = "4")]
2980 pub validate_only: bool,
2981}
2982/// Request message for
2983/// \[VmwareEngine.DeleteCluster\]\[google.cloud.vmwareengine.v1.VmwareEngine.DeleteCluster\]
2984#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2985pub struct DeleteClusterRequest {
2986 /// Required. The resource name of the cluster to delete.
2987 /// Resource names are schemeless URIs that follow the conventions in
2988 /// <https://cloud.google.com/apis/design/resource_names.>
2989 /// For example:
2990 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster`
2991 #[prost(string, tag = "1")]
2992 pub name: ::prost::alloc::string::String,
2993 /// Optional. The request ID must be a valid UUID with the exception that zero
2994 /// UUID is not supported (00000000-0000-0000-0000-000000000000).
2995 #[prost(string, tag = "2")]
2996 pub request_id: ::prost::alloc::string::String,
2997}
2998/// Request message for
2999/// \[VmwareEngine.ListNodes\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListNodes\]
3000#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3001pub struct ListNodesRequest {
3002 /// Required. The resource name of the cluster to be queried for nodes.
3003 /// Resource names are schemeless URIs that follow the conventions in
3004 /// <https://cloud.google.com/apis/design/resource_names.>
3005 /// For example:
3006 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster`
3007 #[prost(string, tag = "1")]
3008 pub parent: ::prost::alloc::string::String,
3009 /// The maximum number of nodes to return in one page.
3010 /// The service may return fewer than this value.
3011 /// The maximum value is coerced to 1000.
3012 /// The default value of this field is 500.
3013 #[prost(int32, tag = "2")]
3014 pub page_size: i32,
3015 /// A page token, received from a previous `ListNodes` call.
3016 /// Provide this to retrieve the subsequent page.
3017 ///
3018 /// When paginating, all other parameters provided to
3019 /// `ListNodes` must match the call that provided the page
3020 /// token.
3021 #[prost(string, tag = "3")]
3022 pub page_token: ::prost::alloc::string::String,
3023}
3024/// Response message for
3025/// \[VmwareEngine.ListNodes\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListNodes\]
3026#[derive(Clone, PartialEq, ::prost::Message)]
3027pub struct ListNodesResponse {
3028 /// The nodes.
3029 #[prost(message, repeated, tag = "1")]
3030 pub nodes: ::prost::alloc::vec::Vec<Node>,
3031 /// A token, which can be sent as `page_token` to retrieve the next page.
3032 /// If this field is omitted, there are no subsequent pages.
3033 #[prost(string, tag = "2")]
3034 pub next_page_token: ::prost::alloc::string::String,
3035}
3036/// Request message for
3037/// \[VmwareEngine.GetNode\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetNode\]
3038#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3039pub struct GetNodeRequest {
3040 /// Required. The resource name of the node to retrieve.
3041 /// For example:
3042 /// `projects/{project}/locations/{location}/privateClouds/{private_cloud}/clusters/{cluster}/nodes/{node}`
3043 #[prost(string, tag = "1")]
3044 pub name: ::prost::alloc::string::String,
3045}
3046/// Request message for
3047/// \[VmwareEngine.ListExternalAddresses\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAddresses\]
3048#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3049pub struct ListExternalAddressesRequest {
3050 /// Required. The resource name of the private cloud to be queried for
3051 /// external IP addresses.
3052 /// Resource names are schemeless URIs that follow the conventions in
3053 /// <https://cloud.google.com/apis/design/resource_names.>
3054 /// For example:
3055 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
3056 #[prost(string, tag = "1")]
3057 pub parent: ::prost::alloc::string::String,
3058 /// The maximum number of external IP addresses to return in one page.
3059 /// The service may return fewer than this value.
3060 /// The maximum value is coerced to 1000.
3061 /// The default value of this field is 500.
3062 #[prost(int32, tag = "2")]
3063 pub page_size: i32,
3064 /// A page token, received from a previous `ListExternalAddresses` call.
3065 /// Provide this to retrieve the subsequent page.
3066 ///
3067 /// When paginating, all other parameters provided to
3068 /// `ListExternalAddresses` must match the call that provided the page token.
3069 #[prost(string, tag = "3")]
3070 pub page_token: ::prost::alloc::string::String,
3071 /// A filter expression that matches resources returned in the response.
3072 /// The expression must specify the field name, a comparison
3073 /// operator, and the value that you want to use for filtering. The value
3074 /// must be a string, a number, or a boolean. The comparison operator
3075 /// must be `=`, `!=`, `>`, or `<`.
3076 ///
3077 /// For example, if you are filtering a list of IP addresses, you can
3078 /// exclude the ones named `example-ip` by specifying
3079 /// `name != "example-ip"`.
3080 ///
3081 /// To filter on multiple expressions, provide each separate expression within
3082 /// parentheses. For example:
3083 ///
3084 /// ```text,
3085 /// (name = "example-ip")
3086 /// (createTime > "2021-04-12T08:15:10.40Z")
3087 /// ```
3088 ///
3089 /// By default, each expression is an `AND` expression. However, you
3090 /// can include `AND` and `OR` expressions explicitly.
3091 /// For example:
3092 ///
3093 /// ```text,
3094 /// (name = "example-ip-1") AND
3095 /// (createTime > "2021-04-12T08:15:10.40Z") OR
3096 /// (name = "example-ip-2")
3097 /// ```
3098 #[prost(string, tag = "4")]
3099 pub filter: ::prost::alloc::string::String,
3100 /// Sorts list results by a certain order. By default, returned results
3101 /// are ordered by `name` in ascending order.
3102 /// You can also sort results in descending order based on the `name` value
3103 /// using `orderBy="name desc"`.
3104 /// Currently, only ordering by `name` is supported.
3105 #[prost(string, tag = "5")]
3106 pub order_by: ::prost::alloc::string::String,
3107}
3108/// Response message for
3109/// \[VmwareEngine.ListExternalAddresses\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAddresses\]
3110#[derive(Clone, PartialEq, ::prost::Message)]
3111pub struct ListExternalAddressesResponse {
3112 /// A list of external IP addresses.
3113 #[prost(message, repeated, tag = "1")]
3114 pub external_addresses: ::prost::alloc::vec::Vec<ExternalAddress>,
3115 /// A token, which can be sent as `page_token` to retrieve the next page.
3116 /// If this field is omitted, there are no subsequent pages.
3117 #[prost(string, tag = "2")]
3118 pub next_page_token: ::prost::alloc::string::String,
3119 /// Locations that could not be reached when making an aggregated query using
3120 /// wildcards.
3121 #[prost(string, repeated, tag = "3")]
3122 pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3123}
3124/// Request message for
3125/// \[VmwareEngine.FetchNetworkPolicyExternalAddresses\]\[google.cloud.vmwareengine.v1.VmwareEngine.FetchNetworkPolicyExternalAddresses\]
3126#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3127pub struct FetchNetworkPolicyExternalAddressesRequest {
3128 /// Required. The resource name of the network policy to query for assigned
3129 /// external IP addresses. Resource names are schemeless URIs that follow the
3130 /// conventions in <https://cloud.google.com/apis/design/resource_names.> For
3131 /// example:
3132 /// `projects/my-project/locations/us-central1/networkPolicies/my-policy`
3133 #[prost(string, tag = "1")]
3134 pub network_policy: ::prost::alloc::string::String,
3135 /// The maximum number of external IP addresses to return in one page.
3136 /// The service may return fewer than this value.
3137 /// The maximum value is coerced to 1000.
3138 /// The default value of this field is 500.
3139 #[prost(int32, tag = "2")]
3140 pub page_size: i32,
3141 /// A page token, received from a previous
3142 /// `FetchNetworkPolicyExternalAddresses` call. Provide this to retrieve the
3143 /// subsequent page.
3144 ///
3145 /// When paginating, all parameters provided to
3146 /// `FetchNetworkPolicyExternalAddresses`, except for `page_size` and
3147 /// `page_token`, must match the call that provided the page token.
3148 #[prost(string, tag = "3")]
3149 pub page_token: ::prost::alloc::string::String,
3150}
3151/// Response message for
3152/// \[VmwareEngine.FetchNetworkPolicyExternalAddresses\]\[google.cloud.vmwareengine.v1.VmwareEngine.FetchNetworkPolicyExternalAddresses\]
3153#[derive(Clone, PartialEq, ::prost::Message)]
3154pub struct FetchNetworkPolicyExternalAddressesResponse {
3155 /// A list of external IP addresses assigned to VMware workload VMs within the
3156 /// scope of the given network policy.
3157 #[prost(message, repeated, tag = "1")]
3158 pub external_addresses: ::prost::alloc::vec::Vec<ExternalAddress>,
3159 /// A token, which can be sent as `page_token` to retrieve the next page.
3160 /// If this field is omitted, there are no subsequent pages.
3161 #[prost(string, tag = "2")]
3162 pub next_page_token: ::prost::alloc::string::String,
3163}
3164/// Request message for
3165/// \[VmwareEngine.GetExternalAddress\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetExternalAddress\]
3166#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3167pub struct GetExternalAddressRequest {
3168 /// Required. The resource name of the external IP address to retrieve.
3169 /// Resource names are schemeless URIs that follow the conventions in
3170 /// <https://cloud.google.com/apis/design/resource_names.>
3171 /// For example:
3172 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-ip`
3173 #[prost(string, tag = "1")]
3174 pub name: ::prost::alloc::string::String,
3175}
3176/// Request message for
3177/// \[VmwareEngine.CreateExternalAddress\]\[google.cloud.vmwareengine.v1.VmwareEngine.CreateExternalAddress\]
3178#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3179pub struct CreateExternalAddressRequest {
3180 /// Required. The resource name of the private cloud
3181 /// to create a new external IP address in.
3182 /// Resource names are schemeless URIs that follow the conventions in
3183 /// <https://cloud.google.com/apis/design/resource_names.>
3184 /// For example:
3185 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
3186 #[prost(string, tag = "1")]
3187 pub parent: ::prost::alloc::string::String,
3188 /// Required. The initial description of a new external IP address.
3189 #[prost(message, optional, tag = "2")]
3190 pub external_address: ::core::option::Option<ExternalAddress>,
3191 /// Required. The user-provided identifier of the `ExternalAddress` to be
3192 /// created. This identifier must be unique among `ExternalAddress` resources
3193 /// within the parent and becomes the final token in the name URI. The
3194 /// identifier must meet the following requirements:
3195 ///
3196 /// * Only contains 1-63 alphanumeric characters and hyphens
3197 /// * Begins with an alphabetical character
3198 /// * Ends with a non-hyphen character
3199 /// * Not formatted as a UUID
3200 /// * Complies with [RFC 1034](<https://datatracker.ietf.org/doc/html/rfc1034>)
3201 /// (section 3.5)
3202 #[prost(string, tag = "3")]
3203 pub external_address_id: ::prost::alloc::string::String,
3204 /// Optional. A request ID to identify requests. Specify a unique request ID
3205 /// so that if you must retry your request, the server will know to ignore
3206 /// the request if it has already been completed. The server guarantees that a
3207 /// request doesn't result in creation of duplicate commitments for at least 60
3208 /// minutes.
3209 ///
3210 /// For example, consider a situation where you make an initial request and the
3211 /// request times out. If you make the request again with the same request ID,
3212 /// the server can check if the original operation with the same request ID was
3213 /// received, and if so, will ignore the second request. This prevents clients
3214 /// from accidentally creating duplicate commitments.
3215 ///
3216 /// The request ID must be a valid UUID with the exception that zero UUID is
3217 /// not supported (00000000-0000-0000-0000-000000000000).
3218 #[prost(string, tag = "4")]
3219 pub request_id: ::prost::alloc::string::String,
3220}
3221/// Request message for
3222/// \[VmwareEngine.UpdateExternalAddress\]\[google.cloud.vmwareengine.v1.VmwareEngine.UpdateExternalAddress\]
3223#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3224pub struct UpdateExternalAddressRequest {
3225 /// Required. Field mask is used to specify the fields to be overwritten in the
3226 /// `ExternalAddress` resource by the update.
3227 /// The fields specified in the `update_mask` are relative to the resource, not
3228 /// the full request. A field will be overwritten if it is in the mask. If the
3229 /// user does not provide a mask then all fields will be overwritten.
3230 #[prost(message, optional, tag = "1")]
3231 pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
3232 /// Required. External IP address description.
3233 #[prost(message, optional, tag = "2")]
3234 pub external_address: ::core::option::Option<ExternalAddress>,
3235 /// Optional. A request ID to identify requests. Specify a unique request ID
3236 /// so that if you must retry your request, the server will know to ignore
3237 /// the request if it has already been completed. The server guarantees that a
3238 /// request doesn't result in creation of duplicate commitments for at least 60
3239 /// minutes.
3240 ///
3241 /// For example, consider a situation where you make an initial request and the
3242 /// request times out. If you make the request again with the same request ID,
3243 /// the server can check if the original operation with the same request ID was
3244 /// received, and if so, will ignore the second request. This prevents clients
3245 /// from accidentally creating duplicate commitments.
3246 ///
3247 /// The request ID must be a valid UUID with the exception that zero UUID is
3248 /// not supported (00000000-0000-0000-0000-000000000000).
3249 #[prost(string, tag = "3")]
3250 pub request_id: ::prost::alloc::string::String,
3251}
3252/// Request message for
3253/// \[VmwareEngine.DeleteExternalAddress\]\[google.cloud.vmwareengine.v1.VmwareEngine.DeleteExternalAddress\]
3254#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3255pub struct DeleteExternalAddressRequest {
3256 /// Required. The resource name of the external IP address to delete.
3257 /// Resource names are schemeless URIs that follow the conventions in
3258 /// <https://cloud.google.com/apis/design/resource_names.>
3259 /// For example:
3260 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-ip`
3261 #[prost(string, tag = "1")]
3262 pub name: ::prost::alloc::string::String,
3263 /// Optional. A request ID to identify requests. Specify a unique request ID
3264 /// so that if you must retry your request, the server will know to ignore
3265 /// the request if it has already been completed. The server guarantees that a
3266 /// request doesn't result in creation of duplicate commitments for at least 60
3267 /// minutes.
3268 ///
3269 /// For example, consider a situation where you make an initial request and the
3270 /// request times out. If you make the request again with the same request
3271 /// ID, the server can check if the original operation with the same request ID
3272 /// was received, and if so, will ignore the second request. This prevents
3273 /// clients from accidentally creating duplicate commitments.
3274 ///
3275 /// The request ID must be a valid UUID with the exception that zero UUID is
3276 /// not supported (00000000-0000-0000-0000-000000000000).
3277 #[prost(string, tag = "2")]
3278 pub request_id: ::prost::alloc::string::String,
3279}
3280/// Request message for
3281/// \[VmwareEngine.ListSubnets\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets\]
3282#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3283pub struct ListSubnetsRequest {
3284 /// Required. The resource name of the private cloud to be queried for
3285 /// subnets.
3286 /// Resource names are schemeless URIs that follow the conventions in
3287 /// <https://cloud.google.com/apis/design/resource_names.>
3288 /// For example:
3289 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
3290 #[prost(string, tag = "1")]
3291 pub parent: ::prost::alloc::string::String,
3292 /// The maximum number of subnets to return in one page.
3293 /// The service may return fewer than this value.
3294 /// The maximum value is coerced to 1000.
3295 /// The default value of this field is 500.
3296 #[prost(int32, tag = "2")]
3297 pub page_size: i32,
3298 /// A page token, received from a previous `ListSubnetsRequest` call.
3299 /// Provide this to retrieve the subsequent page.
3300 ///
3301 /// When paginating, all other parameters provided to
3302 /// `ListSubnetsRequest` must match the call that provided the page token.
3303 #[prost(string, tag = "3")]
3304 pub page_token: ::prost::alloc::string::String,
3305}
3306/// Response message for
3307/// \[VmwareEngine.ListSubnets\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets\]
3308#[derive(Clone, PartialEq, ::prost::Message)]
3309pub struct ListSubnetsResponse {
3310 /// A list of subnets.
3311 #[prost(message, repeated, tag = "1")]
3312 pub subnets: ::prost::alloc::vec::Vec<Subnet>,
3313 /// A token, which can be sent as `page_token` to retrieve the next page.
3314 /// If this field is omitted, there are no subsequent pages.
3315 #[prost(string, tag = "2")]
3316 pub next_page_token: ::prost::alloc::string::String,
3317 /// Locations that could not be reached when making an aggregated query using
3318 /// wildcards.
3319 #[prost(string, repeated, tag = "3")]
3320 pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3321}
3322/// Request message for
3323/// \[VmwareEngine.GetSubnet\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetSubnet\]
3324#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3325pub struct GetSubnetRequest {
3326 /// Required. The resource name of the subnet to retrieve.
3327 /// Resource names are schemeless URIs that follow the conventions in
3328 /// <https://cloud.google.com/apis/design/resource_names.>
3329 /// For example:
3330 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet`
3331 #[prost(string, tag = "1")]
3332 pub name: ::prost::alloc::string::String,
3333}
3334/// Request message for
3335/// \[VmwareEngine.UpdateSubnet\]\[google.cloud.vmwareengine.v1.VmwareEngine.UpdateSubnet\]
3336#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3337pub struct UpdateSubnetRequest {
3338 /// Required. Field mask is used to specify the fields to be overwritten in the
3339 /// `Subnet` resource by the update.
3340 /// The fields specified in the `update_mask` are relative to the resource, not
3341 /// the full request. A field will be overwritten if it is in the mask. If the
3342 /// user does not provide a mask then all fields will be overwritten.
3343 #[prost(message, optional, tag = "1")]
3344 pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
3345 /// Required. Subnet description.
3346 #[prost(message, optional, tag = "2")]
3347 pub subnet: ::core::option::Option<Subnet>,
3348}
3349/// Request message for
3350/// \[VmwareEngine.ListExternalAccessRules\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAccessRules\]
3351#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3352pub struct ListExternalAccessRulesRequest {
3353 /// Required. The resource name of the network policy to query for external
3354 /// access firewall rules. Resource names are schemeless URIs that follow the
3355 /// conventions in <https://cloud.google.com/apis/design/resource_names.> For
3356 /// example:
3357 /// `projects/my-project/locations/us-central1/networkPolicies/my-policy`
3358 #[prost(string, tag = "1")]
3359 pub parent: ::prost::alloc::string::String,
3360 /// The maximum number of external access rules to return in one page.
3361 /// The service may return fewer than this value.
3362 /// The maximum value is coerced to 1000.
3363 /// The default value of this field is 500.
3364 #[prost(int32, tag = "2")]
3365 pub page_size: i32,
3366 /// A page token, received from a previous `ListExternalAccessRulesRequest`
3367 /// call. Provide this to retrieve the subsequent page.
3368 ///
3369 /// When paginating, all other parameters provided to
3370 /// `ListExternalAccessRulesRequest` must match the call that provided the page
3371 /// token.
3372 #[prost(string, tag = "3")]
3373 pub page_token: ::prost::alloc::string::String,
3374 /// A filter expression that matches resources returned in the response.
3375 /// The expression must specify the field name, a comparison
3376 /// operator, and the value that you want to use for filtering. The value
3377 /// must be a string, a number, or a boolean. The comparison operator
3378 /// must be `=`, `!=`, `>`, or `<`.
3379 ///
3380 /// For example, if you are filtering a list of external access rules, you can
3381 /// exclude the ones named `example-rule` by specifying
3382 /// `name != "example-rule"`.
3383 ///
3384 /// To filter on multiple expressions, provide each separate expression within
3385 /// parentheses. For example:
3386 ///
3387 /// ```text,
3388 /// (name = "example-rule")
3389 /// (createTime > "2021-04-12T08:15:10.40Z")
3390 /// ```
3391 ///
3392 /// By default, each expression is an `AND` expression. However, you
3393 /// can include `AND` and `OR` expressions explicitly.
3394 /// For example:
3395 ///
3396 /// ```text,
3397 /// (name = "example-rule-1") AND
3398 /// (createTime > "2021-04-12T08:15:10.40Z") OR
3399 /// (name = "example-rule-2")
3400 /// ```
3401 #[prost(string, tag = "4")]
3402 pub filter: ::prost::alloc::string::String,
3403 /// Sorts list results by a certain order. By default, returned results
3404 /// are ordered by `name` in ascending order.
3405 /// You can also sort results in descending order based on the `name` value
3406 /// using `orderBy="name desc"`.
3407 /// Currently, only ordering by `name` is supported.
3408 #[prost(string, tag = "5")]
3409 pub order_by: ::prost::alloc::string::String,
3410}
3411/// Response message for
3412/// \[VmwareEngine.ListExternalAccessRules\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAccessRules\]
3413#[derive(Clone, PartialEq, ::prost::Message)]
3414pub struct ListExternalAccessRulesResponse {
3415 /// A list of external access firewall rules.
3416 #[prost(message, repeated, tag = "1")]
3417 pub external_access_rules: ::prost::alloc::vec::Vec<ExternalAccessRule>,
3418 /// A token, which can be sent as `page_token` to retrieve the next page.
3419 /// If this field is omitted, there are no subsequent pages.
3420 #[prost(string, tag = "2")]
3421 pub next_page_token: ::prost::alloc::string::String,
3422 /// Locations that could not be reached when making an aggregated query using
3423 /// wildcards.
3424 #[prost(string, repeated, tag = "3")]
3425 pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3426}
3427/// Request message for
3428/// \[VmwareEngine.GetExternalAccessRule\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetExternalAccessRule\]
3429#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3430pub struct GetExternalAccessRuleRequest {
3431 /// Required. The resource name of the external access firewall rule to
3432 /// retrieve. Resource names are schemeless URIs that follow the conventions in
3433 /// <https://cloud.google.com/apis/design/resource_names.>
3434 /// For example:
3435 /// `projects/my-project/locations/us-central1/networkPolicies/my-policy/externalAccessRules/my-rule`
3436 #[prost(string, tag = "1")]
3437 pub name: ::prost::alloc::string::String,
3438}
3439/// Request message for
3440/// \[VmwareEngine.CreateExternalAccessRule\]\[google.cloud.vmwareengine.v1.VmwareEngine.CreateExternalAccessRule\]
3441#[derive(Clone, PartialEq, ::prost::Message)]
3442pub struct CreateExternalAccessRuleRequest {
3443 /// Required. The resource name of the network policy
3444 /// to create a new external access firewall rule in.
3445 /// Resource names are schemeless URIs that follow the conventions in
3446 /// <https://cloud.google.com/apis/design/resource_names.>
3447 /// For example:
3448 /// `projects/my-project/locations/us-central1/networkPolicies/my-policy`
3449 #[prost(string, tag = "1")]
3450 pub parent: ::prost::alloc::string::String,
3451 /// Required. The initial description of a new external access rule.
3452 #[prost(message, optional, tag = "2")]
3453 pub external_access_rule: ::core::option::Option<ExternalAccessRule>,
3454 /// Required. The user-provided identifier of the `ExternalAccessRule` to be
3455 /// created. This identifier must be unique among `ExternalAccessRule`
3456 /// resources within the parent and becomes the final token in the name URI.
3457 /// The identifier must meet the following requirements:
3458 ///
3459 /// * Only contains 1-63 alphanumeric characters and hyphens
3460 /// * Begins with an alphabetical character
3461 /// * Ends with a non-hyphen character
3462 /// * Not formatted as a UUID
3463 /// * Complies with [RFC 1034](<https://datatracker.ietf.org/doc/html/rfc1034>)
3464 /// (section 3.5)
3465 #[prost(string, tag = "3")]
3466 pub external_access_rule_id: ::prost::alloc::string::String,
3467 /// A request ID to identify requests. Specify a unique request ID
3468 /// so that if you must retry your request, the server will know to ignore
3469 /// the request if it has already been completed. The server guarantees that a
3470 /// request doesn't result in creation of duplicate commitments for at least 60
3471 /// minutes.
3472 ///
3473 /// For example, consider a situation where you make an initial request and the
3474 /// request times out. If you make the request again with the same request ID,
3475 /// the server can check if the original operation with the same request ID was
3476 /// received, and if so, will ignore the second request. This prevents clients
3477 /// from accidentally creating duplicate commitments.
3478 ///
3479 /// The request ID must be a valid UUID with the exception that zero UUID is
3480 /// not supported (00000000-0000-0000-0000-000000000000).
3481 #[prost(string, tag = "4")]
3482 pub request_id: ::prost::alloc::string::String,
3483}
3484/// Request message for
3485/// \[VmwareEngine.UpdateExternalAccessRule\]\[google.cloud.vmwareengine.v1.VmwareEngine.UpdateExternalAccessRule\]
3486#[derive(Clone, PartialEq, ::prost::Message)]
3487pub struct UpdateExternalAccessRuleRequest {
3488 /// Required. Field mask is used to specify the fields to be overwritten in the
3489 /// `ExternalAccessRule` resource by the update.
3490 /// The fields specified in the `update_mask` are relative to the resource, not
3491 /// the full request. A field will be overwritten if it is in the mask. If the
3492 /// user does not provide a mask then all fields will be overwritten.
3493 #[prost(message, optional, tag = "1")]
3494 pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
3495 /// Required. Description of the external access rule.
3496 #[prost(message, optional, tag = "2")]
3497 pub external_access_rule: ::core::option::Option<ExternalAccessRule>,
3498 /// Optional. A request ID to identify requests. Specify a unique request ID
3499 /// so that if you must retry your request, the server will know to ignore
3500 /// the request if it has already been completed. The server guarantees that a
3501 /// request doesn't result in creation of duplicate commitments for at least 60
3502 /// minutes.
3503 ///
3504 /// For example, consider a situation where you make an initial request and the
3505 /// request times out. If you make the request again with the same request ID,
3506 /// the server can check if the original operation with the same request ID was
3507 /// received, and if so, will ignore the second request. This prevents clients
3508 /// from accidentally creating duplicate commitments.
3509 ///
3510 /// The request ID must be a valid UUID with the exception that zero UUID is
3511 /// not supported (00000000-0000-0000-0000-000000000000).
3512 #[prost(string, tag = "3")]
3513 pub request_id: ::prost::alloc::string::String,
3514}
3515/// Request message for
3516/// \[VmwareEngine.DeleteExternalAccessRule\]\[google.cloud.vmwareengine.v1.VmwareEngine.DeleteExternalAccessRule\]
3517#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3518pub struct DeleteExternalAccessRuleRequest {
3519 /// Required. The resource name of the external access firewall rule to delete.
3520 /// Resource names are schemeless URIs that follow the conventions in
3521 /// <https://cloud.google.com/apis/design/resource_names.>
3522 /// For example:
3523 /// `projects/my-project/locations/us-central1/networkPolicies/my-policy/externalAccessRules/my-rule`
3524 #[prost(string, tag = "1")]
3525 pub name: ::prost::alloc::string::String,
3526 /// Optional. A request ID to identify requests. Specify a unique request ID
3527 /// so that if you must retry your request, the server will know to ignore
3528 /// the request if it has already been completed. The server guarantees that a
3529 /// request doesn't result in creation of duplicate commitments for at least 60
3530 /// minutes.
3531 ///
3532 /// For example, consider a situation where you make an initial request and the
3533 /// request times out. If you make the request again with the same request
3534 /// ID, the server can check if the original operation with the same request ID
3535 /// was received, and if so, will ignore the second request. This prevents
3536 /// clients from accidentally creating duplicate commitments.
3537 ///
3538 /// The request ID must be a valid UUID with the exception that zero UUID is
3539 /// not supported (00000000-0000-0000-0000-000000000000).
3540 #[prost(string, tag = "2")]
3541 pub request_id: ::prost::alloc::string::String,
3542}
3543/// Request message for
3544/// \[VmwareEngine.ListLoggingServers\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListLoggingServers\]
3545#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3546pub struct ListLoggingServersRequest {
3547 /// Required. The resource name of the private cloud to be queried for
3548 /// logging servers.
3549 /// Resource names are schemeless URIs that follow the conventions in
3550 /// <https://cloud.google.com/apis/design/resource_names.>
3551 /// For example:
3552 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
3553 #[prost(string, tag = "1")]
3554 pub parent: ::prost::alloc::string::String,
3555 /// The maximum number of logging servers to return in one page.
3556 /// The service may return fewer than this value.
3557 /// The maximum value is coerced to 1000.
3558 /// The default value of this field is 500.
3559 #[prost(int32, tag = "2")]
3560 pub page_size: i32,
3561 /// A page token, received from a previous `ListLoggingServersRequest` call.
3562 /// Provide this to retrieve the subsequent page.
3563 ///
3564 /// When paginating, all other parameters provided to
3565 /// `ListLoggingServersRequest` must match the call that provided the page
3566 /// token.
3567 #[prost(string, tag = "3")]
3568 pub page_token: ::prost::alloc::string::String,
3569 /// A filter expression that matches resources returned in the response.
3570 /// The expression must specify the field name, a comparison
3571 /// operator, and the value that you want to use for filtering. The value
3572 /// must be a string, a number, or a boolean. The comparison operator
3573 /// must be `=`, `!=`, `>`, or `<`.
3574 ///
3575 /// For example, if you are filtering a list of logging servers, you can
3576 /// exclude the ones named `example-server` by specifying
3577 /// `name != "example-server"`.
3578 ///
3579 /// To filter on multiple expressions, provide each separate expression within
3580 /// parentheses. For example:
3581 ///
3582 /// ```text,
3583 /// (name = "example-server")
3584 /// (createTime > "2021-04-12T08:15:10.40Z")
3585 /// ```
3586 ///
3587 /// By default, each expression is an `AND` expression. However, you
3588 /// can include `AND` and `OR` expressions explicitly.
3589 /// For example:
3590 ///
3591 /// ```text,
3592 /// (name = "example-server-1") AND
3593 /// (createTime > "2021-04-12T08:15:10.40Z") OR
3594 /// (name = "example-server-2")
3595 /// ```
3596 #[prost(string, tag = "4")]
3597 pub filter: ::prost::alloc::string::String,
3598 /// Sorts list results by a certain order. By default, returned results
3599 /// are ordered by `name` in ascending order.
3600 /// You can also sort results in descending order based on the `name` value
3601 /// using `orderBy="name desc"`.
3602 /// Currently, only ordering by `name` is supported.
3603 #[prost(string, tag = "5")]
3604 pub order_by: ::prost::alloc::string::String,
3605}
3606/// Response message for
3607/// \[VmwareEngine.ListLoggingServers\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListLoggingServers\]
3608#[derive(Clone, PartialEq, ::prost::Message)]
3609pub struct ListLoggingServersResponse {
3610 /// A list of Logging Servers.
3611 #[prost(message, repeated, tag = "1")]
3612 pub logging_servers: ::prost::alloc::vec::Vec<LoggingServer>,
3613 /// A token, which can be send as `page_token` to retrieve the next page.
3614 /// If this field is omitted, there are no subsequent pages.
3615 #[prost(string, tag = "2")]
3616 pub next_page_token: ::prost::alloc::string::String,
3617 /// Locations that could not be reached when making an aggregated query using
3618 /// wildcards.
3619 #[prost(string, repeated, tag = "3")]
3620 pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3621}
3622/// Request message for
3623/// \[VmwareEngine.GetLoggingServer\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetLoggingServer\]
3624#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3625pub struct GetLoggingServerRequest {
3626 /// Required. The resource name of the Logging Server to retrieve.
3627 /// Resource names are schemeless URIs that follow the conventions in
3628 /// <https://cloud.google.com/apis/design/resource_names.>
3629 /// For example:
3630 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/loggingServers/my-logging-server`
3631 #[prost(string, tag = "1")]
3632 pub name: ::prost::alloc::string::String,
3633}
3634/// Request message for
3635/// \[VmwareEngine.CreateLoggingServer\]\[google.cloud.vmwareengine.v1.VmwareEngine.CreateLoggingServer\]
3636#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3637pub struct CreateLoggingServerRequest {
3638 /// Required. The resource name of the private cloud
3639 /// to create a new Logging Server in.
3640 /// Resource names are schemeless URIs that follow the conventions in
3641 /// <https://cloud.google.com/apis/design/resource_names.>
3642 /// For example:
3643 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
3644 #[prost(string, tag = "1")]
3645 pub parent: ::prost::alloc::string::String,
3646 /// Required. The initial description of a new logging server.
3647 #[prost(message, optional, tag = "2")]
3648 pub logging_server: ::core::option::Option<LoggingServer>,
3649 /// Required. The user-provided identifier of the `LoggingServer` to be
3650 /// created. This identifier must be unique among `LoggingServer` resources
3651 /// within the parent and becomes the final token in the name URI.
3652 /// The identifier must meet the following requirements:
3653 ///
3654 /// * Only contains 1-63 alphanumeric characters and hyphens
3655 /// * Begins with an alphabetical character
3656 /// * Ends with a non-hyphen character
3657 /// * Not formatted as a UUID
3658 /// * Complies with [RFC 1034](<https://datatracker.ietf.org/doc/html/rfc1034>)
3659 /// (section 3.5)
3660 #[prost(string, tag = "3")]
3661 pub logging_server_id: ::prost::alloc::string::String,
3662 /// Optional. A request ID to identify requests. Specify a unique request ID
3663 /// so that if you must retry your request, the server will know to ignore
3664 /// the request if it has already been completed. The server guarantees that a
3665 /// request doesn't result in creation of duplicate commitments for at least 60
3666 /// minutes.
3667 ///
3668 /// For example, consider a situation where you make an initial request and the
3669 /// request times out. If you make the request again with the same request ID,
3670 /// the server can check if original operation with the same request ID was
3671 /// received, and if so, will ignore the second request. This prevents clients
3672 /// from accidentally creating duplicate commitments.
3673 ///
3674 /// The request ID must be a valid UUID with the exception that zero UUID is
3675 /// not supported (00000000-0000-0000-0000-000000000000).
3676 #[prost(string, tag = "4")]
3677 pub request_id: ::prost::alloc::string::String,
3678}
3679/// Request message for
3680/// \[VmwareEngine.UpdateLoggingServer\]\[google.cloud.vmwareengine.v1.VmwareEngine.UpdateLoggingServer\]
3681#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3682pub struct UpdateLoggingServerRequest {
3683 /// Required. Field mask is used to specify the fields to be overwritten in the
3684 /// `LoggingServer` resource by the update.
3685 /// The fields specified in the `update_mask` are relative to the resource, not
3686 /// the full request. A field will be overwritten if it is in the mask. If the
3687 /// user does not provide a mask then all fields will be overwritten.
3688 #[prost(message, optional, tag = "1")]
3689 pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
3690 /// Required. Logging server description.
3691 #[prost(message, optional, tag = "2")]
3692 pub logging_server: ::core::option::Option<LoggingServer>,
3693 /// Optional. A request ID to identify requests. Specify a unique request ID
3694 /// so that if you must retry your request, the server will know to ignore
3695 /// the request if it has already been completed. The server guarantees that a
3696 /// request doesn't result in creation of duplicate commitments for at least 60
3697 /// minutes.
3698 ///
3699 /// For example, consider a situation where you make an initial request and the
3700 /// request times out. If you make the request again with the same request ID,
3701 /// the server can check if original operation with the same request ID was
3702 /// received, and if so, will ignore the second request. This prevents clients
3703 /// from accidentally creating duplicate commitments.
3704 ///
3705 /// The request ID must be a valid UUID with the exception that zero UUID is
3706 /// not supported (00000000-0000-0000-0000-000000000000).
3707 #[prost(string, tag = "3")]
3708 pub request_id: ::prost::alloc::string::String,
3709}
3710/// Request message for
3711/// \[VmwareEngine.DeleteLoggingServer\]\[google.cloud.vmwareengine.v1.VmwareEngine.DeleteLoggingServer\]
3712#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3713pub struct DeleteLoggingServerRequest {
3714 /// Required. The resource name of the logging server to delete.
3715 /// Resource names are schemeless URIs that follow the conventions in
3716 /// <https://cloud.google.com/apis/design/resource_names.>
3717 /// For example:
3718 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/loggingServers/my-logging-server`
3719 #[prost(string, tag = "1")]
3720 pub name: ::prost::alloc::string::String,
3721 /// Optional. A request ID to identify requests. Specify a unique request ID
3722 /// so that if you must retry your request, the server will know to ignore
3723 /// the request if it has already been completed. The server guarantees that a
3724 /// request doesn't result in creation of duplicate commitments for at least 60
3725 /// minutes.
3726 ///
3727 /// For example, consider a situation where you make an initial request and the
3728 /// request times out. If you make the request again with the same request
3729 /// ID, the server can check if original operation with the same request ID
3730 /// was received, and if so, will ignore the second request. This prevents
3731 /// clients from accidentally creating duplicate commitments.
3732 ///
3733 /// The request ID must be a valid UUID with the exception that zero UUID is
3734 /// not supported (00000000-0000-0000-0000-000000000000).
3735 #[prost(string, tag = "2")]
3736 pub request_id: ::prost::alloc::string::String,
3737}
3738/// Represents the metadata of the long-running operation.
3739#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3740pub struct OperationMetadata {
3741 /// Output only. The time the operation was created.
3742 #[prost(message, optional, tag = "1")]
3743 pub create_time: ::core::option::Option<::prost_types::Timestamp>,
3744 /// Output only. The time the operation finished running.
3745 #[prost(message, optional, tag = "2")]
3746 pub end_time: ::core::option::Option<::prost_types::Timestamp>,
3747 /// Output only. Server-defined resource path for the target of the operation.
3748 #[prost(string, tag = "3")]
3749 pub target: ::prost::alloc::string::String,
3750 /// Output only. Name of the verb executed by the operation.
3751 #[prost(string, tag = "4")]
3752 pub verb: ::prost::alloc::string::String,
3753 /// Output only. Human-readable status of the operation, if any.
3754 #[prost(string, tag = "5")]
3755 pub status_message: ::prost::alloc::string::String,
3756 /// Output only. True if the user has requested cancellation
3757 /// of the operation; false otherwise.
3758 /// Operations that have successfully been cancelled
3759 /// have \[Operation.error\]\[\] value with a
3760 /// \[google.rpc.Status.code\]\[google.rpc.Status.code\] of 1, corresponding to
3761 /// `Code.CANCELLED`.
3762 #[prost(bool, tag = "6")]
3763 pub requested_cancellation: bool,
3764 /// Output only. API version used to start the operation.
3765 #[prost(string, tag = "7")]
3766 pub api_version: ::prost::alloc::string::String,
3767}
3768/// Request message for
3769/// \[VmwareEngine.ListNodeTypes\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes\]
3770#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3771pub struct ListNodeTypesRequest {
3772 /// Required. The resource name of the location to be queried for node types.
3773 /// Resource names are schemeless URIs that follow the conventions in
3774 /// <https://cloud.google.com/apis/design/resource_names.>
3775 /// For example:
3776 /// `projects/my-project/locations/us-central1-a`
3777 #[prost(string, tag = "1")]
3778 pub parent: ::prost::alloc::string::String,
3779 /// The maximum number of node types to return in one page.
3780 /// The service may return fewer than this value.
3781 /// The maximum value is coerced to 1000.
3782 /// The default value of this field is 500.
3783 #[prost(int32, tag = "2")]
3784 pub page_size: i32,
3785 /// A page token, received from a previous `ListNodeTypes` call.
3786 /// Provide this to retrieve the subsequent page.
3787 ///
3788 /// When paginating, all other parameters provided to
3789 /// `ListNodeTypes` must match the call that provided the page token.
3790 #[prost(string, tag = "3")]
3791 pub page_token: ::prost::alloc::string::String,
3792 /// A filter expression that matches resources returned in the response.
3793 /// The expression must specify the field name, a comparison
3794 /// operator, and the value that you want to use for filtering. The value
3795 /// must be a string, a number, or a boolean. The comparison operator
3796 /// must be `=`, `!=`, `>`, or `<`.
3797 ///
3798 /// For example, if you are filtering a list of node types, you can
3799 /// exclude the ones named `standard-72` by specifying
3800 /// `name != "standard-72"`.
3801 ///
3802 /// To filter on multiple expressions, provide each separate expression within
3803 /// parentheses. For example:
3804 ///
3805 /// ```text,
3806 /// (name = "standard-72")
3807 /// (virtual_cpu_count > 2)
3808 /// ```
3809 ///
3810 /// By default, each expression is an `AND` expression. However, you
3811 /// can include `AND` and `OR` expressions explicitly.
3812 /// For example:
3813 ///
3814 /// ```text,
3815 /// (name = "standard-96") AND
3816 /// (virtual_cpu_count > 2) OR
3817 /// (name = "standard-72")
3818 /// ```
3819 #[prost(string, tag = "4")]
3820 pub filter: ::prost::alloc::string::String,
3821}
3822/// Response message for
3823/// \[VmwareEngine.ListNodeTypes\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes\]
3824#[derive(Clone, PartialEq, ::prost::Message)]
3825pub struct ListNodeTypesResponse {
3826 /// A list of Node Types.
3827 #[prost(message, repeated, tag = "1")]
3828 pub node_types: ::prost::alloc::vec::Vec<NodeType>,
3829 /// A token, which can be sent as `page_token` to retrieve the next page.
3830 /// If this field is omitted, there are no subsequent pages.
3831 #[prost(string, tag = "2")]
3832 pub next_page_token: ::prost::alloc::string::String,
3833 /// Locations that could not be reached when making an aggregated query using
3834 /// wildcards.
3835 #[prost(string, repeated, tag = "3")]
3836 pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3837}
3838/// Request message for
3839/// \[VmwareEngine.GetNodeType\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetNodeType\]
3840#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3841pub struct GetNodeTypeRequest {
3842 /// Required. The resource name of the node type to retrieve.
3843 /// Resource names are schemeless URIs that follow the conventions in
3844 /// <https://cloud.google.com/apis/design/resource_names.>
3845 /// For example:
3846 /// `projects/my-proj/locations/us-central1-a/nodeTypes/standard-72`
3847 #[prost(string, tag = "1")]
3848 pub name: ::prost::alloc::string::String,
3849}
3850/// Request message for
3851/// \[VmwareEngine.ShowNsxCredentials\]\[google.cloud.vmwareengine.v1.VmwareEngine.ShowNsxCredentials\]
3852#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3853pub struct ShowNsxCredentialsRequest {
3854 /// Required. The resource name of the private cloud
3855 /// to be queried for credentials.
3856 /// Resource names are schemeless URIs that follow the conventions in
3857 /// <https://cloud.google.com/apis/design/resource_names.>
3858 /// For example:
3859 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
3860 #[prost(string, tag = "1")]
3861 pub private_cloud: ::prost::alloc::string::String,
3862}
3863/// Request message for
3864/// \[VmwareEngine.ShowVcenterCredentials\]\[google.cloud.vmwareengine.v1.VmwareEngine.ShowVcenterCredentials\]
3865#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3866pub struct ShowVcenterCredentialsRequest {
3867 /// Required. The resource name of the private cloud
3868 /// to be queried for credentials.
3869 /// Resource names are schemeless URIs that follow the conventions in
3870 /// <https://cloud.google.com/apis/design/resource_names.>
3871 /// For example:
3872 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
3873 #[prost(string, tag = "1")]
3874 pub private_cloud: ::prost::alloc::string::String,
3875 /// Optional. The username of the user to be queried for credentials.
3876 /// The default value of this field is CloudOwner@gve.local.
3877 /// The provided value must be one of the following:
3878 /// CloudOwner@gve.local,
3879 /// solution-user-01@gve.local,
3880 /// solution-user-02@gve.local,
3881 /// solution-user-03@gve.local,
3882 /// solution-user-04@gve.local,
3883 /// solution-user-05@gve.local,
3884 /// zertoadmin@gve.local.
3885 #[prost(string, tag = "2")]
3886 pub username: ::prost::alloc::string::String,
3887}
3888/// Request message for
3889/// \[VmwareEngine.ResetNsxCredentials\]\[google.cloud.vmwareengine.v1.VmwareEngine.ResetNsxCredentials\]
3890#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3891pub struct ResetNsxCredentialsRequest {
3892 /// Required. The resource name of the private cloud
3893 /// to reset credentials for.
3894 /// Resource names are schemeless URIs that follow the conventions in
3895 /// <https://cloud.google.com/apis/design/resource_names.>
3896 /// For example:
3897 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
3898 #[prost(string, tag = "1")]
3899 pub private_cloud: ::prost::alloc::string::String,
3900 /// Optional. A request ID to identify requests. Specify a unique request ID
3901 /// so that if you must retry your request, the server will know to ignore
3902 /// the request if it has already been completed. The server guarantees that a
3903 /// request doesn't result in creation of duplicate commitments for at least 60
3904 /// minutes.
3905 ///
3906 /// For example, consider a situation where you make an initial request and the
3907 /// request times out. If you make the request again with the same request
3908 /// ID, the server can check if original operation with the same request ID
3909 /// was received, and if so, will ignore the second request. This prevents
3910 /// clients from accidentally creating duplicate commitments.
3911 ///
3912 /// The request ID must be a valid UUID with the exception that zero UUID is
3913 /// not supported (00000000-0000-0000-0000-000000000000).
3914 #[prost(string, tag = "2")]
3915 pub request_id: ::prost::alloc::string::String,
3916}
3917/// Request message for
3918/// \[VmwareEngine.ResetVcenterCredentials\]\[google.cloud.vmwareengine.v1.VmwareEngine.ResetVcenterCredentials\]
3919#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3920pub struct ResetVcenterCredentialsRequest {
3921 /// Required. The resource name of the private cloud
3922 /// to reset credentials for.
3923 /// Resource names are schemeless URIs that follow the conventions in
3924 /// <https://cloud.google.com/apis/design/resource_names.>
3925 /// For example:
3926 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
3927 #[prost(string, tag = "1")]
3928 pub private_cloud: ::prost::alloc::string::String,
3929 /// Optional. A request ID to identify requests. Specify a unique request ID
3930 /// so that if you must retry your request, the server will know to ignore
3931 /// the request if it has already been completed. The server guarantees that a
3932 /// request doesn't result in creation of duplicate commitments for at least 60
3933 /// minutes.
3934 ///
3935 /// For example, consider a situation where you make an initial request and the
3936 /// request times out. If you make the request again with the same request
3937 /// ID, the server can check if original operation with the same request ID
3938 /// was received, and if so, will ignore the second request. This prevents
3939 /// clients from accidentally creating duplicate commitments.
3940 ///
3941 /// The request ID must be a valid UUID with the exception that zero UUID is
3942 /// not supported (00000000-0000-0000-0000-000000000000).
3943 #[prost(string, tag = "2")]
3944 pub request_id: ::prost::alloc::string::String,
3945 /// Optional. The username of the user to be to reset the credentials.
3946 /// The default value of this field is CloudOwner@gve.local.
3947 /// The provided value should be one of the following:
3948 /// solution-user-01@gve.local,
3949 /// solution-user-02@gve.local,
3950 /// solution-user-03@gve.local,
3951 /// solution-user-04@gve.local,
3952 /// solution-user-05@gve.local,
3953 /// zertoadmin@gve.local.
3954 #[prost(string, tag = "3")]
3955 pub username: ::prost::alloc::string::String,
3956}
3957/// Response message for
3958/// \[VmwareEngine.ListHcxActivationKeys\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys\]
3959#[derive(Clone, PartialEq, ::prost::Message)]
3960pub struct ListHcxActivationKeysResponse {
3961 /// List of HCX activation keys.
3962 #[prost(message, repeated, tag = "1")]
3963 pub hcx_activation_keys: ::prost::alloc::vec::Vec<HcxActivationKey>,
3964 /// A token, which can be sent as `page_token` to retrieve the next page.
3965 /// If this field is omitted, there are no subsequent pages.
3966 #[prost(string, tag = "2")]
3967 pub next_page_token: ::prost::alloc::string::String,
3968 /// Locations that could not be reached when making an aggregated query using
3969 /// wildcards.
3970 #[prost(string, repeated, tag = "3")]
3971 pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3972}
3973/// Request message for
3974/// \[VmwareEngine.ListHcxActivationKeys\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys\]
3975#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3976pub struct ListHcxActivationKeysRequest {
3977 /// Required. The resource name of the private cloud
3978 /// to be queried for HCX activation keys.
3979 /// Resource names are schemeless URIs that follow the conventions in
3980 /// <https://cloud.google.com/apis/design/resource_names.>
3981 /// For example:
3982 /// `projects/my-project/locations/us-central1/privateClouds/my-cloud`
3983 #[prost(string, tag = "1")]
3984 pub parent: ::prost::alloc::string::String,
3985 /// The maximum number of HCX activation keys to return in one page.
3986 /// The service may return fewer than this value.
3987 /// The maximum value is coerced to 1000.
3988 /// The default value of this field is 500.
3989 #[prost(int32, tag = "2")]
3990 pub page_size: i32,
3991 /// A page token, received from a previous `ListHcxActivationKeys` call.
3992 /// Provide this to retrieve the subsequent page.
3993 ///
3994 /// When paginating, all other parameters provided to
3995 /// `ListHcxActivationKeys` must match the call that provided the page
3996 /// token.
3997 #[prost(string, tag = "3")]
3998 pub page_token: ::prost::alloc::string::String,
3999}
4000/// Request message for \[VmwareEngine.GetHcxActivationKeys\]\[\]
4001#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4002pub struct GetHcxActivationKeyRequest {
4003 /// Required. The resource name of the HCX activation key to retrieve.
4004 /// Resource names are schemeless URIs that follow the conventions in
4005 /// <https://cloud.google.com/apis/design/resource_names.>
4006 /// For example:
4007 /// `projects/my-project/locations/us-central1/privateClouds/my-cloud/hcxActivationKeys/my-key`
4008 #[prost(string, tag = "1")]
4009 pub name: ::prost::alloc::string::String,
4010}
4011/// Request message for
4012/// \[VmwareEngine.CreateHcxActivationKey\]\[google.cloud.vmwareengine.v1.VmwareEngine.CreateHcxActivationKey\]
4013#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4014pub struct CreateHcxActivationKeyRequest {
4015 /// Required. The resource name of the private cloud to create the key for.
4016 /// Resource names are schemeless URIs that follow the conventions in
4017 /// <https://cloud.google.com/apis/design/resource_names.>
4018 /// For example:
4019 /// `projects/my-project/locations/us-central1/privateClouds/my-cloud`
4020 #[prost(string, tag = "1")]
4021 pub parent: ::prost::alloc::string::String,
4022 /// Required. The initial description of a new HCX activation key. When
4023 /// creating a new key, this field must be an empty object.
4024 #[prost(message, optional, tag = "2")]
4025 pub hcx_activation_key: ::core::option::Option<HcxActivationKey>,
4026 /// Required. The user-provided identifier of the `HcxActivationKey` to be
4027 /// created. This identifier must be unique among `HcxActivationKey` resources
4028 /// within the parent and becomes the final token in the name URI.
4029 /// The identifier must meet the following requirements:
4030 ///
4031 /// * Only contains 1-63 alphanumeric characters and hyphens
4032 /// * Begins with an alphabetical character
4033 /// * Ends with a non-hyphen character
4034 /// * Not formatted as a UUID
4035 /// * Complies with [RFC 1034](<https://datatracker.ietf.org/doc/html/rfc1034>)
4036 /// (section 3.5)
4037 #[prost(string, tag = "3")]
4038 pub hcx_activation_key_id: ::prost::alloc::string::String,
4039 /// A request ID to identify requests. Specify a unique request ID
4040 /// so that if you must retry your request, the server will know to ignore
4041 /// the request if it has already been completed. The server guarantees that a
4042 /// request doesn't result in creation of duplicate commitments for at least 60
4043 /// minutes.
4044 ///
4045 /// For example, consider a situation where you make an initial request and the
4046 /// request times out. If you make the request again with the same request ID,
4047 /// the server can check if original operation with the same request ID was
4048 /// received, and if so, will ignore the second request. This prevents clients
4049 /// from accidentally creating duplicate commitments.
4050 ///
4051 /// The request ID must be a valid UUID with the exception that zero UUID is
4052 /// not supported (00000000-0000-0000-0000-000000000000).
4053 #[prost(string, tag = "4")]
4054 pub request_id: ::prost::alloc::string::String,
4055}
4056/// Request message for
4057/// \[VmwareEngine.GetDnsForwarding\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetDnsForwarding\]
4058#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4059pub struct GetDnsForwardingRequest {
4060 /// Required. The resource name of a `DnsForwarding` to retrieve.
4061 /// Resource names are schemeless URIs that follow the conventions in
4062 /// <https://cloud.google.com/apis/design/resource_names.>
4063 /// For example:
4064 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding`
4065 #[prost(string, tag = "1")]
4066 pub name: ::prost::alloc::string::String,
4067}
4068/// Request message for
4069/// \[VmwareEngine.UpdateDnsForwarding\]\[google.cloud.vmwareengine.v1.VmwareEngine.UpdateDnsForwarding\]
4070#[derive(Clone, PartialEq, ::prost::Message)]
4071pub struct UpdateDnsForwardingRequest {
4072 /// Required. DnsForwarding config details.
4073 #[prost(message, optional, tag = "1")]
4074 pub dns_forwarding: ::core::option::Option<DnsForwarding>,
4075 /// Required. Field mask is used to specify the fields to be overwritten in the
4076 /// `DnsForwarding` resource by the update.
4077 /// The fields specified in the `update_mask` are relative to the resource, not
4078 /// the full request. A field will be overwritten if it is in the mask. If the
4079 /// user does not provide a mask then all fields will be overwritten.
4080 #[prost(message, optional, tag = "2")]
4081 pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
4082 /// Optional. A request ID to identify requests. Specify a unique request ID
4083 /// so that if you must retry your request, the server will know to ignore
4084 /// the request if it has already been completed. The server guarantees that a
4085 /// request doesn't result in creation of duplicate commitments for at least 60
4086 /// minutes.
4087 ///
4088 /// For example, consider a situation where you make an initial request and the
4089 /// request times out. If you make the request again with the same request ID,
4090 /// the server can check if original operation with the same request ID was
4091 /// received, and if so, will ignore the second request. This prevents clients
4092 /// from accidentally creating duplicate commitments.
4093 ///
4094 /// The request ID must be a valid UUID with the exception that zero UUID is
4095 /// not supported (00000000-0000-0000-0000-000000000000).
4096 #[prost(string, tag = "3")]
4097 pub request_id: ::prost::alloc::string::String,
4098}
4099/// Request message for
4100/// \[VmwareEngine.CreateNetworkPeering\]\[google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPeering\]
4101#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4102pub struct CreateNetworkPeeringRequest {
4103 /// Required. The resource name of the location to create the new network
4104 /// peering in. This value is always `global`, because `NetworkPeering` is a
4105 /// global resource. Resource names are schemeless URIs that follow the
4106 /// conventions in <https://cloud.google.com/apis/design/resource_names.> For
4107 /// example: `projects/my-project/locations/global`
4108 #[prost(string, tag = "1")]
4109 pub parent: ::prost::alloc::string::String,
4110 /// Required. The user-provided identifier of the new `NetworkPeering`.
4111 /// This identifier must be unique among `NetworkPeering` resources within the
4112 /// parent and becomes the final token in the name URI.
4113 /// The identifier must meet the following requirements:
4114 ///
4115 /// * Only contains 1-63 alphanumeric characters and hyphens
4116 /// * Begins with an alphabetical character
4117 /// * Ends with a non-hyphen character
4118 /// * Not formatted as a UUID
4119 /// * Complies with [RFC 1034](<https://datatracker.ietf.org/doc/html/rfc1034>)
4120 /// (section 3.5)
4121 #[prost(string, tag = "2")]
4122 pub network_peering_id: ::prost::alloc::string::String,
4123 /// Required. The initial description of the new network peering.
4124 #[prost(message, optional, tag = "3")]
4125 pub network_peering: ::core::option::Option<NetworkPeering>,
4126 /// Optional. A request ID to identify requests. Specify a unique request ID
4127 /// so that if you must retry your request, the server will know to ignore
4128 /// the request if it has already been completed. The server guarantees that a
4129 /// request doesn't result in creation of duplicate commitments for at least 60
4130 /// minutes.
4131 ///
4132 /// For example, consider a situation where you make an initial request and the
4133 /// request times out. If you make the request again with the same request
4134 /// ID, the server can check if original operation with the same request ID
4135 /// was received, and if so, will ignore the second request. This prevents
4136 /// clients from accidentally creating duplicate commitments.
4137 ///
4138 /// The request ID must be a valid UUID with the exception that zero UUID is
4139 /// not supported (00000000-0000-0000-0000-000000000000).
4140 #[prost(string, tag = "4")]
4141 pub request_id: ::prost::alloc::string::String,
4142}
4143/// Request message for
4144/// \[VmwareEngine.DeleteNetworkPeering\]\[google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPeering\]
4145#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4146pub struct DeleteNetworkPeeringRequest {
4147 /// Required. The resource name of the network peering to be deleted.
4148 /// Resource names are schemeless URIs that follow the conventions in
4149 /// <https://cloud.google.com/apis/design/resource_names.>
4150 /// For example:
4151 /// `projects/my-project/locations/global/networkPeerings/my-peering`
4152 #[prost(string, tag = "1")]
4153 pub name: ::prost::alloc::string::String,
4154 /// Optional. A request ID to identify requests. Specify a unique request ID
4155 /// so that if you must retry your request, the server will know to ignore
4156 /// the request if it has already been completed. The server guarantees that a
4157 /// request doesn't result in creation of duplicate commitments for at least 60
4158 /// minutes.
4159 ///
4160 /// For example, consider a situation where you make an initial request and the
4161 /// request times out. If you make the request again with the same request
4162 /// ID, the server can check if original operation with the same request ID
4163 /// was received, and if so, will ignore the second request. This prevents
4164 /// clients from accidentally creating duplicate commitments.
4165 ///
4166 /// The request ID must be a valid UUID with the exception that zero UUID is
4167 /// not supported (00000000-0000-0000-0000-000000000000).
4168 #[prost(string, tag = "2")]
4169 pub request_id: ::prost::alloc::string::String,
4170}
4171/// Request message for
4172/// \[VmwareEngine.GetNetworkPeering\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPeering\]
4173#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4174pub struct GetNetworkPeeringRequest {
4175 /// Required. The resource name of the network peering to retrieve.
4176 /// Resource names are schemeless URIs that follow the conventions in
4177 /// <https://cloud.google.com/apis/design/resource_names.>
4178 /// For example:
4179 /// `projects/my-project/locations/global/networkPeerings/my-peering`
4180 #[prost(string, tag = "1")]
4181 pub name: ::prost::alloc::string::String,
4182}
4183/// Request message for
4184/// \[VmwareEngine.ListNetworkPeerings\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPeerings\]
4185#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4186pub struct ListNetworkPeeringsRequest {
4187 /// Required. The resource name of the location (global) to query for
4188 /// network peerings. Resource names are schemeless URIs that follow the
4189 /// conventions in <https://cloud.google.com/apis/design/resource_names.> For
4190 /// example: `projects/my-project/locations/global`
4191 #[prost(string, tag = "1")]
4192 pub parent: ::prost::alloc::string::String,
4193 /// The maximum number of network peerings to return in one page.
4194 /// The maximum value is coerced to 1000.
4195 /// The default value of this field is 500.
4196 #[prost(int32, tag = "2")]
4197 pub page_size: i32,
4198 /// A page token, received from a previous `ListNetworkPeerings` call.
4199 /// Provide this to retrieve the subsequent page.
4200 ///
4201 /// When paginating, all other parameters provided to
4202 /// `ListNetworkPeerings` must match the call that provided the page
4203 /// token.
4204 #[prost(string, tag = "3")]
4205 pub page_token: ::prost::alloc::string::String,
4206 /// A filter expression that matches resources returned in the response.
4207 /// The expression must specify the field name, a comparison
4208 /// operator, and the value that you want to use for filtering. The value
4209 /// must be a string, a number, or a boolean. The comparison operator
4210 /// must be `=`, `!=`, `>`, or `<`.
4211 ///
4212 /// For example, if you are filtering a list of network peerings, you can
4213 /// exclude the ones named `example-peering` by specifying
4214 /// `name != "example-peering"`.
4215 ///
4216 /// To filter on multiple expressions, provide each separate expression within
4217 /// parentheses. For example:
4218 ///
4219 /// ```text,
4220 /// (name = "example-peering")
4221 /// (createTime > "2021-04-12T08:15:10.40Z")
4222 /// ```
4223 ///
4224 /// By default, each expression is an `AND` expression. However, you
4225 /// can include `AND` and `OR` expressions explicitly.
4226 /// For example:
4227 ///
4228 /// ```text,
4229 /// (name = "example-peering-1") AND
4230 /// (createTime > "2021-04-12T08:15:10.40Z") OR
4231 /// (name = "example-peering-2")
4232 /// ```
4233 #[prost(string, tag = "4")]
4234 pub filter: ::prost::alloc::string::String,
4235 /// Sorts list results by a certain order. By default, returned results
4236 /// are ordered by `name` in ascending order.
4237 /// You can also sort results in descending order based on the `name` value
4238 /// using `orderBy="name desc"`.
4239 /// Currently, only ordering by `name` is supported.
4240 #[prost(string, tag = "5")]
4241 pub order_by: ::prost::alloc::string::String,
4242}
4243/// Request message for
4244/// \[VmwareEngine.UpdateNetworkPeering\]\[google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPeering\]
4245#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4246pub struct UpdateNetworkPeeringRequest {
4247 /// Required. Network peering description.
4248 #[prost(message, optional, tag = "1")]
4249 pub network_peering: ::core::option::Option<NetworkPeering>,
4250 /// Required. Field mask is used to specify the fields to be overwritten in the
4251 /// `NetworkPeering` resource by the update.
4252 /// The fields specified in the `update_mask` are relative to the resource, not
4253 /// the full request. A field will be overwritten if it is in the mask. If the
4254 /// user does not provide a mask then all fields will be overwritten.
4255 #[prost(message, optional, tag = "2")]
4256 pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
4257 /// Optional. A request ID to identify requests. Specify a unique request ID
4258 /// so that if you must retry your request, the server will know to ignore
4259 /// the request if it has already been completed. The server guarantees that a
4260 /// request doesn't result in creation of duplicate commitments for at least 60
4261 /// minutes.
4262 ///
4263 /// For example, consider a situation where you make an initial request and the
4264 /// request times out. If you make the request again with the same request
4265 /// ID, the server can check if original operation with the same request ID
4266 /// was received, and if so, will ignore the second request. This prevents
4267 /// clients from accidentally creating duplicate commitments.
4268 ///
4269 /// The request ID must be a valid UUID with the exception that zero UUID is
4270 /// not supported (00000000-0000-0000-0000-000000000000).
4271 #[prost(string, tag = "3")]
4272 pub request_id: ::prost::alloc::string::String,
4273}
4274/// Response message for
4275/// \[VmwareEngine.ListNetworkPeerings\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPeerings\]
4276#[derive(Clone, PartialEq, ::prost::Message)]
4277pub struct ListNetworkPeeringsResponse {
4278 /// A list of network peerings.
4279 #[prost(message, repeated, tag = "1")]
4280 pub network_peerings: ::prost::alloc::vec::Vec<NetworkPeering>,
4281 /// A token, which can be sent as `page_token` to retrieve the next page.
4282 /// If this field is omitted, there are no subsequent pages.
4283 #[prost(string, tag = "2")]
4284 pub next_page_token: ::prost::alloc::string::String,
4285 /// Unreachable resources.
4286 #[prost(string, repeated, tag = "3")]
4287 pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4288}
4289/// Request message for
4290/// \[VmwareEngine.ListPeeringRoutes\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListPeeringRoutes\]
4291#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4292pub struct ListPeeringRoutesRequest {
4293 /// Required. The resource name of the network peering to retrieve peering
4294 /// routes from. Resource names are schemeless URIs that follow the conventions
4295 /// in <https://cloud.google.com/apis/design/resource_names.> For example:
4296 /// `projects/my-project/locations/global/networkPeerings/my-peering`
4297 #[prost(string, tag = "1")]
4298 pub parent: ::prost::alloc::string::String,
4299 /// The maximum number of peering routes to return in one page.
4300 /// The service may return fewer than this value.
4301 /// The maximum value is coerced to 1000.
4302 /// The default value of this field is 500.
4303 #[prost(int32, tag = "2")]
4304 pub page_size: i32,
4305 /// A page token, received from a previous `ListPeeringRoutes` call.
4306 /// Provide this to retrieve the subsequent page.
4307 /// When paginating, all other parameters provided to `ListPeeringRoutes` must
4308 /// match the call that provided the page token.
4309 #[prost(string, tag = "3")]
4310 pub page_token: ::prost::alloc::string::String,
4311 /// A filter expression that matches resources returned in the response.
4312 /// Currently, only filtering on the `direction` field is supported. To return
4313 /// routes imported from the peer network, provide "direction=INCOMING". To
4314 /// return routes exported from the VMware Engine network, provide
4315 /// "direction=OUTGOING". Other filter expressions return an error.
4316 #[prost(string, tag = "6")]
4317 pub filter: ::prost::alloc::string::String,
4318}
4319/// Response message for
4320/// \[VmwareEngine.ListPeeringRoutes\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListPeeringRoutes\]
4321#[derive(Clone, PartialEq, ::prost::Message)]
4322pub struct ListPeeringRoutesResponse {
4323 /// A list of peering routes.
4324 #[prost(message, repeated, tag = "1")]
4325 pub peering_routes: ::prost::alloc::vec::Vec<PeeringRoute>,
4326 /// A token, which can be sent as `page_token` to retrieve the next page.
4327 /// If this field is omitted, there are no subsequent pages.
4328 #[prost(string, tag = "2")]
4329 pub next_page_token: ::prost::alloc::string::String,
4330}
4331/// Request message for
4332/// \[VmwareEngine.ListNetworkPolicies\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies\]
4333#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4334pub struct ListNetworkPoliciesRequest {
4335 /// Required. The resource name of the location (region) to query for
4336 /// network policies. Resource names are schemeless URIs that follow the
4337 /// conventions in <https://cloud.google.com/apis/design/resource_names.> For
4338 /// example: `projects/my-project/locations/us-central1`
4339 #[prost(string, tag = "1")]
4340 pub parent: ::prost::alloc::string::String,
4341 /// The maximum number of network policies to return in one page.
4342 /// The service may return fewer than this value.
4343 /// The maximum value is coerced to 1000.
4344 /// The default value of this field is 500.
4345 #[prost(int32, tag = "2")]
4346 pub page_size: i32,
4347 /// A page token, received from a previous `ListNetworkPolicies` call.
4348 /// Provide this to retrieve the subsequent page.
4349 ///
4350 /// When paginating, all other parameters provided to
4351 /// `ListNetworkPolicies` must match the call that provided the page
4352 /// token.
4353 #[prost(string, tag = "3")]
4354 pub page_token: ::prost::alloc::string::String,
4355 /// A filter expression that matches resources returned in the response.
4356 /// The expression must specify the field name, a comparison
4357 /// operator, and the value that you want to use for filtering. The value
4358 /// must be a string, a number, or a boolean. The comparison operator
4359 /// must be `=`, `!=`, `>`, or `<`.
4360 ///
4361 /// For example, if you are filtering a list of network policies, you can
4362 /// exclude the ones named `example-policy` by specifying
4363 /// `name != "example-policy"`.
4364 ///
4365 /// To filter on multiple expressions, provide each separate expression within
4366 /// parentheses. For example:
4367 ///
4368 /// ```text,
4369 /// (name = "example-policy")
4370 /// (createTime > "2021-04-12T08:15:10.40Z")
4371 /// ```
4372 ///
4373 /// By default, each expression is an `AND` expression. However, you
4374 /// can include `AND` and `OR` expressions explicitly.
4375 /// For example:
4376 ///
4377 /// ```text,
4378 /// (name = "example-policy-1") AND
4379 /// (createTime > "2021-04-12T08:15:10.40Z") OR
4380 /// (name = "example-policy-2")
4381 /// ```
4382 #[prost(string, tag = "4")]
4383 pub filter: ::prost::alloc::string::String,
4384 /// Sorts list results by a certain order. By default, returned results
4385 /// are ordered by `name` in ascending order.
4386 /// You can also sort results in descending order based on the `name` value
4387 /// using `orderBy="name desc"`.
4388 /// Currently, only ordering by `name` is supported.
4389 #[prost(string, tag = "5")]
4390 pub order_by: ::prost::alloc::string::String,
4391}
4392/// Response message for
4393/// \[VmwareEngine.ListNetworkPolicies\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies\]
4394#[derive(Clone, PartialEq, ::prost::Message)]
4395pub struct ListNetworkPoliciesResponse {
4396 /// A list of network policies.
4397 #[prost(message, repeated, tag = "1")]
4398 pub network_policies: ::prost::alloc::vec::Vec<NetworkPolicy>,
4399 /// A token, which can be send as `page_token` to retrieve the next page.
4400 /// If this field is omitted, there are no subsequent pages.
4401 #[prost(string, tag = "2")]
4402 pub next_page_token: ::prost::alloc::string::String,
4403 /// Locations that could not be reached when making an aggregated query using
4404 /// wildcards.
4405 #[prost(string, repeated, tag = "3")]
4406 pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4407}
4408/// Request message for
4409/// \[VmwareEngine.GetNetworkPolicy\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPolicy\]
4410#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4411pub struct GetNetworkPolicyRequest {
4412 /// Required. The resource name of the network policy to retrieve.
4413 /// Resource names are schemeless URIs that follow the conventions in
4414 /// <https://cloud.google.com/apis/design/resource_names.>
4415 /// For example:
4416 /// `projects/my-project/locations/us-central1/networkPolicies/my-network-policy`
4417 #[prost(string, tag = "1")]
4418 pub name: ::prost::alloc::string::String,
4419}
4420/// Request message for
4421/// \[VmwareEngine.UpdateNetworkPolicy\]\[google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPolicy\]
4422#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4423pub struct UpdateNetworkPolicyRequest {
4424 /// Required. Network policy description.
4425 #[prost(message, optional, tag = "1")]
4426 pub network_policy: ::core::option::Option<NetworkPolicy>,
4427 /// Required. Field mask is used to specify the fields to be overwritten in the
4428 /// `NetworkPolicy` resource by the update.
4429 /// The fields specified in the `update_mask` are relative to the resource, not
4430 /// the full request. A field will be overwritten if it is in the mask. If the
4431 /// user does not provide a mask then all fields will be overwritten.
4432 #[prost(message, optional, tag = "2")]
4433 pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
4434 /// Optional. A request ID to identify requests. Specify a unique request ID
4435 /// so that if you must retry your request, the server will know to ignore
4436 /// the request if it has already been completed. The server guarantees that a
4437 /// request doesn't result in creation of duplicate commitments for at least 60
4438 /// minutes.
4439 ///
4440 /// For example, consider a situation where you make an initial request and the
4441 /// request times out. If you make the request again with the same request
4442 /// ID, the server can check if original operation with the same request ID
4443 /// was received, and if so, will ignore the second request. This prevents
4444 /// clients from accidentally creating duplicate commitments.
4445 ///
4446 /// The request ID must be a valid UUID with the exception that zero UUID is
4447 /// not supported (00000000-0000-0000-0000-000000000000).
4448 #[prost(string, tag = "3")]
4449 pub request_id: ::prost::alloc::string::String,
4450}
4451/// Request message for
4452/// \[VmwareEngine.CreateNetworkPolicy\]\[google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPolicy\]
4453#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4454pub struct CreateNetworkPolicyRequest {
4455 /// Required. The resource name of the location (region)
4456 /// to create the new network policy in.
4457 /// Resource names are schemeless URIs that follow the conventions in
4458 /// <https://cloud.google.com/apis/design/resource_names.>
4459 /// For example:
4460 /// `projects/my-project/locations/us-central1`
4461 #[prost(string, tag = "1")]
4462 pub parent: ::prost::alloc::string::String,
4463 /// Required. The user-provided identifier of the network policy to be created.
4464 /// This identifier must be unique within parent
4465 /// `projects/{my-project}/locations/{us-central1}/networkPolicies` and becomes
4466 /// the final token in the name URI.
4467 /// The identifier must meet the following requirements:
4468 ///
4469 /// * Only contains 1-63 alphanumeric characters and hyphens
4470 /// * Begins with an alphabetical character
4471 /// * Ends with a non-hyphen character
4472 /// * Not formatted as a UUID
4473 /// * Complies with [RFC 1034](<https://datatracker.ietf.org/doc/html/rfc1034>)
4474 /// (section 3.5)
4475 #[prost(string, tag = "2")]
4476 pub network_policy_id: ::prost::alloc::string::String,
4477 /// Required. The network policy configuration to use in the request.
4478 #[prost(message, optional, tag = "3")]
4479 pub network_policy: ::core::option::Option<NetworkPolicy>,
4480 /// Optional. A request ID to identify requests. Specify a unique request ID
4481 /// so that if you must retry your request, the server will know to ignore
4482 /// the request if it has already been completed. The server guarantees that a
4483 /// request doesn't result in creation of duplicate commitments for at least 60
4484 /// minutes.
4485 ///
4486 /// For example, consider a situation where you make an initial request and the
4487 /// request times out. If you make the request again with the same request
4488 /// ID, the server can check if original operation with the same request ID
4489 /// was received, and if so, will ignore the second request. This prevents
4490 /// clients from accidentally creating duplicate commitments.
4491 ///
4492 /// The request ID must be a valid UUID with the exception that zero UUID is
4493 /// not supported (00000000-0000-0000-0000-000000000000).
4494 #[prost(string, tag = "4")]
4495 pub request_id: ::prost::alloc::string::String,
4496}
4497/// Request message for
4498/// \[VmwareEngine.DeleteNetworkPolicy\]\[google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPolicy\]
4499#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4500pub struct DeleteNetworkPolicyRequest {
4501 /// Required. The resource name of the network policy to delete.
4502 /// Resource names are schemeless URIs that follow the conventions in
4503 /// <https://cloud.google.com/apis/design/resource_names.>
4504 /// For example:
4505 /// `projects/my-project/locations/us-central1/networkPolicies/my-network-policy`
4506 #[prost(string, tag = "1")]
4507 pub name: ::prost::alloc::string::String,
4508 /// Optional. A request ID to identify requests. Specify a unique request ID
4509 /// so that if you must retry your request, the server will know to ignore
4510 /// the request if it has already been completed. The server guarantees that a
4511 /// request doesn't result in creation of duplicate commitments for at least 60
4512 /// minutes.
4513 ///
4514 /// For example, consider a situation where you make an initial request and the
4515 /// request times out. If you make the request again with the same request
4516 /// ID, the server can check if original operation with the same request ID
4517 /// was received, and if so, will ignore the second request. This prevents
4518 /// clients from accidentally creating duplicate commitments.
4519 ///
4520 /// The request ID must be a valid UUID with the exception that zero UUID is
4521 /// not supported (00000000-0000-0000-0000-000000000000).
4522 #[prost(string, tag = "2")]
4523 pub request_id: ::prost::alloc::string::String,
4524}
4525/// Request message for
4526/// \[VmwareEngine.ListManagementDnsZoneBindings\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListManagementDnsZoneBindings\]
4527#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4528pub struct ListManagementDnsZoneBindingsRequest {
4529 /// Required. The resource name of the private cloud to be queried for
4530 /// management DNS zone bindings.
4531 /// Resource names are schemeless URIs that follow the conventions in
4532 /// <https://cloud.google.com/apis/design/resource_names.>
4533 /// For example:
4534 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
4535 #[prost(string, tag = "1")]
4536 pub parent: ::prost::alloc::string::String,
4537 /// The maximum number of management DNS zone bindings to return in one page.
4538 /// The service may return fewer than this value.
4539 /// The maximum value is coerced to 1000.
4540 /// The default value of this field is 500.
4541 #[prost(int32, tag = "2")]
4542 pub page_size: i32,
4543 /// A page token, received from a previous `ListManagementDnsZoneBindings`
4544 /// call. Provide this to retrieve the subsequent page.
4545 ///
4546 /// When paginating, all other parameters provided to
4547 /// `ListManagementDnsZoneBindings` must match the call that provided the page
4548 /// token.
4549 #[prost(string, tag = "3")]
4550 pub page_token: ::prost::alloc::string::String,
4551 /// A filter expression that matches resources returned in the response.
4552 /// The expression must specify the field name, a comparison
4553 /// operator, and the value that you want to use for filtering. The value
4554 /// must be a string, a number, or a boolean. The comparison operator
4555 /// must be `=`, `!=`, `>`, or `<`.
4556 ///
4557 /// For example, if you are filtering a list of Management DNS Zone Bindings,
4558 /// you can exclude the ones named `example-management-dns-zone-binding` by
4559 /// specifying `name != "example-management-dns-zone-binding"`.
4560 ///
4561 /// To filter on multiple expressions, provide each separate expression within
4562 /// parentheses. For example:
4563 ///
4564 /// ```text,
4565 /// (name = "example-management-dns-zone-binding")
4566 /// (createTime > "2021-04-12T08:15:10.40Z")
4567 /// ```
4568 ///
4569 /// By default, each expression is an `AND` expression. However, you
4570 /// can include `AND` and `OR` expressions explicitly.
4571 /// For example:
4572 ///
4573 /// ```text,
4574 /// (name = "example-management-dns-zone-binding-1") AND
4575 /// (createTime > "2021-04-12T08:15:10.40Z") OR
4576 /// (name = "example-management-dns-zone-binding-2")
4577 /// ```
4578 #[prost(string, tag = "4")]
4579 pub filter: ::prost::alloc::string::String,
4580 /// Sorts list results by a certain order. By default, returned results
4581 /// are ordered by `name` in ascending order.
4582 /// You can also sort results in descending order based on the `name` value
4583 /// using `orderBy="name desc"`.
4584 /// Currently, only ordering by `name` is supported.
4585 #[prost(string, tag = "5")]
4586 pub order_by: ::prost::alloc::string::String,
4587}
4588/// Response message for
4589/// \[VmwareEngine.ListManagementDnsZoneBindings\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListManagementDnsZoneBindings\]
4590#[derive(Clone, PartialEq, ::prost::Message)]
4591pub struct ListManagementDnsZoneBindingsResponse {
4592 /// A list of management DNS zone bindings.
4593 #[prost(message, repeated, tag = "1")]
4594 pub management_dns_zone_bindings: ::prost::alloc::vec::Vec<ManagementDnsZoneBinding>,
4595 /// A token, which can be sent as `page_token` to retrieve the next page.
4596 /// If this field is omitted, there are no subsequent pages.
4597 #[prost(string, tag = "2")]
4598 pub next_page_token: ::prost::alloc::string::String,
4599 /// Locations that could not be reached when making an aggregated query using
4600 /// wildcards.
4601 #[prost(string, repeated, tag = "3")]
4602 pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4603}
4604/// Request message for
4605/// \[VmwareEngine.GetManagementDnsZoneBinding\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetManagementDnsZoneBinding\]
4606#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4607pub struct GetManagementDnsZoneBindingRequest {
4608 /// Required. The resource name of the management DNS zone binding to
4609 /// retrieve. Resource names are schemeless URIs that follow the conventions in
4610 /// <https://cloud.google.com/apis/design/resource_names.>
4611 /// For example:
4612 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-binding`
4613 #[prost(string, tag = "1")]
4614 pub name: ::prost::alloc::string::String,
4615}
4616/// Request message for \[VmwareEngine.CreateManagementDnsZoneBindings\]\[\]
4617#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4618pub struct CreateManagementDnsZoneBindingRequest {
4619 /// Required. The resource name of the private cloud
4620 /// to create a new management DNS zone binding for.
4621 /// Resource names are schemeless URIs that follow the conventions in
4622 /// <https://cloud.google.com/apis/design/resource_names.>
4623 /// For example:
4624 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
4625 #[prost(string, tag = "1")]
4626 pub parent: ::prost::alloc::string::String,
4627 /// Required. The initial values for a new management DNS zone binding.
4628 #[prost(message, optional, tag = "2")]
4629 pub management_dns_zone_binding: ::core::option::Option<ManagementDnsZoneBinding>,
4630 /// Required. The user-provided identifier of the `ManagementDnsZoneBinding`
4631 /// resource to be created. This identifier must be unique among
4632 /// `ManagementDnsZoneBinding` resources within the parent and becomes the
4633 /// final token in the name URI. The identifier must meet the following
4634 /// requirements:
4635 ///
4636 /// * Only contains 1-63 alphanumeric characters and hyphens
4637 /// * Begins with an alphabetical character
4638 /// * Ends with a non-hyphen character
4639 /// * Not formatted as a UUID
4640 /// * Complies with [RFC 1034](<https://datatracker.ietf.org/doc/html/rfc1034>)
4641 /// (section 3.5)
4642 #[prost(string, tag = "3")]
4643 pub management_dns_zone_binding_id: ::prost::alloc::string::String,
4644 /// Optional. A request ID to identify requests. Specify a unique request ID
4645 /// so that if you must retry your request, the server will know to ignore
4646 /// the request if it has already been completed. The server guarantees that a
4647 /// request doesn't result in creation of duplicate commitments for at least 60
4648 /// minutes.
4649 ///
4650 /// For example, consider a situation where you make an initial request and the
4651 /// request times out. If you make the request again with the same request ID,
4652 /// the server can check if the original operation with the same request ID was
4653 /// received, and if so, will ignore the second request. This prevents clients
4654 /// from accidentally creating duplicate commitments.
4655 ///
4656 /// The request ID must be a valid UUID with the exception that zero UUID is
4657 /// not supported (00000000-0000-0000-0000-000000000000).
4658 #[prost(string, tag = "4")]
4659 pub request_id: ::prost::alloc::string::String,
4660}
4661/// Request message for
4662/// \[VmwareEngine.UpdateManagementDnsZoneBinding\]\[google.cloud.vmwareengine.v1.VmwareEngine.UpdateManagementDnsZoneBinding\]
4663#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4664pub struct UpdateManagementDnsZoneBindingRequest {
4665 /// Required. Field mask is used to specify the fields to be overwritten in the
4666 /// `ManagementDnsZoneBinding` resource by the update.
4667 /// The fields specified in the `update_mask` are relative to the resource, not
4668 /// the full request. A field will be overwritten if it is in the mask. If the
4669 /// user does not provide a mask then all fields will be overwritten.
4670 #[prost(message, optional, tag = "1")]
4671 pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
4672 /// Required. New values to update the management DNS zone binding with.
4673 #[prost(message, optional, tag = "2")]
4674 pub management_dns_zone_binding: ::core::option::Option<ManagementDnsZoneBinding>,
4675 /// Optional. A request ID to identify requests. Specify a unique request ID
4676 /// so that if you must retry your request, the server will know to ignore
4677 /// the request if it has already been completed. The server guarantees that a
4678 /// request doesn't result in creation of duplicate commitments for at least 60
4679 /// minutes.
4680 ///
4681 /// For example, consider a situation where you make an initial request and the
4682 /// request times out. If you make the request again with the same request ID,
4683 /// the server can check if the original operation with the same request ID was
4684 /// received, and if so, will ignore the second request. This prevents clients
4685 /// from accidentally creating duplicate commitments.
4686 ///
4687 /// The request ID must be a valid UUID with the exception that zero UUID is
4688 /// not supported (00000000-0000-0000-0000-000000000000).
4689 #[prost(string, tag = "3")]
4690 pub request_id: ::prost::alloc::string::String,
4691}
4692/// Request message for
4693/// \[VmwareEngine.DeleteManagementDnsZoneBinding\]\[google.cloud.vmwareengine.v1.VmwareEngine.DeleteManagementDnsZoneBinding\]
4694#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4695pub struct DeleteManagementDnsZoneBindingRequest {
4696 /// Required. The resource name of the management DNS zone binding to delete.
4697 /// Resource names are schemeless URIs that follow the conventions in
4698 /// <https://cloud.google.com/apis/design/resource_names.>
4699 /// For example:
4700 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-binding`
4701 #[prost(string, tag = "1")]
4702 pub name: ::prost::alloc::string::String,
4703 /// Optional. A request ID to identify requests. Specify a unique request ID
4704 /// so that if you must retry your request, the server will know to ignore
4705 /// the request if it has already been completed. The server guarantees that a
4706 /// request doesn't result in creation of duplicate commitments for at least 60
4707 /// minutes.
4708 ///
4709 /// For example, consider a situation where you make an initial request and the
4710 /// request times out. If you make the request again with the same request
4711 /// ID, the server can check if the original operation with the same request ID
4712 /// was received, and if so, will ignore the second request. This prevents
4713 /// clients from accidentally creating duplicate commitments.
4714 ///
4715 /// The request ID must be a valid UUID with the exception that zero UUID is
4716 /// not supported (00000000-0000-0000-0000-000000000000).
4717 #[prost(string, tag = "2")]
4718 pub request_id: ::prost::alloc::string::String,
4719}
4720/// Request message for \[VmwareEngine.RepairManagementDnsZoneBindings\]\[\]
4721#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4722pub struct RepairManagementDnsZoneBindingRequest {
4723 /// Required. The resource name of the management DNS zone binding to repair.
4724 /// Resource names are schemeless URIs that follow the conventions in
4725 /// <https://cloud.google.com/apis/design/resource_names.>
4726 /// For example:
4727 /// `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-binding`
4728 #[prost(string, tag = "1")]
4729 pub name: ::prost::alloc::string::String,
4730 /// Optional. A request ID to identify requests. Specify a unique request ID
4731 /// so that if you must retry your request, the server will know to ignore
4732 /// the request if it has already been completed. The server guarantees that a
4733 /// request doesn't result in creation of duplicate commitments for at least 60
4734 /// minutes.
4735 ///
4736 /// For example, consider a situation where you make an initial request and the
4737 /// request times out. If you make the request again with the same request ID,
4738 /// the server can check if the original operation with the same request ID was
4739 /// received, and if so, will ignore the second request. This prevents clients
4740 /// from accidentally creating duplicate commitments.
4741 ///
4742 /// The request ID must be a valid UUID with the exception that zero UUID is
4743 /// not supported (00000000-0000-0000-0000-000000000000).
4744 #[prost(string, tag = "2")]
4745 pub request_id: ::prost::alloc::string::String,
4746}
4747/// Request message for
4748/// \[VmwareEngine.CreateVmwareEngineNetwork\]\[google.cloud.vmwareengine.v1.VmwareEngine.CreateVmwareEngineNetwork\]
4749#[derive(Clone, PartialEq, ::prost::Message)]
4750pub struct CreateVmwareEngineNetworkRequest {
4751 /// Required. The resource name of the location to create the new VMware Engine
4752 /// network in. A VMware Engine network of type
4753 /// `LEGACY` is a regional resource, and a VMware
4754 /// Engine network of type `STANDARD` is a global resource.
4755 /// Resource names are schemeless URIs that follow the conventions in
4756 /// <https://cloud.google.com/apis/design/resource_names.> For example:
4757 /// `projects/my-project/locations/global`
4758 #[prost(string, tag = "1")]
4759 pub parent: ::prost::alloc::string::String,
4760 /// Required. The user-provided identifier of the new VMware Engine network.
4761 /// This identifier must be unique among VMware Engine network resources
4762 /// within the parent and becomes the final token in the name URI. The
4763 /// identifier must meet the following requirements:
4764 ///
4765 /// * For networks of type LEGACY, adheres to the format:
4766 /// `{region-id}-default`. Replace `{region-id}` with the region where you want
4767 /// to create the VMware Engine network. For example, "us-central1-default".
4768 /// * Only contains 1-63 alphanumeric characters and hyphens
4769 /// * Begins with an alphabetical character
4770 /// * Ends with a non-hyphen character
4771 /// * Not formatted as a UUID
4772 /// * Complies with [RFC 1034](<https://datatracker.ietf.org/doc/html/rfc1034>)
4773 /// (section 3.5)
4774 #[prost(string, tag = "2")]
4775 pub vmware_engine_network_id: ::prost::alloc::string::String,
4776 /// Required. The initial description of the new VMware Engine network.
4777 #[prost(message, optional, tag = "3")]
4778 pub vmware_engine_network: ::core::option::Option<VmwareEngineNetwork>,
4779 /// Optional. A request ID to identify requests. Specify a unique request ID
4780 /// so that if you must retry your request, the server will know to ignore
4781 /// the request if it has already been completed. The server guarantees that a
4782 /// request doesn't result in creation of duplicate commitments for at least 60
4783 /// minutes.
4784 ///
4785 /// For example, consider a situation where you make an initial request and the
4786 /// request times out. If you make the request again with the same request
4787 /// ID, the server can check if original operation with the same request ID
4788 /// was received, and if so, will ignore the second request. This prevents
4789 /// clients from accidentally creating duplicate commitments.
4790 ///
4791 /// The request ID must be a valid UUID with the exception that zero UUID is
4792 /// not supported (00000000-0000-0000-0000-000000000000).
4793 #[prost(string, tag = "4")]
4794 pub request_id: ::prost::alloc::string::String,
4795}
4796/// Request message for
4797/// \[VmwareEngine.UpdateVmwareEngineNetwork\]\[google.cloud.vmwareengine.v1.VmwareEngine.UpdateVmwareEngineNetwork\]
4798#[derive(Clone, PartialEq, ::prost::Message)]
4799pub struct UpdateVmwareEngineNetworkRequest {
4800 /// Required. VMware Engine network description.
4801 #[prost(message, optional, tag = "1")]
4802 pub vmware_engine_network: ::core::option::Option<VmwareEngineNetwork>,
4803 /// Required. Field mask is used to specify the fields to be overwritten in the
4804 /// VMware Engine network resource by the update.
4805 /// The fields specified in the `update_mask` are relative to the resource, not
4806 /// the full request. A field will be overwritten if it is in the mask. If the
4807 /// user does not provide a mask then all fields will be overwritten. Only the
4808 /// following fields can be updated: `description`.
4809 #[prost(message, optional, tag = "2")]
4810 pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
4811 /// Optional. A request ID to identify requests. Specify a unique request ID
4812 /// so that if you must retry your request, the server will know to ignore
4813 /// the request if it has already been completed. The server guarantees that a
4814 /// request doesn't result in creation of duplicate commitments for at least 60
4815 /// minutes.
4816 ///
4817 /// For example, consider a situation where you make an initial request and the
4818 /// request times out. If you make the request again with the same request
4819 /// ID, the server can check if original operation with the same request ID
4820 /// was received, and if so, will ignore the second request. This prevents
4821 /// clients from accidentally creating duplicate commitments.
4822 ///
4823 /// The request ID must be a valid UUID with the exception that zero UUID is
4824 /// not supported (00000000-0000-0000-0000-000000000000).
4825 #[prost(string, tag = "3")]
4826 pub request_id: ::prost::alloc::string::String,
4827}
4828/// Request message for
4829/// \[VmwareEngine.DeleteVmwareEngineNetwork\]\[google.cloud.vmwareengine.v1.VmwareEngine.DeleteVmwareEngineNetwork\]
4830#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4831pub struct DeleteVmwareEngineNetworkRequest {
4832 /// Required. The resource name of the VMware Engine network to be deleted.
4833 /// Resource names are schemeless URIs that follow the conventions in
4834 /// <https://cloud.google.com/apis/design/resource_names.>
4835 /// For example:
4836 /// `projects/my-project/locations/global/vmwareEngineNetworks/my-network`
4837 #[prost(string, tag = "1")]
4838 pub name: ::prost::alloc::string::String,
4839 /// Optional. A request ID to identify requests. Specify a unique request ID
4840 /// so that if you must retry your request, the server will know to ignore
4841 /// the request if it has already been completed. The server guarantees that a
4842 /// request doesn't result in creation of duplicate commitments for at least 60
4843 /// minutes.
4844 ///
4845 /// For example, consider a situation where you make an initial request and the
4846 /// request times out. If you make the request again with the same request
4847 /// ID, the server can check if original operation with the same request ID
4848 /// was received, and if so, will ignore the second request. This prevents
4849 /// clients from accidentally creating duplicate commitments.
4850 ///
4851 /// The request ID must be a valid UUID with the exception that zero UUID is
4852 /// not supported (00000000-0000-0000-0000-000000000000).
4853 #[prost(string, tag = "2")]
4854 pub request_id: ::prost::alloc::string::String,
4855 /// Optional. Checksum used to ensure that the user-provided value is up to
4856 /// date before the server processes the request. The server compares provided
4857 /// checksum with the current checksum of the resource. If the user-provided
4858 /// value is out of date, this request returns an `ABORTED` error.
4859 #[prost(string, tag = "3")]
4860 pub etag: ::prost::alloc::string::String,
4861}
4862/// Request message for
4863/// \[VmwareEngine.GetVmwareEngineNetwork\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetVmwareEngineNetwork\]
4864#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4865pub struct GetVmwareEngineNetworkRequest {
4866 /// Required. The resource name of the VMware Engine network to retrieve.
4867 /// Resource names are schemeless URIs that follow the conventions in
4868 /// <https://cloud.google.com/apis/design/resource_names.>
4869 /// For example:
4870 /// `projects/my-project/locations/global/vmwareEngineNetworks/my-network`
4871 #[prost(string, tag = "1")]
4872 pub name: ::prost::alloc::string::String,
4873}
4874/// Request message for
4875/// \[VmwareEngine.ListVmwareEngineNetworks\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks\]
4876#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4877pub struct ListVmwareEngineNetworksRequest {
4878 /// Required. The resource name of the location to query for
4879 /// VMware Engine networks. Resource names are schemeless URIs that follow the
4880 /// conventions in <https://cloud.google.com/apis/design/resource_names.> For
4881 /// example: `projects/my-project/locations/global`
4882 #[prost(string, tag = "1")]
4883 pub parent: ::prost::alloc::string::String,
4884 /// The maximum number of results to return in one page.
4885 /// The maximum value is coerced to 1000.
4886 /// The default value of this field is 500.
4887 #[prost(int32, tag = "2")]
4888 pub page_size: i32,
4889 /// A page token, received from a previous `ListVmwareEngineNetworks` call.
4890 /// Provide this to retrieve the subsequent page.
4891 ///
4892 /// When paginating, all other parameters provided to
4893 /// `ListVmwareEngineNetworks` must match the call that provided the page
4894 /// token.
4895 #[prost(string, tag = "3")]
4896 pub page_token: ::prost::alloc::string::String,
4897 /// A filter expression that matches resources returned in the response.
4898 /// The expression must specify the field name, a comparison
4899 /// operator, and the value that you want to use for filtering. The value
4900 /// must be a string, a number, or a boolean. The comparison operator
4901 /// must be `=`, `!=`, `>`, or `<`.
4902 ///
4903 /// For example, if you are filtering a list of network peerings, you can
4904 /// exclude the ones named `example-network` by specifying
4905 /// `name != "example-network"`.
4906 ///
4907 /// To filter on multiple expressions, provide each separate expression within
4908 /// parentheses. For example:
4909 ///
4910 /// ```text,
4911 /// (name = "example-network")
4912 /// (createTime > "2021-04-12T08:15:10.40Z")
4913 /// ```
4914 ///
4915 /// By default, each expression is an `AND` expression. However, you
4916 /// can include `AND` and `OR` expressions explicitly.
4917 /// For example:
4918 ///
4919 /// ```text,
4920 /// (name = "example-network-1") AND
4921 /// (createTime > "2021-04-12T08:15:10.40Z") OR
4922 /// (name = "example-network-2")
4923 /// ```
4924 #[prost(string, tag = "4")]
4925 pub filter: ::prost::alloc::string::String,
4926 /// Sorts list results by a certain order. By default, returned results
4927 /// are ordered by `name` in ascending order.
4928 /// You can also sort results in descending order based on the `name` value
4929 /// using `orderBy="name desc"`.
4930 /// Currently, only ordering by `name` is supported.
4931 #[prost(string, tag = "5")]
4932 pub order_by: ::prost::alloc::string::String,
4933}
4934/// Response message for
4935/// \[VmwareEngine.ListVmwareEngineNetworks\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks\]
4936#[derive(Clone, PartialEq, ::prost::Message)]
4937pub struct ListVmwareEngineNetworksResponse {
4938 /// A list of VMware Engine networks.
4939 #[prost(message, repeated, tag = "1")]
4940 pub vmware_engine_networks: ::prost::alloc::vec::Vec<VmwareEngineNetwork>,
4941 /// A token, which can be sent as `page_token` to retrieve the next page.
4942 /// If this field is omitted, there are no subsequent pages.
4943 #[prost(string, tag = "2")]
4944 pub next_page_token: ::prost::alloc::string::String,
4945 /// Unreachable resources.
4946 #[prost(string, repeated, tag = "3")]
4947 pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4948}
4949/// Request message for
4950/// \[VmwareEngine.CreatePrivateConnection\]\[google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateConnection\]
4951#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4952pub struct CreatePrivateConnectionRequest {
4953 /// Required. The resource name of the location to create the new private
4954 /// connection in. Private connection is a regional resource.
4955 /// Resource names are schemeless URIs that follow the conventions in
4956 /// <https://cloud.google.com/apis/design/resource_names.> For example:
4957 /// `projects/my-project/locations/us-central1`
4958 #[prost(string, tag = "1")]
4959 pub parent: ::prost::alloc::string::String,
4960 /// Required. The user-provided identifier of the new private connection.
4961 /// This identifier must be unique among private connection resources
4962 /// within the parent and becomes the final token in the name URI. The
4963 /// identifier must meet the following requirements:
4964 ///
4965 /// * Only contains 1-63 alphanumeric characters and hyphens
4966 /// * Begins with an alphabetical character
4967 /// * Ends with a non-hyphen character
4968 /// * Not formatted as a UUID
4969 /// * Complies with [RFC 1034](<https://datatracker.ietf.org/doc/html/rfc1034>)
4970 /// (section 3.5)
4971 #[prost(string, tag = "2")]
4972 pub private_connection_id: ::prost::alloc::string::String,
4973 /// Required. The initial description of the new private connection.
4974 #[prost(message, optional, tag = "3")]
4975 pub private_connection: ::core::option::Option<PrivateConnection>,
4976 /// Optional. A request ID to identify requests. Specify a unique request ID
4977 /// so that if you must retry your request, the server will know to ignore
4978 /// the request if it has already been completed. The server guarantees that a
4979 /// request doesn't result in creation of duplicate commitments for at least 60
4980 /// minutes.
4981 ///
4982 /// For example, consider a situation where you make an initial request and the
4983 /// request times out. If you make the request again with the same request
4984 /// ID, the server can check if original operation with the same request ID
4985 /// was received, and if so, will ignore the second request. This prevents
4986 /// clients from accidentally creating duplicate commitments.
4987 ///
4988 /// The request ID must be a valid UUID with the exception that zero UUID is
4989 /// not supported (00000000-0000-0000-0000-000000000000).
4990 #[prost(string, tag = "4")]
4991 pub request_id: ::prost::alloc::string::String,
4992}
4993/// Request message for
4994/// \[VmwareEngine.GetPrivateConnection\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateConnection\]
4995#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4996pub struct GetPrivateConnectionRequest {
4997 /// Required. The resource name of the private connection to retrieve.
4998 /// Resource names are schemeless URIs that follow the conventions in
4999 /// <https://cloud.google.com/apis/design/resource_names.>
5000 /// For example:
5001 /// `projects/my-project/locations/us-central1/privateConnections/my-connection`
5002 #[prost(string, tag = "1")]
5003 pub name: ::prost::alloc::string::String,
5004}
5005/// Request message for
5006/// \[VmwareEngine.ListPrivateConnections\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections\]
5007#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5008pub struct ListPrivateConnectionsRequest {
5009 /// Required. The resource name of the location to query for
5010 /// private connections. Resource names are schemeless URIs that follow the
5011 /// conventions in <https://cloud.google.com/apis/design/resource_names.> For
5012 /// example: `projects/my-project/locations/us-central1`
5013 #[prost(string, tag = "1")]
5014 pub parent: ::prost::alloc::string::String,
5015 /// The maximum number of private connections to return in one page.
5016 /// The maximum value is coerced to 1000.
5017 /// The default value of this field is 500.
5018 #[prost(int32, tag = "2")]
5019 pub page_size: i32,
5020 /// A page token, received from a previous `ListPrivateConnections` call.
5021 /// Provide this to retrieve the subsequent page.
5022 ///
5023 /// When paginating, all other parameters provided to
5024 /// `ListPrivateConnections` must match the call that provided the page
5025 /// token.
5026 #[prost(string, tag = "3")]
5027 pub page_token: ::prost::alloc::string::String,
5028 /// A filter expression that matches resources returned in the response.
5029 /// The expression must specify the field name, a comparison
5030 /// operator, and the value that you want to use for filtering. The value
5031 /// must be a string, a number, or a boolean. The comparison operator
5032 /// must be `=`, `!=`, `>`, or `<`.
5033 ///
5034 /// For example, if you are filtering a list of private connections, you can
5035 /// exclude the ones named `example-connection` by specifying
5036 /// `name != "example-connection"`.
5037 ///
5038 /// To filter on multiple expressions, provide each separate expression within
5039 /// parentheses. For example:
5040 ///
5041 /// ```text,
5042 /// (name = "example-connection")
5043 /// (createTime > "2022-09-22T08:15:10.40Z")
5044 /// ```
5045 ///
5046 /// By default, each expression is an `AND` expression. However, you
5047 /// can include `AND` and `OR` expressions explicitly.
5048 /// For example:
5049 ///
5050 /// ```text,
5051 /// (name = "example-connection-1") AND
5052 /// (createTime > "2021-04-12T08:15:10.40Z") OR
5053 /// (name = "example-connection-2")
5054 /// ```
5055 #[prost(string, tag = "4")]
5056 pub filter: ::prost::alloc::string::String,
5057 /// Sorts list results by a certain order. By default, returned results
5058 /// are ordered by `name` in ascending order.
5059 /// You can also sort results in descending order based on the `name` value
5060 /// using `orderBy="name desc"`.
5061 /// Currently, only ordering by `name` is supported.
5062 #[prost(string, tag = "5")]
5063 pub order_by: ::prost::alloc::string::String,
5064}
5065/// Response message for
5066/// \[VmwareEngine.ListPrivateConnections\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections\]
5067#[derive(Clone, PartialEq, ::prost::Message)]
5068pub struct ListPrivateConnectionsResponse {
5069 /// A list of private connections.
5070 #[prost(message, repeated, tag = "1")]
5071 pub private_connections: ::prost::alloc::vec::Vec<PrivateConnection>,
5072 /// A token, which can be sent as `page_token` to retrieve the next page.
5073 /// If this field is omitted, there are no subsequent pages.
5074 #[prost(string, tag = "2")]
5075 pub next_page_token: ::prost::alloc::string::String,
5076 /// Unreachable resources.
5077 #[prost(string, repeated, tag = "3")]
5078 pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5079}
5080/// Request message for
5081/// \[VmwareEngine.UpdatePrivateConnection\]\[google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateConnection\]
5082#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5083pub struct UpdatePrivateConnectionRequest {
5084 /// Required. Private connection description.
5085 #[prost(message, optional, tag = "1")]
5086 pub private_connection: ::core::option::Option<PrivateConnection>,
5087 /// Required. Field mask is used to specify the fields to be overwritten in the
5088 /// `PrivateConnection` resource by the update.
5089 /// The fields specified in the `update_mask` are relative to the resource, not
5090 /// the full request. A field will be overwritten if it is in the mask. If the
5091 /// user does not provide a mask then all fields will be overwritten.
5092 #[prost(message, optional, tag = "2")]
5093 pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
5094 /// Optional. A request ID to identify requests. Specify a unique request ID
5095 /// so that if you must retry your request, the server will know to ignore
5096 /// the request if it has already been completed. The server guarantees that a
5097 /// request doesn't result in creation of duplicate commitments for at least 60
5098 /// minutes.
5099 ///
5100 /// For example, consider a situation where you make an initial request and the
5101 /// request times out. If you make the request again with the same request
5102 /// ID, the server can check if original operation with the same request ID
5103 /// was received, and if so, will ignore the second request. This prevents
5104 /// clients from accidentally creating duplicate commitments.
5105 ///
5106 /// The request ID must be a valid UUID with the exception that zero UUID is
5107 /// not supported (00000000-0000-0000-0000-000000000000).
5108 #[prost(string, tag = "3")]
5109 pub request_id: ::prost::alloc::string::String,
5110}
5111/// Request message for
5112/// \[VmwareEngine.DeletePrivateConnection\]\[google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateConnection\]
5113#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5114pub struct DeletePrivateConnectionRequest {
5115 /// Required. The resource name of the private connection to be deleted.
5116 /// Resource names are schemeless URIs that follow the conventions in
5117 /// <https://cloud.google.com/apis/design/resource_names.>
5118 /// For example:
5119 /// `projects/my-project/locations/us-central1/privateConnections/my-connection`
5120 #[prost(string, tag = "1")]
5121 pub name: ::prost::alloc::string::String,
5122 /// Optional. A request ID to identify requests. Specify a unique request ID
5123 /// so that if you must retry your request, the server will know to ignore
5124 /// the request if it has already been completed. The server guarantees that a
5125 /// request doesn't result in creation of duplicate commitments for at least 60
5126 /// minutes.
5127 ///
5128 /// For example, consider a situation where you make an initial request and the
5129 /// request times out. If you make the request again with the same request
5130 /// ID, the server can check if original operation with the same request ID
5131 /// was received, and if so, will ignore the second request. This prevents
5132 /// clients from accidentally creating duplicate commitments.
5133 ///
5134 /// The request ID must be a valid UUID with the exception that zero UUID is
5135 /// not supported (00000000-0000-0000-0000-000000000000).
5136 #[prost(string, tag = "2")]
5137 pub request_id: ::prost::alloc::string::String,
5138}
5139/// Request message for
5140/// \[VmwareEngine.ListPrivateConnectionPeeringRoutes\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes\]
5141#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5142pub struct ListPrivateConnectionPeeringRoutesRequest {
5143 /// Required. The resource name of the private connection to retrieve peering
5144 /// routes from. Resource names are schemeless URIs that follow the conventions
5145 /// in <https://cloud.google.com/apis/design/resource_names.> For example:
5146 /// `projects/my-project/locations/us-west1/privateConnections/my-connection`
5147 #[prost(string, tag = "1")]
5148 pub parent: ::prost::alloc::string::String,
5149 /// The maximum number of peering routes to return in one page.
5150 /// The service may return fewer than this value.
5151 /// The maximum value is coerced to 1000.
5152 /// The default value of this field is 500.
5153 #[prost(int32, tag = "2")]
5154 pub page_size: i32,
5155 /// A page token, received from a previous `ListPrivateConnectionPeeringRoutes`
5156 /// call. Provide this to retrieve the subsequent page. When paginating, all
5157 /// other parameters provided to `ListPrivateConnectionPeeringRoutes` must
5158 /// match the call that provided the page token.
5159 #[prost(string, tag = "3")]
5160 pub page_token: ::prost::alloc::string::String,
5161}
5162/// Response message for
5163/// \[VmwareEngine.ListPrivateConnectionPeeringRoutes\]\[google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes\]
5164#[derive(Clone, PartialEq, ::prost::Message)]
5165pub struct ListPrivateConnectionPeeringRoutesResponse {
5166 /// A list of peering routes.
5167 #[prost(message, repeated, tag = "1")]
5168 pub peering_routes: ::prost::alloc::vec::Vec<PeeringRoute>,
5169 /// A token, which can be sent as `page_token` to retrieve the next page.
5170 /// If this field is omitted, there are no subsequent pages.
5171 #[prost(string, tag = "2")]
5172 pub next_page_token: ::prost::alloc::string::String,
5173}
5174/// Request message for
5175/// \[VmwareEngine.GrantDnsBindPermission\]\[google.cloud.vmwareengine.v1.VmwareEngine.GrantDnsBindPermission\]
5176#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5177pub struct GrantDnsBindPermissionRequest {
5178 /// Required. The name of the resource which stores the users/service accounts
5179 /// having the permission to bind to the corresponding intranet VPC of the
5180 /// consumer project. DnsBindPermission is a global resource. Resource names
5181 /// are schemeless URIs that follow the conventions in
5182 /// <https://cloud.google.com/apis/design/resource_names.> For example:
5183 /// `projects/my-project/locations/global/dnsBindPermission`
5184 #[prost(string, tag = "1")]
5185 pub name: ::prost::alloc::string::String,
5186 /// Required. The consumer provided user/service account which needs to be
5187 /// granted permission to bind with the intranet VPC corresponding to the
5188 /// consumer project.
5189 #[prost(message, optional, tag = "2")]
5190 pub principal: ::core::option::Option<Principal>,
5191 /// Optional. A request ID to identify requests. Specify a unique request ID
5192 /// so that if you must retry your request, the server will know to ignore
5193 /// the request if it has already been completed. The server guarantees that a
5194 /// request doesn't result in creation of duplicate commitments for at least 60
5195 /// minutes.
5196 ///
5197 /// For example, consider a situation where you make an initial request and the
5198 /// request times out. If you make the request again with the same request
5199 /// ID, the server can check if original operation with the same request ID
5200 /// was received, and if so, will ignore the second request. This prevents
5201 /// clients from accidentally creating duplicate commitments.
5202 ///
5203 /// The request ID must be a valid UUID with the exception that zero UUID is
5204 /// not supported (00000000-0000-0000-0000-000000000000).
5205 #[prost(string, tag = "3")]
5206 pub request_id: ::prost::alloc::string::String,
5207}
5208/// Request message for
5209/// \[VmwareEngine.RevokeDnsBindPermission\]\[google.cloud.vmwareengine.v1.VmwareEngine.RevokeDnsBindPermission\]
5210#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5211pub struct RevokeDnsBindPermissionRequest {
5212 /// Required. The name of the resource which stores the users/service accounts
5213 /// having the permission to bind to the corresponding intranet VPC of the
5214 /// consumer project. DnsBindPermission is a global resource. Resource names
5215 /// are schemeless URIs that follow the conventions in
5216 /// <https://cloud.google.com/apis/design/resource_names.> For example:
5217 /// `projects/my-project/locations/global/dnsBindPermission`
5218 #[prost(string, tag = "1")]
5219 pub name: ::prost::alloc::string::String,
5220 /// Required. The consumer provided user/service account which needs to be
5221 /// granted permission to bind with the intranet VPC corresponding to the
5222 /// consumer project.
5223 #[prost(message, optional, tag = "2")]
5224 pub principal: ::core::option::Option<Principal>,
5225 /// Optional. A request ID to identify requests. Specify a unique request ID
5226 /// so that if you must retry your request, the server will know to ignore
5227 /// the request if it has already been completed. The server guarantees that a
5228 /// request doesn't result in creation of duplicate commitments for at least 60
5229 /// minutes.
5230 ///
5231 /// For example, consider a situation where you make an initial request and the
5232 /// request times out. If you make the request again with the same request
5233 /// ID, the server can check if original operation with the same request ID
5234 /// was received, and if so, will ignore the second request. This prevents
5235 /// clients from accidentally creating duplicate commitments.
5236 ///
5237 /// The request ID must be a valid UUID with the exception that zero UUID is
5238 /// not supported (00000000-0000-0000-0000-000000000000).
5239 #[prost(string, tag = "3")]
5240 pub request_id: ::prost::alloc::string::String,
5241}
5242/// Request message for
5243/// \[VmwareEngine.GetDnsBindPermission\]\[google.cloud.vmwareengine.v1.VmwareEngine.GetDnsBindPermission\]
5244#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5245pub struct GetDnsBindPermissionRequest {
5246 /// Required. The name of the resource which stores the users/service accounts
5247 /// having the permission to bind to the corresponding intranet VPC of the
5248 /// consumer project. DnsBindPermission is a global resource. Resource names
5249 /// are schemeless URIs that follow the conventions in
5250 /// <https://cloud.google.com/apis/design/resource_names.> For example:
5251 /// `projects/my-project/locations/global/dnsBindPermission`
5252 #[prost(string, tag = "1")]
5253 pub name: ::prost::alloc::string::String,
5254}
5255/// Generated client implementations.
5256pub mod vmware_engine_client {
5257 #![allow(
5258 unused_variables,
5259 dead_code,
5260 missing_docs,
5261 clippy::wildcard_imports,
5262 clippy::let_unit_value,
5263 )]
5264 use tonic::codegen::*;
5265 use tonic::codegen::http::Uri;
5266 /// VMwareEngine manages VMware's private clusters in the Cloud.
5267 #[derive(Debug, Clone)]
5268 pub struct VmwareEngineClient<T> {
5269 inner: tonic::client::Grpc<T>,
5270 }
5271 impl<T> VmwareEngineClient<T>
5272 where
5273 T: tonic::client::GrpcService<tonic::body::Body>,
5274 T::Error: Into<StdError>,
5275 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
5276 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
5277 {
5278 pub fn new(inner: T) -> Self {
5279 let inner = tonic::client::Grpc::new(inner);
5280 Self { inner }
5281 }
5282 pub fn with_origin(inner: T, origin: Uri) -> Self {
5283 let inner = tonic::client::Grpc::with_origin(inner, origin);
5284 Self { inner }
5285 }
5286 pub fn with_interceptor<F>(
5287 inner: T,
5288 interceptor: F,
5289 ) -> VmwareEngineClient<InterceptedService<T, F>>
5290 where
5291 F: tonic::service::Interceptor,
5292 T::ResponseBody: Default,
5293 T: tonic::codegen::Service<
5294 http::Request<tonic::body::Body>,
5295 Response = http::Response<
5296 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
5297 >,
5298 >,
5299 <T as tonic::codegen::Service<
5300 http::Request<tonic::body::Body>,
5301 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
5302 {
5303 VmwareEngineClient::new(InterceptedService::new(inner, interceptor))
5304 }
5305 /// Compress requests with the given encoding.
5306 ///
5307 /// This requires the server to support it otherwise it might respond with an
5308 /// error.
5309 #[must_use]
5310 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
5311 self.inner = self.inner.send_compressed(encoding);
5312 self
5313 }
5314 /// Enable decompressing responses.
5315 #[must_use]
5316 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
5317 self.inner = self.inner.accept_compressed(encoding);
5318 self
5319 }
5320 /// Limits the maximum size of a decoded message.
5321 ///
5322 /// Default: `4MB`
5323 #[must_use]
5324 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
5325 self.inner = self.inner.max_decoding_message_size(limit);
5326 self
5327 }
5328 /// Limits the maximum size of an encoded message.
5329 ///
5330 /// Default: `usize::MAX`
5331 #[must_use]
5332 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
5333 self.inner = self.inner.max_encoding_message_size(limit);
5334 self
5335 }
5336 /// Lists `PrivateCloud` resources in a given project and location.
5337 pub async fn list_private_clouds(
5338 &mut self,
5339 request: impl tonic::IntoRequest<super::ListPrivateCloudsRequest>,
5340 ) -> std::result::Result<
5341 tonic::Response<super::ListPrivateCloudsResponse>,
5342 tonic::Status,
5343 > {
5344 self.inner
5345 .ready()
5346 .await
5347 .map_err(|e| {
5348 tonic::Status::unknown(
5349 format!("Service was not ready: {}", e.into()),
5350 )
5351 })?;
5352 let codec = tonic_prost::ProstCodec::default();
5353 let path = http::uri::PathAndQuery::from_static(
5354 "/google.cloud.vmwareengine.v1.VmwareEngine/ListPrivateClouds",
5355 );
5356 let mut req = request.into_request();
5357 req.extensions_mut()
5358 .insert(
5359 GrpcMethod::new(
5360 "google.cloud.vmwareengine.v1.VmwareEngine",
5361 "ListPrivateClouds",
5362 ),
5363 );
5364 self.inner.unary(req, path, codec).await
5365 }
5366 /// Retrieves a `PrivateCloud` resource by its resource name.
5367 pub async fn get_private_cloud(
5368 &mut self,
5369 request: impl tonic::IntoRequest<super::GetPrivateCloudRequest>,
5370 ) -> std::result::Result<tonic::Response<super::PrivateCloud>, tonic::Status> {
5371 self.inner
5372 .ready()
5373 .await
5374 .map_err(|e| {
5375 tonic::Status::unknown(
5376 format!("Service was not ready: {}", e.into()),
5377 )
5378 })?;
5379 let codec = tonic_prost::ProstCodec::default();
5380 let path = http::uri::PathAndQuery::from_static(
5381 "/google.cloud.vmwareengine.v1.VmwareEngine/GetPrivateCloud",
5382 );
5383 let mut req = request.into_request();
5384 req.extensions_mut()
5385 .insert(
5386 GrpcMethod::new(
5387 "google.cloud.vmwareengine.v1.VmwareEngine",
5388 "GetPrivateCloud",
5389 ),
5390 );
5391 self.inner.unary(req, path, codec).await
5392 }
5393 /// Creates a new `PrivateCloud` resource in a given project and location.
5394 /// Private clouds of type `STANDARD` and
5395 /// `TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are
5396 /// regional.
5397 /// Creating a private cloud also creates a [management
5398 /// cluster](https://cloud.google.com/vmware-engine/docs/concepts-vmware-components)
5399 /// for that private cloud.
5400 pub async fn create_private_cloud(
5401 &mut self,
5402 request: impl tonic::IntoRequest<super::CreatePrivateCloudRequest>,
5403 ) -> std::result::Result<
5404 tonic::Response<super::super::super::super::longrunning::Operation>,
5405 tonic::Status,
5406 > {
5407 self.inner
5408 .ready()
5409 .await
5410 .map_err(|e| {
5411 tonic::Status::unknown(
5412 format!("Service was not ready: {}", e.into()),
5413 )
5414 })?;
5415 let codec = tonic_prost::ProstCodec::default();
5416 let path = http::uri::PathAndQuery::from_static(
5417 "/google.cloud.vmwareengine.v1.VmwareEngine/CreatePrivateCloud",
5418 );
5419 let mut req = request.into_request();
5420 req.extensions_mut()
5421 .insert(
5422 GrpcMethod::new(
5423 "google.cloud.vmwareengine.v1.VmwareEngine",
5424 "CreatePrivateCloud",
5425 ),
5426 );
5427 self.inner.unary(req, path, codec).await
5428 }
5429 /// Modifies a `PrivateCloud` resource. Only the following fields can be
5430 /// updated: `description`.
5431 /// Only fields specified in `updateMask` are applied.
5432 ///
5433 /// During operation processing, the resource is temporarily in the `ACTIVE`
5434 /// state before the operation fully completes. For that period of time, you
5435 /// can't update the resource. Use the operation status to determine when the
5436 /// processing fully completes.
5437 pub async fn update_private_cloud(
5438 &mut self,
5439 request: impl tonic::IntoRequest<super::UpdatePrivateCloudRequest>,
5440 ) -> std::result::Result<
5441 tonic::Response<super::super::super::super::longrunning::Operation>,
5442 tonic::Status,
5443 > {
5444 self.inner
5445 .ready()
5446 .await
5447 .map_err(|e| {
5448 tonic::Status::unknown(
5449 format!("Service was not ready: {}", e.into()),
5450 )
5451 })?;
5452 let codec = tonic_prost::ProstCodec::default();
5453 let path = http::uri::PathAndQuery::from_static(
5454 "/google.cloud.vmwareengine.v1.VmwareEngine/UpdatePrivateCloud",
5455 );
5456 let mut req = request.into_request();
5457 req.extensions_mut()
5458 .insert(
5459 GrpcMethod::new(
5460 "google.cloud.vmwareengine.v1.VmwareEngine",
5461 "UpdatePrivateCloud",
5462 ),
5463 );
5464 self.inner.unary(req, path, codec).await
5465 }
5466 /// Schedules a `PrivateCloud` resource for deletion.
5467 ///
5468 /// A `PrivateCloud` resource scheduled for deletion has `PrivateCloud.state`
5469 /// set to `DELETED` and `expireTime` set to the time when deletion is final
5470 /// and can no longer be reversed. The delete operation is marked as done
5471 /// as soon as the `PrivateCloud` is successfully scheduled for deletion
5472 /// (this also applies when `delayHours` is set to zero), and the operation is
5473 /// not kept in pending state until `PrivateCloud` is purged.
5474 /// `PrivateCloud` can be restored using `UndeletePrivateCloud` method before
5475 /// the `expireTime` elapses. When `expireTime` is reached, deletion is final
5476 /// and all private cloud resources are irreversibly removed and billing stops.
5477 /// During the final removal process, `PrivateCloud.state` is set to `PURGING`.
5478 /// `PrivateCloud` can be polled using standard `GET` method for the whole
5479 /// period of deletion and purging. It will not be returned only
5480 /// when it is completely purged.
5481 pub async fn delete_private_cloud(
5482 &mut self,
5483 request: impl tonic::IntoRequest<super::DeletePrivateCloudRequest>,
5484 ) -> std::result::Result<
5485 tonic::Response<super::super::super::super::longrunning::Operation>,
5486 tonic::Status,
5487 > {
5488 self.inner
5489 .ready()
5490 .await
5491 .map_err(|e| {
5492 tonic::Status::unknown(
5493 format!("Service was not ready: {}", e.into()),
5494 )
5495 })?;
5496 let codec = tonic_prost::ProstCodec::default();
5497 let path = http::uri::PathAndQuery::from_static(
5498 "/google.cloud.vmwareengine.v1.VmwareEngine/DeletePrivateCloud",
5499 );
5500 let mut req = request.into_request();
5501 req.extensions_mut()
5502 .insert(
5503 GrpcMethod::new(
5504 "google.cloud.vmwareengine.v1.VmwareEngine",
5505 "DeletePrivateCloud",
5506 ),
5507 );
5508 self.inner.unary(req, path, codec).await
5509 }
5510 /// Restores a private cloud that was previously scheduled for deletion by
5511 /// `DeletePrivateCloud`. A `PrivateCloud` resource scheduled for deletion has
5512 /// `PrivateCloud.state` set to `DELETED` and `PrivateCloud.expireTime` set to
5513 /// the time when deletion can no longer be reversed.
5514 pub async fn undelete_private_cloud(
5515 &mut self,
5516 request: impl tonic::IntoRequest<super::UndeletePrivateCloudRequest>,
5517 ) -> std::result::Result<
5518 tonic::Response<super::super::super::super::longrunning::Operation>,
5519 tonic::Status,
5520 > {
5521 self.inner
5522 .ready()
5523 .await
5524 .map_err(|e| {
5525 tonic::Status::unknown(
5526 format!("Service was not ready: {}", e.into()),
5527 )
5528 })?;
5529 let codec = tonic_prost::ProstCodec::default();
5530 let path = http::uri::PathAndQuery::from_static(
5531 "/google.cloud.vmwareengine.v1.VmwareEngine/UndeletePrivateCloud",
5532 );
5533 let mut req = request.into_request();
5534 req.extensions_mut()
5535 .insert(
5536 GrpcMethod::new(
5537 "google.cloud.vmwareengine.v1.VmwareEngine",
5538 "UndeletePrivateCloud",
5539 ),
5540 );
5541 self.inner.unary(req, path, codec).await
5542 }
5543 /// Lists `Cluster` resources in a given private cloud.
5544 pub async fn list_clusters(
5545 &mut self,
5546 request: impl tonic::IntoRequest<super::ListClustersRequest>,
5547 ) -> std::result::Result<
5548 tonic::Response<super::ListClustersResponse>,
5549 tonic::Status,
5550 > {
5551 self.inner
5552 .ready()
5553 .await
5554 .map_err(|e| {
5555 tonic::Status::unknown(
5556 format!("Service was not ready: {}", e.into()),
5557 )
5558 })?;
5559 let codec = tonic_prost::ProstCodec::default();
5560 let path = http::uri::PathAndQuery::from_static(
5561 "/google.cloud.vmwareengine.v1.VmwareEngine/ListClusters",
5562 );
5563 let mut req = request.into_request();
5564 req.extensions_mut()
5565 .insert(
5566 GrpcMethod::new(
5567 "google.cloud.vmwareengine.v1.VmwareEngine",
5568 "ListClusters",
5569 ),
5570 );
5571 self.inner.unary(req, path, codec).await
5572 }
5573 /// Retrieves a `Cluster` resource by its resource name.
5574 pub async fn get_cluster(
5575 &mut self,
5576 request: impl tonic::IntoRequest<super::GetClusterRequest>,
5577 ) -> std::result::Result<tonic::Response<super::Cluster>, tonic::Status> {
5578 self.inner
5579 .ready()
5580 .await
5581 .map_err(|e| {
5582 tonic::Status::unknown(
5583 format!("Service was not ready: {}", e.into()),
5584 )
5585 })?;
5586 let codec = tonic_prost::ProstCodec::default();
5587 let path = http::uri::PathAndQuery::from_static(
5588 "/google.cloud.vmwareengine.v1.VmwareEngine/GetCluster",
5589 );
5590 let mut req = request.into_request();
5591 req.extensions_mut()
5592 .insert(
5593 GrpcMethod::new(
5594 "google.cloud.vmwareengine.v1.VmwareEngine",
5595 "GetCluster",
5596 ),
5597 );
5598 self.inner.unary(req, path, codec).await
5599 }
5600 /// Creates a new cluster in a given private cloud.
5601 /// Creating a new cluster provides additional nodes for
5602 /// use in the parent private cloud and requires sufficient [node
5603 /// quota](https://cloud.google.com/vmware-engine/quotas).
5604 pub async fn create_cluster(
5605 &mut self,
5606 request: impl tonic::IntoRequest<super::CreateClusterRequest>,
5607 ) -> std::result::Result<
5608 tonic::Response<super::super::super::super::longrunning::Operation>,
5609 tonic::Status,
5610 > {
5611 self.inner
5612 .ready()
5613 .await
5614 .map_err(|e| {
5615 tonic::Status::unknown(
5616 format!("Service was not ready: {}", e.into()),
5617 )
5618 })?;
5619 let codec = tonic_prost::ProstCodec::default();
5620 let path = http::uri::PathAndQuery::from_static(
5621 "/google.cloud.vmwareengine.v1.VmwareEngine/CreateCluster",
5622 );
5623 let mut req = request.into_request();
5624 req.extensions_mut()
5625 .insert(
5626 GrpcMethod::new(
5627 "google.cloud.vmwareengine.v1.VmwareEngine",
5628 "CreateCluster",
5629 ),
5630 );
5631 self.inner.unary(req, path, codec).await
5632 }
5633 /// Modifies a `Cluster` resource. Only fields specified in `updateMask` are
5634 /// applied.
5635 ///
5636 /// During operation processing, the resource is temporarily in the `ACTIVE`
5637 /// state before the operation fully completes. For that period of time, you
5638 /// can't update the resource. Use the operation status to determine when the
5639 /// processing fully completes.
5640 pub async fn update_cluster(
5641 &mut self,
5642 request: impl tonic::IntoRequest<super::UpdateClusterRequest>,
5643 ) -> std::result::Result<
5644 tonic::Response<super::super::super::super::longrunning::Operation>,
5645 tonic::Status,
5646 > {
5647 self.inner
5648 .ready()
5649 .await
5650 .map_err(|e| {
5651 tonic::Status::unknown(
5652 format!("Service was not ready: {}", e.into()),
5653 )
5654 })?;
5655 let codec = tonic_prost::ProstCodec::default();
5656 let path = http::uri::PathAndQuery::from_static(
5657 "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateCluster",
5658 );
5659 let mut req = request.into_request();
5660 req.extensions_mut()
5661 .insert(
5662 GrpcMethod::new(
5663 "google.cloud.vmwareengine.v1.VmwareEngine",
5664 "UpdateCluster",
5665 ),
5666 );
5667 self.inner.unary(req, path, codec).await
5668 }
5669 /// Deletes a `Cluster` resource. To avoid unintended data loss, migrate or
5670 /// gracefully shut down any workloads running on the cluster before deletion.
5671 /// You cannot delete the management cluster of a private cloud using this
5672 /// method.
5673 pub async fn delete_cluster(
5674 &mut self,
5675 request: impl tonic::IntoRequest<super::DeleteClusterRequest>,
5676 ) -> std::result::Result<
5677 tonic::Response<super::super::super::super::longrunning::Operation>,
5678 tonic::Status,
5679 > {
5680 self.inner
5681 .ready()
5682 .await
5683 .map_err(|e| {
5684 tonic::Status::unknown(
5685 format!("Service was not ready: {}", e.into()),
5686 )
5687 })?;
5688 let codec = tonic_prost::ProstCodec::default();
5689 let path = http::uri::PathAndQuery::from_static(
5690 "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteCluster",
5691 );
5692 let mut req = request.into_request();
5693 req.extensions_mut()
5694 .insert(
5695 GrpcMethod::new(
5696 "google.cloud.vmwareengine.v1.VmwareEngine",
5697 "DeleteCluster",
5698 ),
5699 );
5700 self.inner.unary(req, path, codec).await
5701 }
5702 /// Lists nodes in a given cluster.
5703 pub async fn list_nodes(
5704 &mut self,
5705 request: impl tonic::IntoRequest<super::ListNodesRequest>,
5706 ) -> std::result::Result<
5707 tonic::Response<super::ListNodesResponse>,
5708 tonic::Status,
5709 > {
5710 self.inner
5711 .ready()
5712 .await
5713 .map_err(|e| {
5714 tonic::Status::unknown(
5715 format!("Service was not ready: {}", e.into()),
5716 )
5717 })?;
5718 let codec = tonic_prost::ProstCodec::default();
5719 let path = http::uri::PathAndQuery::from_static(
5720 "/google.cloud.vmwareengine.v1.VmwareEngine/ListNodes",
5721 );
5722 let mut req = request.into_request();
5723 req.extensions_mut()
5724 .insert(
5725 GrpcMethod::new(
5726 "google.cloud.vmwareengine.v1.VmwareEngine",
5727 "ListNodes",
5728 ),
5729 );
5730 self.inner.unary(req, path, codec).await
5731 }
5732 /// Gets details of a single node.
5733 pub async fn get_node(
5734 &mut self,
5735 request: impl tonic::IntoRequest<super::GetNodeRequest>,
5736 ) -> std::result::Result<tonic::Response<super::Node>, tonic::Status> {
5737 self.inner
5738 .ready()
5739 .await
5740 .map_err(|e| {
5741 tonic::Status::unknown(
5742 format!("Service was not ready: {}", e.into()),
5743 )
5744 })?;
5745 let codec = tonic_prost::ProstCodec::default();
5746 let path = http::uri::PathAndQuery::from_static(
5747 "/google.cloud.vmwareengine.v1.VmwareEngine/GetNode",
5748 );
5749 let mut req = request.into_request();
5750 req.extensions_mut()
5751 .insert(
5752 GrpcMethod::new(
5753 "google.cloud.vmwareengine.v1.VmwareEngine",
5754 "GetNode",
5755 ),
5756 );
5757 self.inner.unary(req, path, codec).await
5758 }
5759 /// Lists external IP addresses assigned to VMware workload VMs in a given
5760 /// private cloud.
5761 pub async fn list_external_addresses(
5762 &mut self,
5763 request: impl tonic::IntoRequest<super::ListExternalAddressesRequest>,
5764 ) -> std::result::Result<
5765 tonic::Response<super::ListExternalAddressesResponse>,
5766 tonic::Status,
5767 > {
5768 self.inner
5769 .ready()
5770 .await
5771 .map_err(|e| {
5772 tonic::Status::unknown(
5773 format!("Service was not ready: {}", e.into()),
5774 )
5775 })?;
5776 let codec = tonic_prost::ProstCodec::default();
5777 let path = http::uri::PathAndQuery::from_static(
5778 "/google.cloud.vmwareengine.v1.VmwareEngine/ListExternalAddresses",
5779 );
5780 let mut req = request.into_request();
5781 req.extensions_mut()
5782 .insert(
5783 GrpcMethod::new(
5784 "google.cloud.vmwareengine.v1.VmwareEngine",
5785 "ListExternalAddresses",
5786 ),
5787 );
5788 self.inner.unary(req, path, codec).await
5789 }
5790 /// Lists external IP addresses assigned to VMware workload VMs within the
5791 /// scope of the given network policy.
5792 pub async fn fetch_network_policy_external_addresses(
5793 &mut self,
5794 request: impl tonic::IntoRequest<
5795 super::FetchNetworkPolicyExternalAddressesRequest,
5796 >,
5797 ) -> std::result::Result<
5798 tonic::Response<super::FetchNetworkPolicyExternalAddressesResponse>,
5799 tonic::Status,
5800 > {
5801 self.inner
5802 .ready()
5803 .await
5804 .map_err(|e| {
5805 tonic::Status::unknown(
5806 format!("Service was not ready: {}", e.into()),
5807 )
5808 })?;
5809 let codec = tonic_prost::ProstCodec::default();
5810 let path = http::uri::PathAndQuery::from_static(
5811 "/google.cloud.vmwareengine.v1.VmwareEngine/FetchNetworkPolicyExternalAddresses",
5812 );
5813 let mut req = request.into_request();
5814 req.extensions_mut()
5815 .insert(
5816 GrpcMethod::new(
5817 "google.cloud.vmwareengine.v1.VmwareEngine",
5818 "FetchNetworkPolicyExternalAddresses",
5819 ),
5820 );
5821 self.inner.unary(req, path, codec).await
5822 }
5823 /// Gets details of a single external IP address.
5824 pub async fn get_external_address(
5825 &mut self,
5826 request: impl tonic::IntoRequest<super::GetExternalAddressRequest>,
5827 ) -> std::result::Result<
5828 tonic::Response<super::ExternalAddress>,
5829 tonic::Status,
5830 > {
5831 self.inner
5832 .ready()
5833 .await
5834 .map_err(|e| {
5835 tonic::Status::unknown(
5836 format!("Service was not ready: {}", e.into()),
5837 )
5838 })?;
5839 let codec = tonic_prost::ProstCodec::default();
5840 let path = http::uri::PathAndQuery::from_static(
5841 "/google.cloud.vmwareengine.v1.VmwareEngine/GetExternalAddress",
5842 );
5843 let mut req = request.into_request();
5844 req.extensions_mut()
5845 .insert(
5846 GrpcMethod::new(
5847 "google.cloud.vmwareengine.v1.VmwareEngine",
5848 "GetExternalAddress",
5849 ),
5850 );
5851 self.inner.unary(req, path, codec).await
5852 }
5853 /// Creates a new `ExternalAddress` resource in a given private cloud. The
5854 /// network policy that corresponds to the private cloud must have the external
5855 /// IP address network service enabled (`NetworkPolicy.external_ip`).
5856 pub async fn create_external_address(
5857 &mut self,
5858 request: impl tonic::IntoRequest<super::CreateExternalAddressRequest>,
5859 ) -> std::result::Result<
5860 tonic::Response<super::super::super::super::longrunning::Operation>,
5861 tonic::Status,
5862 > {
5863 self.inner
5864 .ready()
5865 .await
5866 .map_err(|e| {
5867 tonic::Status::unknown(
5868 format!("Service was not ready: {}", e.into()),
5869 )
5870 })?;
5871 let codec = tonic_prost::ProstCodec::default();
5872 let path = http::uri::PathAndQuery::from_static(
5873 "/google.cloud.vmwareengine.v1.VmwareEngine/CreateExternalAddress",
5874 );
5875 let mut req = request.into_request();
5876 req.extensions_mut()
5877 .insert(
5878 GrpcMethod::new(
5879 "google.cloud.vmwareengine.v1.VmwareEngine",
5880 "CreateExternalAddress",
5881 ),
5882 );
5883 self.inner.unary(req, path, codec).await
5884 }
5885 /// Updates the parameters of a single external IP address.
5886 /// Only fields specified in `update_mask` are applied.
5887 ///
5888 /// During operation processing, the resource is temporarily in the `ACTIVE`
5889 /// state before the operation fully completes. For that period of time, you
5890 /// can't update the resource. Use the operation status to determine when the
5891 /// processing fully completes.
5892 pub async fn update_external_address(
5893 &mut self,
5894 request: impl tonic::IntoRequest<super::UpdateExternalAddressRequest>,
5895 ) -> std::result::Result<
5896 tonic::Response<super::super::super::super::longrunning::Operation>,
5897 tonic::Status,
5898 > {
5899 self.inner
5900 .ready()
5901 .await
5902 .map_err(|e| {
5903 tonic::Status::unknown(
5904 format!("Service was not ready: {}", e.into()),
5905 )
5906 })?;
5907 let codec = tonic_prost::ProstCodec::default();
5908 let path = http::uri::PathAndQuery::from_static(
5909 "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateExternalAddress",
5910 );
5911 let mut req = request.into_request();
5912 req.extensions_mut()
5913 .insert(
5914 GrpcMethod::new(
5915 "google.cloud.vmwareengine.v1.VmwareEngine",
5916 "UpdateExternalAddress",
5917 ),
5918 );
5919 self.inner.unary(req, path, codec).await
5920 }
5921 /// Deletes a single external IP address. When you delete an external IP
5922 /// address, connectivity between the external IP address and the corresponding
5923 /// internal IP address is lost.
5924 pub async fn delete_external_address(
5925 &mut self,
5926 request: impl tonic::IntoRequest<super::DeleteExternalAddressRequest>,
5927 ) -> std::result::Result<
5928 tonic::Response<super::super::super::super::longrunning::Operation>,
5929 tonic::Status,
5930 > {
5931 self.inner
5932 .ready()
5933 .await
5934 .map_err(|e| {
5935 tonic::Status::unknown(
5936 format!("Service was not ready: {}", e.into()),
5937 )
5938 })?;
5939 let codec = tonic_prost::ProstCodec::default();
5940 let path = http::uri::PathAndQuery::from_static(
5941 "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteExternalAddress",
5942 );
5943 let mut req = request.into_request();
5944 req.extensions_mut()
5945 .insert(
5946 GrpcMethod::new(
5947 "google.cloud.vmwareengine.v1.VmwareEngine",
5948 "DeleteExternalAddress",
5949 ),
5950 );
5951 self.inner.unary(req, path, codec).await
5952 }
5953 /// Lists subnets in a given private cloud.
5954 pub async fn list_subnets(
5955 &mut self,
5956 request: impl tonic::IntoRequest<super::ListSubnetsRequest>,
5957 ) -> std::result::Result<
5958 tonic::Response<super::ListSubnetsResponse>,
5959 tonic::Status,
5960 > {
5961 self.inner
5962 .ready()
5963 .await
5964 .map_err(|e| {
5965 tonic::Status::unknown(
5966 format!("Service was not ready: {}", e.into()),
5967 )
5968 })?;
5969 let codec = tonic_prost::ProstCodec::default();
5970 let path = http::uri::PathAndQuery::from_static(
5971 "/google.cloud.vmwareengine.v1.VmwareEngine/ListSubnets",
5972 );
5973 let mut req = request.into_request();
5974 req.extensions_mut()
5975 .insert(
5976 GrpcMethod::new(
5977 "google.cloud.vmwareengine.v1.VmwareEngine",
5978 "ListSubnets",
5979 ),
5980 );
5981 self.inner.unary(req, path, codec).await
5982 }
5983 /// Gets details of a single subnet.
5984 pub async fn get_subnet(
5985 &mut self,
5986 request: impl tonic::IntoRequest<super::GetSubnetRequest>,
5987 ) -> std::result::Result<tonic::Response<super::Subnet>, tonic::Status> {
5988 self.inner
5989 .ready()
5990 .await
5991 .map_err(|e| {
5992 tonic::Status::unknown(
5993 format!("Service was not ready: {}", e.into()),
5994 )
5995 })?;
5996 let codec = tonic_prost::ProstCodec::default();
5997 let path = http::uri::PathAndQuery::from_static(
5998 "/google.cloud.vmwareengine.v1.VmwareEngine/GetSubnet",
5999 );
6000 let mut req = request.into_request();
6001 req.extensions_mut()
6002 .insert(
6003 GrpcMethod::new(
6004 "google.cloud.vmwareengine.v1.VmwareEngine",
6005 "GetSubnet",
6006 ),
6007 );
6008 self.inner.unary(req, path, codec).await
6009 }
6010 /// Updates the parameters of a single subnet. Only fields specified in
6011 /// `update_mask` are applied.
6012 ///
6013 /// *Note*: This API is synchronous and always returns a successful
6014 /// `google.longrunning.Operation` (LRO). The returned LRO will only have
6015 /// `done` and `response` fields.
6016 pub async fn update_subnet(
6017 &mut self,
6018 request: impl tonic::IntoRequest<super::UpdateSubnetRequest>,
6019 ) -> std::result::Result<
6020 tonic::Response<super::super::super::super::longrunning::Operation>,
6021 tonic::Status,
6022 > {
6023 self.inner
6024 .ready()
6025 .await
6026 .map_err(|e| {
6027 tonic::Status::unknown(
6028 format!("Service was not ready: {}", e.into()),
6029 )
6030 })?;
6031 let codec = tonic_prost::ProstCodec::default();
6032 let path = http::uri::PathAndQuery::from_static(
6033 "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateSubnet",
6034 );
6035 let mut req = request.into_request();
6036 req.extensions_mut()
6037 .insert(
6038 GrpcMethod::new(
6039 "google.cloud.vmwareengine.v1.VmwareEngine",
6040 "UpdateSubnet",
6041 ),
6042 );
6043 self.inner.unary(req, path, codec).await
6044 }
6045 /// Lists `ExternalAccessRule` resources in the specified network policy.
6046 pub async fn list_external_access_rules(
6047 &mut self,
6048 request: impl tonic::IntoRequest<super::ListExternalAccessRulesRequest>,
6049 ) -> std::result::Result<
6050 tonic::Response<super::ListExternalAccessRulesResponse>,
6051 tonic::Status,
6052 > {
6053 self.inner
6054 .ready()
6055 .await
6056 .map_err(|e| {
6057 tonic::Status::unknown(
6058 format!("Service was not ready: {}", e.into()),
6059 )
6060 })?;
6061 let codec = tonic_prost::ProstCodec::default();
6062 let path = http::uri::PathAndQuery::from_static(
6063 "/google.cloud.vmwareengine.v1.VmwareEngine/ListExternalAccessRules",
6064 );
6065 let mut req = request.into_request();
6066 req.extensions_mut()
6067 .insert(
6068 GrpcMethod::new(
6069 "google.cloud.vmwareengine.v1.VmwareEngine",
6070 "ListExternalAccessRules",
6071 ),
6072 );
6073 self.inner.unary(req, path, codec).await
6074 }
6075 /// Gets details of a single external access rule.
6076 pub async fn get_external_access_rule(
6077 &mut self,
6078 request: impl tonic::IntoRequest<super::GetExternalAccessRuleRequest>,
6079 ) -> std::result::Result<
6080 tonic::Response<super::ExternalAccessRule>,
6081 tonic::Status,
6082 > {
6083 self.inner
6084 .ready()
6085 .await
6086 .map_err(|e| {
6087 tonic::Status::unknown(
6088 format!("Service was not ready: {}", e.into()),
6089 )
6090 })?;
6091 let codec = tonic_prost::ProstCodec::default();
6092 let path = http::uri::PathAndQuery::from_static(
6093 "/google.cloud.vmwareengine.v1.VmwareEngine/GetExternalAccessRule",
6094 );
6095 let mut req = request.into_request();
6096 req.extensions_mut()
6097 .insert(
6098 GrpcMethod::new(
6099 "google.cloud.vmwareengine.v1.VmwareEngine",
6100 "GetExternalAccessRule",
6101 ),
6102 );
6103 self.inner.unary(req, path, codec).await
6104 }
6105 /// Creates a new external access rule in a given network policy.
6106 pub async fn create_external_access_rule(
6107 &mut self,
6108 request: impl tonic::IntoRequest<super::CreateExternalAccessRuleRequest>,
6109 ) -> std::result::Result<
6110 tonic::Response<super::super::super::super::longrunning::Operation>,
6111 tonic::Status,
6112 > {
6113 self.inner
6114 .ready()
6115 .await
6116 .map_err(|e| {
6117 tonic::Status::unknown(
6118 format!("Service was not ready: {}", e.into()),
6119 )
6120 })?;
6121 let codec = tonic_prost::ProstCodec::default();
6122 let path = http::uri::PathAndQuery::from_static(
6123 "/google.cloud.vmwareengine.v1.VmwareEngine/CreateExternalAccessRule",
6124 );
6125 let mut req = request.into_request();
6126 req.extensions_mut()
6127 .insert(
6128 GrpcMethod::new(
6129 "google.cloud.vmwareengine.v1.VmwareEngine",
6130 "CreateExternalAccessRule",
6131 ),
6132 );
6133 self.inner.unary(req, path, codec).await
6134 }
6135 /// Updates the parameters of a single external access rule.
6136 /// Only fields specified in `update_mask` are applied.
6137 pub async fn update_external_access_rule(
6138 &mut self,
6139 request: impl tonic::IntoRequest<super::UpdateExternalAccessRuleRequest>,
6140 ) -> std::result::Result<
6141 tonic::Response<super::super::super::super::longrunning::Operation>,
6142 tonic::Status,
6143 > {
6144 self.inner
6145 .ready()
6146 .await
6147 .map_err(|e| {
6148 tonic::Status::unknown(
6149 format!("Service was not ready: {}", e.into()),
6150 )
6151 })?;
6152 let codec = tonic_prost::ProstCodec::default();
6153 let path = http::uri::PathAndQuery::from_static(
6154 "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateExternalAccessRule",
6155 );
6156 let mut req = request.into_request();
6157 req.extensions_mut()
6158 .insert(
6159 GrpcMethod::new(
6160 "google.cloud.vmwareengine.v1.VmwareEngine",
6161 "UpdateExternalAccessRule",
6162 ),
6163 );
6164 self.inner.unary(req, path, codec).await
6165 }
6166 /// Deletes a single external access rule.
6167 pub async fn delete_external_access_rule(
6168 &mut self,
6169 request: impl tonic::IntoRequest<super::DeleteExternalAccessRuleRequest>,
6170 ) -> std::result::Result<
6171 tonic::Response<super::super::super::super::longrunning::Operation>,
6172 tonic::Status,
6173 > {
6174 self.inner
6175 .ready()
6176 .await
6177 .map_err(|e| {
6178 tonic::Status::unknown(
6179 format!("Service was not ready: {}", e.into()),
6180 )
6181 })?;
6182 let codec = tonic_prost::ProstCodec::default();
6183 let path = http::uri::PathAndQuery::from_static(
6184 "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteExternalAccessRule",
6185 );
6186 let mut req = request.into_request();
6187 req.extensions_mut()
6188 .insert(
6189 GrpcMethod::new(
6190 "google.cloud.vmwareengine.v1.VmwareEngine",
6191 "DeleteExternalAccessRule",
6192 ),
6193 );
6194 self.inner.unary(req, path, codec).await
6195 }
6196 /// Lists logging servers configured for a given private
6197 /// cloud.
6198 pub async fn list_logging_servers(
6199 &mut self,
6200 request: impl tonic::IntoRequest<super::ListLoggingServersRequest>,
6201 ) -> std::result::Result<
6202 tonic::Response<super::ListLoggingServersResponse>,
6203 tonic::Status,
6204 > {
6205 self.inner
6206 .ready()
6207 .await
6208 .map_err(|e| {
6209 tonic::Status::unknown(
6210 format!("Service was not ready: {}", e.into()),
6211 )
6212 })?;
6213 let codec = tonic_prost::ProstCodec::default();
6214 let path = http::uri::PathAndQuery::from_static(
6215 "/google.cloud.vmwareengine.v1.VmwareEngine/ListLoggingServers",
6216 );
6217 let mut req = request.into_request();
6218 req.extensions_mut()
6219 .insert(
6220 GrpcMethod::new(
6221 "google.cloud.vmwareengine.v1.VmwareEngine",
6222 "ListLoggingServers",
6223 ),
6224 );
6225 self.inner.unary(req, path, codec).await
6226 }
6227 /// Gets details of a logging server.
6228 pub async fn get_logging_server(
6229 &mut self,
6230 request: impl tonic::IntoRequest<super::GetLoggingServerRequest>,
6231 ) -> std::result::Result<tonic::Response<super::LoggingServer>, tonic::Status> {
6232 self.inner
6233 .ready()
6234 .await
6235 .map_err(|e| {
6236 tonic::Status::unknown(
6237 format!("Service was not ready: {}", e.into()),
6238 )
6239 })?;
6240 let codec = tonic_prost::ProstCodec::default();
6241 let path = http::uri::PathAndQuery::from_static(
6242 "/google.cloud.vmwareengine.v1.VmwareEngine/GetLoggingServer",
6243 );
6244 let mut req = request.into_request();
6245 req.extensions_mut()
6246 .insert(
6247 GrpcMethod::new(
6248 "google.cloud.vmwareengine.v1.VmwareEngine",
6249 "GetLoggingServer",
6250 ),
6251 );
6252 self.inner.unary(req, path, codec).await
6253 }
6254 /// Create a new logging server for a given private cloud.
6255 pub async fn create_logging_server(
6256 &mut self,
6257 request: impl tonic::IntoRequest<super::CreateLoggingServerRequest>,
6258 ) -> std::result::Result<
6259 tonic::Response<super::super::super::super::longrunning::Operation>,
6260 tonic::Status,
6261 > {
6262 self.inner
6263 .ready()
6264 .await
6265 .map_err(|e| {
6266 tonic::Status::unknown(
6267 format!("Service was not ready: {}", e.into()),
6268 )
6269 })?;
6270 let codec = tonic_prost::ProstCodec::default();
6271 let path = http::uri::PathAndQuery::from_static(
6272 "/google.cloud.vmwareengine.v1.VmwareEngine/CreateLoggingServer",
6273 );
6274 let mut req = request.into_request();
6275 req.extensions_mut()
6276 .insert(
6277 GrpcMethod::new(
6278 "google.cloud.vmwareengine.v1.VmwareEngine",
6279 "CreateLoggingServer",
6280 ),
6281 );
6282 self.inner.unary(req, path, codec).await
6283 }
6284 /// Updates the parameters of a single logging server.
6285 /// Only fields specified in `update_mask` are applied.
6286 pub async fn update_logging_server(
6287 &mut self,
6288 request: impl tonic::IntoRequest<super::UpdateLoggingServerRequest>,
6289 ) -> std::result::Result<
6290 tonic::Response<super::super::super::super::longrunning::Operation>,
6291 tonic::Status,
6292 > {
6293 self.inner
6294 .ready()
6295 .await
6296 .map_err(|e| {
6297 tonic::Status::unknown(
6298 format!("Service was not ready: {}", e.into()),
6299 )
6300 })?;
6301 let codec = tonic_prost::ProstCodec::default();
6302 let path = http::uri::PathAndQuery::from_static(
6303 "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateLoggingServer",
6304 );
6305 let mut req = request.into_request();
6306 req.extensions_mut()
6307 .insert(
6308 GrpcMethod::new(
6309 "google.cloud.vmwareengine.v1.VmwareEngine",
6310 "UpdateLoggingServer",
6311 ),
6312 );
6313 self.inner.unary(req, path, codec).await
6314 }
6315 /// Deletes a single logging server.
6316 pub async fn delete_logging_server(
6317 &mut self,
6318 request: impl tonic::IntoRequest<super::DeleteLoggingServerRequest>,
6319 ) -> std::result::Result<
6320 tonic::Response<super::super::super::super::longrunning::Operation>,
6321 tonic::Status,
6322 > {
6323 self.inner
6324 .ready()
6325 .await
6326 .map_err(|e| {
6327 tonic::Status::unknown(
6328 format!("Service was not ready: {}", e.into()),
6329 )
6330 })?;
6331 let codec = tonic_prost::ProstCodec::default();
6332 let path = http::uri::PathAndQuery::from_static(
6333 "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteLoggingServer",
6334 );
6335 let mut req = request.into_request();
6336 req.extensions_mut()
6337 .insert(
6338 GrpcMethod::new(
6339 "google.cloud.vmwareengine.v1.VmwareEngine",
6340 "DeleteLoggingServer",
6341 ),
6342 );
6343 self.inner.unary(req, path, codec).await
6344 }
6345 /// Lists node types
6346 pub async fn list_node_types(
6347 &mut self,
6348 request: impl tonic::IntoRequest<super::ListNodeTypesRequest>,
6349 ) -> std::result::Result<
6350 tonic::Response<super::ListNodeTypesResponse>,
6351 tonic::Status,
6352 > {
6353 self.inner
6354 .ready()
6355 .await
6356 .map_err(|e| {
6357 tonic::Status::unknown(
6358 format!("Service was not ready: {}", e.into()),
6359 )
6360 })?;
6361 let codec = tonic_prost::ProstCodec::default();
6362 let path = http::uri::PathAndQuery::from_static(
6363 "/google.cloud.vmwareengine.v1.VmwareEngine/ListNodeTypes",
6364 );
6365 let mut req = request.into_request();
6366 req.extensions_mut()
6367 .insert(
6368 GrpcMethod::new(
6369 "google.cloud.vmwareengine.v1.VmwareEngine",
6370 "ListNodeTypes",
6371 ),
6372 );
6373 self.inner.unary(req, path, codec).await
6374 }
6375 /// Gets details of a single `NodeType`.
6376 pub async fn get_node_type(
6377 &mut self,
6378 request: impl tonic::IntoRequest<super::GetNodeTypeRequest>,
6379 ) -> std::result::Result<tonic::Response<super::NodeType>, tonic::Status> {
6380 self.inner
6381 .ready()
6382 .await
6383 .map_err(|e| {
6384 tonic::Status::unknown(
6385 format!("Service was not ready: {}", e.into()),
6386 )
6387 })?;
6388 let codec = tonic_prost::ProstCodec::default();
6389 let path = http::uri::PathAndQuery::from_static(
6390 "/google.cloud.vmwareengine.v1.VmwareEngine/GetNodeType",
6391 );
6392 let mut req = request.into_request();
6393 req.extensions_mut()
6394 .insert(
6395 GrpcMethod::new(
6396 "google.cloud.vmwareengine.v1.VmwareEngine",
6397 "GetNodeType",
6398 ),
6399 );
6400 self.inner.unary(req, path, codec).await
6401 }
6402 /// Gets details of credentials for NSX appliance.
6403 pub async fn show_nsx_credentials(
6404 &mut self,
6405 request: impl tonic::IntoRequest<super::ShowNsxCredentialsRequest>,
6406 ) -> std::result::Result<tonic::Response<super::Credentials>, tonic::Status> {
6407 self.inner
6408 .ready()
6409 .await
6410 .map_err(|e| {
6411 tonic::Status::unknown(
6412 format!("Service was not ready: {}", e.into()),
6413 )
6414 })?;
6415 let codec = tonic_prost::ProstCodec::default();
6416 let path = http::uri::PathAndQuery::from_static(
6417 "/google.cloud.vmwareengine.v1.VmwareEngine/ShowNsxCredentials",
6418 );
6419 let mut req = request.into_request();
6420 req.extensions_mut()
6421 .insert(
6422 GrpcMethod::new(
6423 "google.cloud.vmwareengine.v1.VmwareEngine",
6424 "ShowNsxCredentials",
6425 ),
6426 );
6427 self.inner.unary(req, path, codec).await
6428 }
6429 /// Gets details of credentials for Vcenter appliance.
6430 pub async fn show_vcenter_credentials(
6431 &mut self,
6432 request: impl tonic::IntoRequest<super::ShowVcenterCredentialsRequest>,
6433 ) -> std::result::Result<tonic::Response<super::Credentials>, tonic::Status> {
6434 self.inner
6435 .ready()
6436 .await
6437 .map_err(|e| {
6438 tonic::Status::unknown(
6439 format!("Service was not ready: {}", e.into()),
6440 )
6441 })?;
6442 let codec = tonic_prost::ProstCodec::default();
6443 let path = http::uri::PathAndQuery::from_static(
6444 "/google.cloud.vmwareengine.v1.VmwareEngine/ShowVcenterCredentials",
6445 );
6446 let mut req = request.into_request();
6447 req.extensions_mut()
6448 .insert(
6449 GrpcMethod::new(
6450 "google.cloud.vmwareengine.v1.VmwareEngine",
6451 "ShowVcenterCredentials",
6452 ),
6453 );
6454 self.inner.unary(req, path, codec).await
6455 }
6456 /// Resets credentials of the NSX appliance.
6457 pub async fn reset_nsx_credentials(
6458 &mut self,
6459 request: impl tonic::IntoRequest<super::ResetNsxCredentialsRequest>,
6460 ) -> std::result::Result<
6461 tonic::Response<super::super::super::super::longrunning::Operation>,
6462 tonic::Status,
6463 > {
6464 self.inner
6465 .ready()
6466 .await
6467 .map_err(|e| {
6468 tonic::Status::unknown(
6469 format!("Service was not ready: {}", e.into()),
6470 )
6471 })?;
6472 let codec = tonic_prost::ProstCodec::default();
6473 let path = http::uri::PathAndQuery::from_static(
6474 "/google.cloud.vmwareengine.v1.VmwareEngine/ResetNsxCredentials",
6475 );
6476 let mut req = request.into_request();
6477 req.extensions_mut()
6478 .insert(
6479 GrpcMethod::new(
6480 "google.cloud.vmwareengine.v1.VmwareEngine",
6481 "ResetNsxCredentials",
6482 ),
6483 );
6484 self.inner.unary(req, path, codec).await
6485 }
6486 /// Resets credentials of the Vcenter appliance.
6487 pub async fn reset_vcenter_credentials(
6488 &mut self,
6489 request: impl tonic::IntoRequest<super::ResetVcenterCredentialsRequest>,
6490 ) -> std::result::Result<
6491 tonic::Response<super::super::super::super::longrunning::Operation>,
6492 tonic::Status,
6493 > {
6494 self.inner
6495 .ready()
6496 .await
6497 .map_err(|e| {
6498 tonic::Status::unknown(
6499 format!("Service was not ready: {}", e.into()),
6500 )
6501 })?;
6502 let codec = tonic_prost::ProstCodec::default();
6503 let path = http::uri::PathAndQuery::from_static(
6504 "/google.cloud.vmwareengine.v1.VmwareEngine/ResetVcenterCredentials",
6505 );
6506 let mut req = request.into_request();
6507 req.extensions_mut()
6508 .insert(
6509 GrpcMethod::new(
6510 "google.cloud.vmwareengine.v1.VmwareEngine",
6511 "ResetVcenterCredentials",
6512 ),
6513 );
6514 self.inner.unary(req, path, codec).await
6515 }
6516 /// Gets details of the `DnsForwarding` config.
6517 pub async fn get_dns_forwarding(
6518 &mut self,
6519 request: impl tonic::IntoRequest<super::GetDnsForwardingRequest>,
6520 ) -> std::result::Result<tonic::Response<super::DnsForwarding>, tonic::Status> {
6521 self.inner
6522 .ready()
6523 .await
6524 .map_err(|e| {
6525 tonic::Status::unknown(
6526 format!("Service was not ready: {}", e.into()),
6527 )
6528 })?;
6529 let codec = tonic_prost::ProstCodec::default();
6530 let path = http::uri::PathAndQuery::from_static(
6531 "/google.cloud.vmwareengine.v1.VmwareEngine/GetDnsForwarding",
6532 );
6533 let mut req = request.into_request();
6534 req.extensions_mut()
6535 .insert(
6536 GrpcMethod::new(
6537 "google.cloud.vmwareengine.v1.VmwareEngine",
6538 "GetDnsForwarding",
6539 ),
6540 );
6541 self.inner.unary(req, path, codec).await
6542 }
6543 /// Updates the parameters of the `DnsForwarding` config, like associated
6544 /// domains. Only fields specified in `update_mask` are applied.
6545 pub async fn update_dns_forwarding(
6546 &mut self,
6547 request: impl tonic::IntoRequest<super::UpdateDnsForwardingRequest>,
6548 ) -> std::result::Result<
6549 tonic::Response<super::super::super::super::longrunning::Operation>,
6550 tonic::Status,
6551 > {
6552 self.inner
6553 .ready()
6554 .await
6555 .map_err(|e| {
6556 tonic::Status::unknown(
6557 format!("Service was not ready: {}", e.into()),
6558 )
6559 })?;
6560 let codec = tonic_prost::ProstCodec::default();
6561 let path = http::uri::PathAndQuery::from_static(
6562 "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateDnsForwarding",
6563 );
6564 let mut req = request.into_request();
6565 req.extensions_mut()
6566 .insert(
6567 GrpcMethod::new(
6568 "google.cloud.vmwareengine.v1.VmwareEngine",
6569 "UpdateDnsForwarding",
6570 ),
6571 );
6572 self.inner.unary(req, path, codec).await
6573 }
6574 /// Retrieves a `NetworkPeering` resource by its resource name. The resource
6575 /// contains details of the network peering, such as peered
6576 /// networks, import and export custom route configurations, and peering state.
6577 /// NetworkPeering is a global resource and location can only be global.
6578 pub async fn get_network_peering(
6579 &mut self,
6580 request: impl tonic::IntoRequest<super::GetNetworkPeeringRequest>,
6581 ) -> std::result::Result<tonic::Response<super::NetworkPeering>, tonic::Status> {
6582 self.inner
6583 .ready()
6584 .await
6585 .map_err(|e| {
6586 tonic::Status::unknown(
6587 format!("Service was not ready: {}", e.into()),
6588 )
6589 })?;
6590 let codec = tonic_prost::ProstCodec::default();
6591 let path = http::uri::PathAndQuery::from_static(
6592 "/google.cloud.vmwareengine.v1.VmwareEngine/GetNetworkPeering",
6593 );
6594 let mut req = request.into_request();
6595 req.extensions_mut()
6596 .insert(
6597 GrpcMethod::new(
6598 "google.cloud.vmwareengine.v1.VmwareEngine",
6599 "GetNetworkPeering",
6600 ),
6601 );
6602 self.inner.unary(req, path, codec).await
6603 }
6604 /// Lists `NetworkPeering` resources in a given project. NetworkPeering is a
6605 /// global resource and location can only be global.
6606 pub async fn list_network_peerings(
6607 &mut self,
6608 request: impl tonic::IntoRequest<super::ListNetworkPeeringsRequest>,
6609 ) -> std::result::Result<
6610 tonic::Response<super::ListNetworkPeeringsResponse>,
6611 tonic::Status,
6612 > {
6613 self.inner
6614 .ready()
6615 .await
6616 .map_err(|e| {
6617 tonic::Status::unknown(
6618 format!("Service was not ready: {}", e.into()),
6619 )
6620 })?;
6621 let codec = tonic_prost::ProstCodec::default();
6622 let path = http::uri::PathAndQuery::from_static(
6623 "/google.cloud.vmwareengine.v1.VmwareEngine/ListNetworkPeerings",
6624 );
6625 let mut req = request.into_request();
6626 req.extensions_mut()
6627 .insert(
6628 GrpcMethod::new(
6629 "google.cloud.vmwareengine.v1.VmwareEngine",
6630 "ListNetworkPeerings",
6631 ),
6632 );
6633 self.inner.unary(req, path, codec).await
6634 }
6635 /// Creates a new network peering between the peer network and VMware Engine
6636 /// network provided in a `NetworkPeering` resource. NetworkPeering is a
6637 /// global resource and location can only be global.
6638 pub async fn create_network_peering(
6639 &mut self,
6640 request: impl tonic::IntoRequest<super::CreateNetworkPeeringRequest>,
6641 ) -> std::result::Result<
6642 tonic::Response<super::super::super::super::longrunning::Operation>,
6643 tonic::Status,
6644 > {
6645 self.inner
6646 .ready()
6647 .await
6648 .map_err(|e| {
6649 tonic::Status::unknown(
6650 format!("Service was not ready: {}", e.into()),
6651 )
6652 })?;
6653 let codec = tonic_prost::ProstCodec::default();
6654 let path = http::uri::PathAndQuery::from_static(
6655 "/google.cloud.vmwareengine.v1.VmwareEngine/CreateNetworkPeering",
6656 );
6657 let mut req = request.into_request();
6658 req.extensions_mut()
6659 .insert(
6660 GrpcMethod::new(
6661 "google.cloud.vmwareengine.v1.VmwareEngine",
6662 "CreateNetworkPeering",
6663 ),
6664 );
6665 self.inner.unary(req, path, codec).await
6666 }
6667 /// Deletes a `NetworkPeering` resource. When a network peering is deleted for
6668 /// a VMware Engine network, the peer network becomes inaccessible to that
6669 /// VMware Engine network. NetworkPeering is a global resource and location can
6670 /// only be global.
6671 pub async fn delete_network_peering(
6672 &mut self,
6673 request: impl tonic::IntoRequest<super::DeleteNetworkPeeringRequest>,
6674 ) -> std::result::Result<
6675 tonic::Response<super::super::super::super::longrunning::Operation>,
6676 tonic::Status,
6677 > {
6678 self.inner
6679 .ready()
6680 .await
6681 .map_err(|e| {
6682 tonic::Status::unknown(
6683 format!("Service was not ready: {}", e.into()),
6684 )
6685 })?;
6686 let codec = tonic_prost::ProstCodec::default();
6687 let path = http::uri::PathAndQuery::from_static(
6688 "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteNetworkPeering",
6689 );
6690 let mut req = request.into_request();
6691 req.extensions_mut()
6692 .insert(
6693 GrpcMethod::new(
6694 "google.cloud.vmwareengine.v1.VmwareEngine",
6695 "DeleteNetworkPeering",
6696 ),
6697 );
6698 self.inner.unary(req, path, codec).await
6699 }
6700 /// Modifies a `NetworkPeering` resource. Only the `description` field can be
6701 /// updated. Only fields specified in `updateMask` are applied. NetworkPeering
6702 /// is a global resource and location can only be global.
6703 pub async fn update_network_peering(
6704 &mut self,
6705 request: impl tonic::IntoRequest<super::UpdateNetworkPeeringRequest>,
6706 ) -> std::result::Result<
6707 tonic::Response<super::super::super::super::longrunning::Operation>,
6708 tonic::Status,
6709 > {
6710 self.inner
6711 .ready()
6712 .await
6713 .map_err(|e| {
6714 tonic::Status::unknown(
6715 format!("Service was not ready: {}", e.into()),
6716 )
6717 })?;
6718 let codec = tonic_prost::ProstCodec::default();
6719 let path = http::uri::PathAndQuery::from_static(
6720 "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateNetworkPeering",
6721 );
6722 let mut req = request.into_request();
6723 req.extensions_mut()
6724 .insert(
6725 GrpcMethod::new(
6726 "google.cloud.vmwareengine.v1.VmwareEngine",
6727 "UpdateNetworkPeering",
6728 ),
6729 );
6730 self.inner.unary(req, path, codec).await
6731 }
6732 /// Lists the network peering routes exchanged over a peering connection.
6733 /// NetworkPeering is a global resource and location can only be global.
6734 pub async fn list_peering_routes(
6735 &mut self,
6736 request: impl tonic::IntoRequest<super::ListPeeringRoutesRequest>,
6737 ) -> std::result::Result<
6738 tonic::Response<super::ListPeeringRoutesResponse>,
6739 tonic::Status,
6740 > {
6741 self.inner
6742 .ready()
6743 .await
6744 .map_err(|e| {
6745 tonic::Status::unknown(
6746 format!("Service was not ready: {}", e.into()),
6747 )
6748 })?;
6749 let codec = tonic_prost::ProstCodec::default();
6750 let path = http::uri::PathAndQuery::from_static(
6751 "/google.cloud.vmwareengine.v1.VmwareEngine/ListPeeringRoutes",
6752 );
6753 let mut req = request.into_request();
6754 req.extensions_mut()
6755 .insert(
6756 GrpcMethod::new(
6757 "google.cloud.vmwareengine.v1.VmwareEngine",
6758 "ListPeeringRoutes",
6759 ),
6760 );
6761 self.inner.unary(req, path, codec).await
6762 }
6763 /// Creates a new HCX activation key in a given private cloud.
6764 pub async fn create_hcx_activation_key(
6765 &mut self,
6766 request: impl tonic::IntoRequest<super::CreateHcxActivationKeyRequest>,
6767 ) -> std::result::Result<
6768 tonic::Response<super::super::super::super::longrunning::Operation>,
6769 tonic::Status,
6770 > {
6771 self.inner
6772 .ready()
6773 .await
6774 .map_err(|e| {
6775 tonic::Status::unknown(
6776 format!("Service was not ready: {}", e.into()),
6777 )
6778 })?;
6779 let codec = tonic_prost::ProstCodec::default();
6780 let path = http::uri::PathAndQuery::from_static(
6781 "/google.cloud.vmwareengine.v1.VmwareEngine/CreateHcxActivationKey",
6782 );
6783 let mut req = request.into_request();
6784 req.extensions_mut()
6785 .insert(
6786 GrpcMethod::new(
6787 "google.cloud.vmwareengine.v1.VmwareEngine",
6788 "CreateHcxActivationKey",
6789 ),
6790 );
6791 self.inner.unary(req, path, codec).await
6792 }
6793 /// Lists `HcxActivationKey` resources in a given private cloud.
6794 pub async fn list_hcx_activation_keys(
6795 &mut self,
6796 request: impl tonic::IntoRequest<super::ListHcxActivationKeysRequest>,
6797 ) -> std::result::Result<
6798 tonic::Response<super::ListHcxActivationKeysResponse>,
6799 tonic::Status,
6800 > {
6801 self.inner
6802 .ready()
6803 .await
6804 .map_err(|e| {
6805 tonic::Status::unknown(
6806 format!("Service was not ready: {}", e.into()),
6807 )
6808 })?;
6809 let codec = tonic_prost::ProstCodec::default();
6810 let path = http::uri::PathAndQuery::from_static(
6811 "/google.cloud.vmwareengine.v1.VmwareEngine/ListHcxActivationKeys",
6812 );
6813 let mut req = request.into_request();
6814 req.extensions_mut()
6815 .insert(
6816 GrpcMethod::new(
6817 "google.cloud.vmwareengine.v1.VmwareEngine",
6818 "ListHcxActivationKeys",
6819 ),
6820 );
6821 self.inner.unary(req, path, codec).await
6822 }
6823 /// Retrieves a `HcxActivationKey` resource by its resource name.
6824 pub async fn get_hcx_activation_key(
6825 &mut self,
6826 request: impl tonic::IntoRequest<super::GetHcxActivationKeyRequest>,
6827 ) -> std::result::Result<
6828 tonic::Response<super::HcxActivationKey>,
6829 tonic::Status,
6830 > {
6831 self.inner
6832 .ready()
6833 .await
6834 .map_err(|e| {
6835 tonic::Status::unknown(
6836 format!("Service was not ready: {}", e.into()),
6837 )
6838 })?;
6839 let codec = tonic_prost::ProstCodec::default();
6840 let path = http::uri::PathAndQuery::from_static(
6841 "/google.cloud.vmwareengine.v1.VmwareEngine/GetHcxActivationKey",
6842 );
6843 let mut req = request.into_request();
6844 req.extensions_mut()
6845 .insert(
6846 GrpcMethod::new(
6847 "google.cloud.vmwareengine.v1.VmwareEngine",
6848 "GetHcxActivationKey",
6849 ),
6850 );
6851 self.inner.unary(req, path, codec).await
6852 }
6853 /// Retrieves a `NetworkPolicy` resource by its resource name.
6854 pub async fn get_network_policy(
6855 &mut self,
6856 request: impl tonic::IntoRequest<super::GetNetworkPolicyRequest>,
6857 ) -> std::result::Result<tonic::Response<super::NetworkPolicy>, tonic::Status> {
6858 self.inner
6859 .ready()
6860 .await
6861 .map_err(|e| {
6862 tonic::Status::unknown(
6863 format!("Service was not ready: {}", e.into()),
6864 )
6865 })?;
6866 let codec = tonic_prost::ProstCodec::default();
6867 let path = http::uri::PathAndQuery::from_static(
6868 "/google.cloud.vmwareengine.v1.VmwareEngine/GetNetworkPolicy",
6869 );
6870 let mut req = request.into_request();
6871 req.extensions_mut()
6872 .insert(
6873 GrpcMethod::new(
6874 "google.cloud.vmwareengine.v1.VmwareEngine",
6875 "GetNetworkPolicy",
6876 ),
6877 );
6878 self.inner.unary(req, path, codec).await
6879 }
6880 /// Lists `NetworkPolicy` resources in a specified project and location.
6881 pub async fn list_network_policies(
6882 &mut self,
6883 request: impl tonic::IntoRequest<super::ListNetworkPoliciesRequest>,
6884 ) -> std::result::Result<
6885 tonic::Response<super::ListNetworkPoliciesResponse>,
6886 tonic::Status,
6887 > {
6888 self.inner
6889 .ready()
6890 .await
6891 .map_err(|e| {
6892 tonic::Status::unknown(
6893 format!("Service was not ready: {}", e.into()),
6894 )
6895 })?;
6896 let codec = tonic_prost::ProstCodec::default();
6897 let path = http::uri::PathAndQuery::from_static(
6898 "/google.cloud.vmwareengine.v1.VmwareEngine/ListNetworkPolicies",
6899 );
6900 let mut req = request.into_request();
6901 req.extensions_mut()
6902 .insert(
6903 GrpcMethod::new(
6904 "google.cloud.vmwareengine.v1.VmwareEngine",
6905 "ListNetworkPolicies",
6906 ),
6907 );
6908 self.inner.unary(req, path, codec).await
6909 }
6910 /// Creates a new network policy in a given VMware Engine network of a
6911 /// project and location (region). A new network policy cannot be created if
6912 /// another network policy already exists in the same scope.
6913 pub async fn create_network_policy(
6914 &mut self,
6915 request: impl tonic::IntoRequest<super::CreateNetworkPolicyRequest>,
6916 ) -> std::result::Result<
6917 tonic::Response<super::super::super::super::longrunning::Operation>,
6918 tonic::Status,
6919 > {
6920 self.inner
6921 .ready()
6922 .await
6923 .map_err(|e| {
6924 tonic::Status::unknown(
6925 format!("Service was not ready: {}", e.into()),
6926 )
6927 })?;
6928 let codec = tonic_prost::ProstCodec::default();
6929 let path = http::uri::PathAndQuery::from_static(
6930 "/google.cloud.vmwareengine.v1.VmwareEngine/CreateNetworkPolicy",
6931 );
6932 let mut req = request.into_request();
6933 req.extensions_mut()
6934 .insert(
6935 GrpcMethod::new(
6936 "google.cloud.vmwareengine.v1.VmwareEngine",
6937 "CreateNetworkPolicy",
6938 ),
6939 );
6940 self.inner.unary(req, path, codec).await
6941 }
6942 /// Modifies a `NetworkPolicy` resource. Only the following fields can be
6943 /// updated: `internet_access`, `external_ip`, `edge_services_cidr`.
6944 /// Only fields specified in `updateMask` are applied. When updating a network
6945 /// policy, the external IP network service can only be disabled if there are
6946 /// no external IP addresses present in the scope of the policy. Also, a
6947 /// `NetworkService` cannot be updated when `NetworkService.state` is set
6948 /// to `RECONCILING`.
6949 ///
6950 /// During operation processing, the resource is temporarily in the `ACTIVE`
6951 /// state before the operation fully completes. For that period of time, you
6952 /// can't update the resource. Use the operation status to determine when the
6953 /// processing fully completes.
6954 pub async fn update_network_policy(
6955 &mut self,
6956 request: impl tonic::IntoRequest<super::UpdateNetworkPolicyRequest>,
6957 ) -> std::result::Result<
6958 tonic::Response<super::super::super::super::longrunning::Operation>,
6959 tonic::Status,
6960 > {
6961 self.inner
6962 .ready()
6963 .await
6964 .map_err(|e| {
6965 tonic::Status::unknown(
6966 format!("Service was not ready: {}", e.into()),
6967 )
6968 })?;
6969 let codec = tonic_prost::ProstCodec::default();
6970 let path = http::uri::PathAndQuery::from_static(
6971 "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateNetworkPolicy",
6972 );
6973 let mut req = request.into_request();
6974 req.extensions_mut()
6975 .insert(
6976 GrpcMethod::new(
6977 "google.cloud.vmwareengine.v1.VmwareEngine",
6978 "UpdateNetworkPolicy",
6979 ),
6980 );
6981 self.inner.unary(req, path, codec).await
6982 }
6983 /// Deletes a `NetworkPolicy` resource. A network policy cannot be deleted
6984 /// when `NetworkService.state` is set to `RECONCILING` for either its external
6985 /// IP or internet access service.
6986 pub async fn delete_network_policy(
6987 &mut self,
6988 request: impl tonic::IntoRequest<super::DeleteNetworkPolicyRequest>,
6989 ) -> std::result::Result<
6990 tonic::Response<super::super::super::super::longrunning::Operation>,
6991 tonic::Status,
6992 > {
6993 self.inner
6994 .ready()
6995 .await
6996 .map_err(|e| {
6997 tonic::Status::unknown(
6998 format!("Service was not ready: {}", e.into()),
6999 )
7000 })?;
7001 let codec = tonic_prost::ProstCodec::default();
7002 let path = http::uri::PathAndQuery::from_static(
7003 "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteNetworkPolicy",
7004 );
7005 let mut req = request.into_request();
7006 req.extensions_mut()
7007 .insert(
7008 GrpcMethod::new(
7009 "google.cloud.vmwareengine.v1.VmwareEngine",
7010 "DeleteNetworkPolicy",
7011 ),
7012 );
7013 self.inner.unary(req, path, codec).await
7014 }
7015 /// Lists Consumer VPCs bound to Management DNS Zone of a given private cloud.
7016 pub async fn list_management_dns_zone_bindings(
7017 &mut self,
7018 request: impl tonic::IntoRequest<super::ListManagementDnsZoneBindingsRequest>,
7019 ) -> std::result::Result<
7020 tonic::Response<super::ListManagementDnsZoneBindingsResponse>,
7021 tonic::Status,
7022 > {
7023 self.inner
7024 .ready()
7025 .await
7026 .map_err(|e| {
7027 tonic::Status::unknown(
7028 format!("Service was not ready: {}", e.into()),
7029 )
7030 })?;
7031 let codec = tonic_prost::ProstCodec::default();
7032 let path = http::uri::PathAndQuery::from_static(
7033 "/google.cloud.vmwareengine.v1.VmwareEngine/ListManagementDnsZoneBindings",
7034 );
7035 let mut req = request.into_request();
7036 req.extensions_mut()
7037 .insert(
7038 GrpcMethod::new(
7039 "google.cloud.vmwareengine.v1.VmwareEngine",
7040 "ListManagementDnsZoneBindings",
7041 ),
7042 );
7043 self.inner.unary(req, path, codec).await
7044 }
7045 /// Retrieves a 'ManagementDnsZoneBinding' resource by its resource name.
7046 pub async fn get_management_dns_zone_binding(
7047 &mut self,
7048 request: impl tonic::IntoRequest<super::GetManagementDnsZoneBindingRequest>,
7049 ) -> std::result::Result<
7050 tonic::Response<super::ManagementDnsZoneBinding>,
7051 tonic::Status,
7052 > {
7053 self.inner
7054 .ready()
7055 .await
7056 .map_err(|e| {
7057 tonic::Status::unknown(
7058 format!("Service was not ready: {}", e.into()),
7059 )
7060 })?;
7061 let codec = tonic_prost::ProstCodec::default();
7062 let path = http::uri::PathAndQuery::from_static(
7063 "/google.cloud.vmwareengine.v1.VmwareEngine/GetManagementDnsZoneBinding",
7064 );
7065 let mut req = request.into_request();
7066 req.extensions_mut()
7067 .insert(
7068 GrpcMethod::new(
7069 "google.cloud.vmwareengine.v1.VmwareEngine",
7070 "GetManagementDnsZoneBinding",
7071 ),
7072 );
7073 self.inner.unary(req, path, codec).await
7074 }
7075 /// Creates a new `ManagementDnsZoneBinding` resource in a private cloud.
7076 /// This RPC creates the DNS binding and the resource that represents the
7077 /// DNS binding of the consumer VPC network to the management DNS zone. A
7078 /// management DNS zone is the Cloud DNS cross-project binding zone that
7079 /// VMware Engine creates for each private cloud. It contains FQDNs and
7080 /// corresponding IP addresses for the private cloud's ESXi hosts and
7081 /// management VM appliances like vCenter and NSX Manager.
7082 pub async fn create_management_dns_zone_binding(
7083 &mut self,
7084 request: impl tonic::IntoRequest<
7085 super::CreateManagementDnsZoneBindingRequest,
7086 >,
7087 ) -> std::result::Result<
7088 tonic::Response<super::super::super::super::longrunning::Operation>,
7089 tonic::Status,
7090 > {
7091 self.inner
7092 .ready()
7093 .await
7094 .map_err(|e| {
7095 tonic::Status::unknown(
7096 format!("Service was not ready: {}", e.into()),
7097 )
7098 })?;
7099 let codec = tonic_prost::ProstCodec::default();
7100 let path = http::uri::PathAndQuery::from_static(
7101 "/google.cloud.vmwareengine.v1.VmwareEngine/CreateManagementDnsZoneBinding",
7102 );
7103 let mut req = request.into_request();
7104 req.extensions_mut()
7105 .insert(
7106 GrpcMethod::new(
7107 "google.cloud.vmwareengine.v1.VmwareEngine",
7108 "CreateManagementDnsZoneBinding",
7109 ),
7110 );
7111 self.inner.unary(req, path, codec).await
7112 }
7113 /// Updates a `ManagementDnsZoneBinding` resource.
7114 /// Only fields specified in `update_mask` are applied.
7115 pub async fn update_management_dns_zone_binding(
7116 &mut self,
7117 request: impl tonic::IntoRequest<
7118 super::UpdateManagementDnsZoneBindingRequest,
7119 >,
7120 ) -> std::result::Result<
7121 tonic::Response<super::super::super::super::longrunning::Operation>,
7122 tonic::Status,
7123 > {
7124 self.inner
7125 .ready()
7126 .await
7127 .map_err(|e| {
7128 tonic::Status::unknown(
7129 format!("Service was not ready: {}", e.into()),
7130 )
7131 })?;
7132 let codec = tonic_prost::ProstCodec::default();
7133 let path = http::uri::PathAndQuery::from_static(
7134 "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateManagementDnsZoneBinding",
7135 );
7136 let mut req = request.into_request();
7137 req.extensions_mut()
7138 .insert(
7139 GrpcMethod::new(
7140 "google.cloud.vmwareengine.v1.VmwareEngine",
7141 "UpdateManagementDnsZoneBinding",
7142 ),
7143 );
7144 self.inner.unary(req, path, codec).await
7145 }
7146 /// Deletes a `ManagementDnsZoneBinding` resource. When a management DNS zone
7147 /// binding is deleted, the corresponding consumer VPC network is no longer
7148 /// bound to the management DNS zone.
7149 pub async fn delete_management_dns_zone_binding(
7150 &mut self,
7151 request: impl tonic::IntoRequest<
7152 super::DeleteManagementDnsZoneBindingRequest,
7153 >,
7154 ) -> std::result::Result<
7155 tonic::Response<super::super::super::super::longrunning::Operation>,
7156 tonic::Status,
7157 > {
7158 self.inner
7159 .ready()
7160 .await
7161 .map_err(|e| {
7162 tonic::Status::unknown(
7163 format!("Service was not ready: {}", e.into()),
7164 )
7165 })?;
7166 let codec = tonic_prost::ProstCodec::default();
7167 let path = http::uri::PathAndQuery::from_static(
7168 "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteManagementDnsZoneBinding",
7169 );
7170 let mut req = request.into_request();
7171 req.extensions_mut()
7172 .insert(
7173 GrpcMethod::new(
7174 "google.cloud.vmwareengine.v1.VmwareEngine",
7175 "DeleteManagementDnsZoneBinding",
7176 ),
7177 );
7178 self.inner.unary(req, path, codec).await
7179 }
7180 /// Retries to create a `ManagementDnsZoneBinding` resource that is
7181 /// in failed state.
7182 pub async fn repair_management_dns_zone_binding(
7183 &mut self,
7184 request: impl tonic::IntoRequest<
7185 super::RepairManagementDnsZoneBindingRequest,
7186 >,
7187 ) -> std::result::Result<
7188 tonic::Response<super::super::super::super::longrunning::Operation>,
7189 tonic::Status,
7190 > {
7191 self.inner
7192 .ready()
7193 .await
7194 .map_err(|e| {
7195 tonic::Status::unknown(
7196 format!("Service was not ready: {}", e.into()),
7197 )
7198 })?;
7199 let codec = tonic_prost::ProstCodec::default();
7200 let path = http::uri::PathAndQuery::from_static(
7201 "/google.cloud.vmwareengine.v1.VmwareEngine/RepairManagementDnsZoneBinding",
7202 );
7203 let mut req = request.into_request();
7204 req.extensions_mut()
7205 .insert(
7206 GrpcMethod::new(
7207 "google.cloud.vmwareengine.v1.VmwareEngine",
7208 "RepairManagementDnsZoneBinding",
7209 ),
7210 );
7211 self.inner.unary(req, path, codec).await
7212 }
7213 /// Creates a new VMware Engine network that can be used by a private cloud.
7214 pub async fn create_vmware_engine_network(
7215 &mut self,
7216 request: impl tonic::IntoRequest<super::CreateVmwareEngineNetworkRequest>,
7217 ) -> std::result::Result<
7218 tonic::Response<super::super::super::super::longrunning::Operation>,
7219 tonic::Status,
7220 > {
7221 self.inner
7222 .ready()
7223 .await
7224 .map_err(|e| {
7225 tonic::Status::unknown(
7226 format!("Service was not ready: {}", e.into()),
7227 )
7228 })?;
7229 let codec = tonic_prost::ProstCodec::default();
7230 let path = http::uri::PathAndQuery::from_static(
7231 "/google.cloud.vmwareengine.v1.VmwareEngine/CreateVmwareEngineNetwork",
7232 );
7233 let mut req = request.into_request();
7234 req.extensions_mut()
7235 .insert(
7236 GrpcMethod::new(
7237 "google.cloud.vmwareengine.v1.VmwareEngine",
7238 "CreateVmwareEngineNetwork",
7239 ),
7240 );
7241 self.inner.unary(req, path, codec).await
7242 }
7243 /// Modifies a VMware Engine network resource. Only the following fields can be
7244 /// updated: `description`. Only fields specified in `updateMask` are
7245 /// applied.
7246 pub async fn update_vmware_engine_network(
7247 &mut self,
7248 request: impl tonic::IntoRequest<super::UpdateVmwareEngineNetworkRequest>,
7249 ) -> std::result::Result<
7250 tonic::Response<super::super::super::super::longrunning::Operation>,
7251 tonic::Status,
7252 > {
7253 self.inner
7254 .ready()
7255 .await
7256 .map_err(|e| {
7257 tonic::Status::unknown(
7258 format!("Service was not ready: {}", e.into()),
7259 )
7260 })?;
7261 let codec = tonic_prost::ProstCodec::default();
7262 let path = http::uri::PathAndQuery::from_static(
7263 "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateVmwareEngineNetwork",
7264 );
7265 let mut req = request.into_request();
7266 req.extensions_mut()
7267 .insert(
7268 GrpcMethod::new(
7269 "google.cloud.vmwareengine.v1.VmwareEngine",
7270 "UpdateVmwareEngineNetwork",
7271 ),
7272 );
7273 self.inner.unary(req, path, codec).await
7274 }
7275 /// Deletes a `VmwareEngineNetwork` resource. You can only delete a VMware
7276 /// Engine network after all resources that refer to it are deleted. For
7277 /// example, a private cloud, a network peering, and a network policy can all
7278 /// refer to the same VMware Engine network.
7279 pub async fn delete_vmware_engine_network(
7280 &mut self,
7281 request: impl tonic::IntoRequest<super::DeleteVmwareEngineNetworkRequest>,
7282 ) -> std::result::Result<
7283 tonic::Response<super::super::super::super::longrunning::Operation>,
7284 tonic::Status,
7285 > {
7286 self.inner
7287 .ready()
7288 .await
7289 .map_err(|e| {
7290 tonic::Status::unknown(
7291 format!("Service was not ready: {}", e.into()),
7292 )
7293 })?;
7294 let codec = tonic_prost::ProstCodec::default();
7295 let path = http::uri::PathAndQuery::from_static(
7296 "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteVmwareEngineNetwork",
7297 );
7298 let mut req = request.into_request();
7299 req.extensions_mut()
7300 .insert(
7301 GrpcMethod::new(
7302 "google.cloud.vmwareengine.v1.VmwareEngine",
7303 "DeleteVmwareEngineNetwork",
7304 ),
7305 );
7306 self.inner.unary(req, path, codec).await
7307 }
7308 /// Retrieves a `VmwareEngineNetwork` resource by its resource name. The
7309 /// resource contains details of the VMware Engine network, such as its VMware
7310 /// Engine network type, peered networks in a service project, and state
7311 /// (for example, `CREATING`, `ACTIVE`, `DELETING`).
7312 pub async fn get_vmware_engine_network(
7313 &mut self,
7314 request: impl tonic::IntoRequest<super::GetVmwareEngineNetworkRequest>,
7315 ) -> std::result::Result<
7316 tonic::Response<super::VmwareEngineNetwork>,
7317 tonic::Status,
7318 > {
7319 self.inner
7320 .ready()
7321 .await
7322 .map_err(|e| {
7323 tonic::Status::unknown(
7324 format!("Service was not ready: {}", e.into()),
7325 )
7326 })?;
7327 let codec = tonic_prost::ProstCodec::default();
7328 let path = http::uri::PathAndQuery::from_static(
7329 "/google.cloud.vmwareengine.v1.VmwareEngine/GetVmwareEngineNetwork",
7330 );
7331 let mut req = request.into_request();
7332 req.extensions_mut()
7333 .insert(
7334 GrpcMethod::new(
7335 "google.cloud.vmwareengine.v1.VmwareEngine",
7336 "GetVmwareEngineNetwork",
7337 ),
7338 );
7339 self.inner.unary(req, path, codec).await
7340 }
7341 /// Lists `VmwareEngineNetwork` resources in a given project and location.
7342 pub async fn list_vmware_engine_networks(
7343 &mut self,
7344 request: impl tonic::IntoRequest<super::ListVmwareEngineNetworksRequest>,
7345 ) -> std::result::Result<
7346 tonic::Response<super::ListVmwareEngineNetworksResponse>,
7347 tonic::Status,
7348 > {
7349 self.inner
7350 .ready()
7351 .await
7352 .map_err(|e| {
7353 tonic::Status::unknown(
7354 format!("Service was not ready: {}", e.into()),
7355 )
7356 })?;
7357 let codec = tonic_prost::ProstCodec::default();
7358 let path = http::uri::PathAndQuery::from_static(
7359 "/google.cloud.vmwareengine.v1.VmwareEngine/ListVmwareEngineNetworks",
7360 );
7361 let mut req = request.into_request();
7362 req.extensions_mut()
7363 .insert(
7364 GrpcMethod::new(
7365 "google.cloud.vmwareengine.v1.VmwareEngine",
7366 "ListVmwareEngineNetworks",
7367 ),
7368 );
7369 self.inner.unary(req, path, codec).await
7370 }
7371 /// Creates a new private connection that can be used for accessing private
7372 /// Clouds.
7373 pub async fn create_private_connection(
7374 &mut self,
7375 request: impl tonic::IntoRequest<super::CreatePrivateConnectionRequest>,
7376 ) -> std::result::Result<
7377 tonic::Response<super::super::super::super::longrunning::Operation>,
7378 tonic::Status,
7379 > {
7380 self.inner
7381 .ready()
7382 .await
7383 .map_err(|e| {
7384 tonic::Status::unknown(
7385 format!("Service was not ready: {}", e.into()),
7386 )
7387 })?;
7388 let codec = tonic_prost::ProstCodec::default();
7389 let path = http::uri::PathAndQuery::from_static(
7390 "/google.cloud.vmwareengine.v1.VmwareEngine/CreatePrivateConnection",
7391 );
7392 let mut req = request.into_request();
7393 req.extensions_mut()
7394 .insert(
7395 GrpcMethod::new(
7396 "google.cloud.vmwareengine.v1.VmwareEngine",
7397 "CreatePrivateConnection",
7398 ),
7399 );
7400 self.inner.unary(req, path, codec).await
7401 }
7402 /// Retrieves a `PrivateConnection` resource by its resource name. The resource
7403 /// contains details of the private connection, such as connected
7404 /// network, routing mode and state.
7405 pub async fn get_private_connection(
7406 &mut self,
7407 request: impl tonic::IntoRequest<super::GetPrivateConnectionRequest>,
7408 ) -> std::result::Result<
7409 tonic::Response<super::PrivateConnection>,
7410 tonic::Status,
7411 > {
7412 self.inner
7413 .ready()
7414 .await
7415 .map_err(|e| {
7416 tonic::Status::unknown(
7417 format!("Service was not ready: {}", e.into()),
7418 )
7419 })?;
7420 let codec = tonic_prost::ProstCodec::default();
7421 let path = http::uri::PathAndQuery::from_static(
7422 "/google.cloud.vmwareengine.v1.VmwareEngine/GetPrivateConnection",
7423 );
7424 let mut req = request.into_request();
7425 req.extensions_mut()
7426 .insert(
7427 GrpcMethod::new(
7428 "google.cloud.vmwareengine.v1.VmwareEngine",
7429 "GetPrivateConnection",
7430 ),
7431 );
7432 self.inner.unary(req, path, codec).await
7433 }
7434 /// Lists `PrivateConnection` resources in a given project and location.
7435 pub async fn list_private_connections(
7436 &mut self,
7437 request: impl tonic::IntoRequest<super::ListPrivateConnectionsRequest>,
7438 ) -> std::result::Result<
7439 tonic::Response<super::ListPrivateConnectionsResponse>,
7440 tonic::Status,
7441 > {
7442 self.inner
7443 .ready()
7444 .await
7445 .map_err(|e| {
7446 tonic::Status::unknown(
7447 format!("Service was not ready: {}", e.into()),
7448 )
7449 })?;
7450 let codec = tonic_prost::ProstCodec::default();
7451 let path = http::uri::PathAndQuery::from_static(
7452 "/google.cloud.vmwareengine.v1.VmwareEngine/ListPrivateConnections",
7453 );
7454 let mut req = request.into_request();
7455 req.extensions_mut()
7456 .insert(
7457 GrpcMethod::new(
7458 "google.cloud.vmwareengine.v1.VmwareEngine",
7459 "ListPrivateConnections",
7460 ),
7461 );
7462 self.inner.unary(req, path, codec).await
7463 }
7464 /// Modifies a `PrivateConnection` resource. Only `description` and
7465 /// `routing_mode` fields can be updated. Only fields specified in `updateMask`
7466 /// are applied.
7467 pub async fn update_private_connection(
7468 &mut self,
7469 request: impl tonic::IntoRequest<super::UpdatePrivateConnectionRequest>,
7470 ) -> std::result::Result<
7471 tonic::Response<super::super::super::super::longrunning::Operation>,
7472 tonic::Status,
7473 > {
7474 self.inner
7475 .ready()
7476 .await
7477 .map_err(|e| {
7478 tonic::Status::unknown(
7479 format!("Service was not ready: {}", e.into()),
7480 )
7481 })?;
7482 let codec = tonic_prost::ProstCodec::default();
7483 let path = http::uri::PathAndQuery::from_static(
7484 "/google.cloud.vmwareengine.v1.VmwareEngine/UpdatePrivateConnection",
7485 );
7486 let mut req = request.into_request();
7487 req.extensions_mut()
7488 .insert(
7489 GrpcMethod::new(
7490 "google.cloud.vmwareengine.v1.VmwareEngine",
7491 "UpdatePrivateConnection",
7492 ),
7493 );
7494 self.inner.unary(req, path, codec).await
7495 }
7496 /// Deletes a `PrivateConnection` resource. When a private connection is
7497 /// deleted for a VMware Engine network, the connected network becomes
7498 /// inaccessible to that VMware Engine network.
7499 pub async fn delete_private_connection(
7500 &mut self,
7501 request: impl tonic::IntoRequest<super::DeletePrivateConnectionRequest>,
7502 ) -> std::result::Result<
7503 tonic::Response<super::super::super::super::longrunning::Operation>,
7504 tonic::Status,
7505 > {
7506 self.inner
7507 .ready()
7508 .await
7509 .map_err(|e| {
7510 tonic::Status::unknown(
7511 format!("Service was not ready: {}", e.into()),
7512 )
7513 })?;
7514 let codec = tonic_prost::ProstCodec::default();
7515 let path = http::uri::PathAndQuery::from_static(
7516 "/google.cloud.vmwareengine.v1.VmwareEngine/DeletePrivateConnection",
7517 );
7518 let mut req = request.into_request();
7519 req.extensions_mut()
7520 .insert(
7521 GrpcMethod::new(
7522 "google.cloud.vmwareengine.v1.VmwareEngine",
7523 "DeletePrivateConnection",
7524 ),
7525 );
7526 self.inner.unary(req, path, codec).await
7527 }
7528 /// Lists the private connection routes exchanged over a peering connection.
7529 pub async fn list_private_connection_peering_routes(
7530 &mut self,
7531 request: impl tonic::IntoRequest<
7532 super::ListPrivateConnectionPeeringRoutesRequest,
7533 >,
7534 ) -> std::result::Result<
7535 tonic::Response<super::ListPrivateConnectionPeeringRoutesResponse>,
7536 tonic::Status,
7537 > {
7538 self.inner
7539 .ready()
7540 .await
7541 .map_err(|e| {
7542 tonic::Status::unknown(
7543 format!("Service was not ready: {}", e.into()),
7544 )
7545 })?;
7546 let codec = tonic_prost::ProstCodec::default();
7547 let path = http::uri::PathAndQuery::from_static(
7548 "/google.cloud.vmwareengine.v1.VmwareEngine/ListPrivateConnectionPeeringRoutes",
7549 );
7550 let mut req = request.into_request();
7551 req.extensions_mut()
7552 .insert(
7553 GrpcMethod::new(
7554 "google.cloud.vmwareengine.v1.VmwareEngine",
7555 "ListPrivateConnectionPeeringRoutes",
7556 ),
7557 );
7558 self.inner.unary(req, path, codec).await
7559 }
7560 /// Grants the bind permission to the customer provided principal(user /
7561 /// service account) to bind their DNS zone with the intranet VPC associated
7562 /// with the project. DnsBindPermission is a global resource and location can
7563 /// only be global.
7564 pub async fn grant_dns_bind_permission(
7565 &mut self,
7566 request: impl tonic::IntoRequest<super::GrantDnsBindPermissionRequest>,
7567 ) -> std::result::Result<
7568 tonic::Response<super::super::super::super::longrunning::Operation>,
7569 tonic::Status,
7570 > {
7571 self.inner
7572 .ready()
7573 .await
7574 .map_err(|e| {
7575 tonic::Status::unknown(
7576 format!("Service was not ready: {}", e.into()),
7577 )
7578 })?;
7579 let codec = tonic_prost::ProstCodec::default();
7580 let path = http::uri::PathAndQuery::from_static(
7581 "/google.cloud.vmwareengine.v1.VmwareEngine/GrantDnsBindPermission",
7582 );
7583 let mut req = request.into_request();
7584 req.extensions_mut()
7585 .insert(
7586 GrpcMethod::new(
7587 "google.cloud.vmwareengine.v1.VmwareEngine",
7588 "GrantDnsBindPermission",
7589 ),
7590 );
7591 self.inner.unary(req, path, codec).await
7592 }
7593 /// Gets all the principals having bind permission on the intranet VPC
7594 /// associated with the consumer project granted by the Grant API.
7595 /// DnsBindPermission is a global resource and location can only be global.
7596 pub async fn get_dns_bind_permission(
7597 &mut self,
7598 request: impl tonic::IntoRequest<super::GetDnsBindPermissionRequest>,
7599 ) -> std::result::Result<
7600 tonic::Response<super::DnsBindPermission>,
7601 tonic::Status,
7602 > {
7603 self.inner
7604 .ready()
7605 .await
7606 .map_err(|e| {
7607 tonic::Status::unknown(
7608 format!("Service was not ready: {}", e.into()),
7609 )
7610 })?;
7611 let codec = tonic_prost::ProstCodec::default();
7612 let path = http::uri::PathAndQuery::from_static(
7613 "/google.cloud.vmwareengine.v1.VmwareEngine/GetDnsBindPermission",
7614 );
7615 let mut req = request.into_request();
7616 req.extensions_mut()
7617 .insert(
7618 GrpcMethod::new(
7619 "google.cloud.vmwareengine.v1.VmwareEngine",
7620 "GetDnsBindPermission",
7621 ),
7622 );
7623 self.inner.unary(req, path, codec).await
7624 }
7625 /// Revokes the bind permission from the customer provided principal(user /
7626 /// service account) on the intranet VPC associated with the consumer project.
7627 /// DnsBindPermission is a global resource and location can only be global.
7628 pub async fn revoke_dns_bind_permission(
7629 &mut self,
7630 request: impl tonic::IntoRequest<super::RevokeDnsBindPermissionRequest>,
7631 ) -> std::result::Result<
7632 tonic::Response<super::super::super::super::longrunning::Operation>,
7633 tonic::Status,
7634 > {
7635 self.inner
7636 .ready()
7637 .await
7638 .map_err(|e| {
7639 tonic::Status::unknown(
7640 format!("Service was not ready: {}", e.into()),
7641 )
7642 })?;
7643 let codec = tonic_prost::ProstCodec::default();
7644 let path = http::uri::PathAndQuery::from_static(
7645 "/google.cloud.vmwareengine.v1.VmwareEngine/RevokeDnsBindPermission",
7646 );
7647 let mut req = request.into_request();
7648 req.extensions_mut()
7649 .insert(
7650 GrpcMethod::new(
7651 "google.cloud.vmwareengine.v1.VmwareEngine",
7652 "RevokeDnsBindPermission",
7653 ),
7654 );
7655 self.inner.unary(req, path, codec).await
7656 }
7657 }
7658}