1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.cloud.vmwareengine.v1; 18 19import "google/longrunning/operations.proto"; 20import "google/protobuf/timestamp.proto"; 21import "google/protobuf/field_mask.proto"; 22import "google/api/annotations.proto"; 23import "google/api/client.proto"; 24import "google/api/field_behavior.proto"; 25import "google/api/field_info.proto"; 26import "google/api/resource.proto"; 27import "google/cloud/vmwareengine/v1/vmwareengine_resources.proto"; 28import "google/protobuf/empty.proto"; 29 30option csharp_namespace = "Google.Cloud.VmwareEngine.V1"; 31option go_package = "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb;vmwareenginepb"; 32option java_multiple_files = true; 33option java_outer_classname = "VmwareengineProto"; 34option java_package = "com.google.cloud.vmwareengine.v1"; 35option php_namespace = "Google\\Cloud\\VmwareEngine\\V1"; 36option ruby_package = "Google::Cloud::VmwareEngine::V1"; 37option (google.api.resource_definition) = { 38 type: "compute.googleapis.com/Network" 39 pattern: "projects/{project}/global/networks/{network}" 40}; 41 42// VMwareEngine manages VMware's private clusters in the Cloud. 43service VmwareEngine { 44 option (google.api.default_host) = "vmwareengine.googleapis.com"; 45 option (google.api.oauth_scopes) = 46 "https://www.googleapis.com/auth/cloud-platform"; 47 48 // Lists `PrivateCloud` resources in a given project and location. 49 rpc ListPrivateClouds(ListPrivateCloudsRequest) 50 returns (ListPrivateCloudsResponse) { 51 option (google.api.http) = { 52 get: "/v1/{parent=projects/*/locations/*}/privateClouds" 53 }; 54 option (google.api.method_signature) = "parent"; 55 } 56 57 // Retrieves a `PrivateCloud` resource by its resource name. 58 rpc GetPrivateCloud(GetPrivateCloudRequest) returns (PrivateCloud) { 59 option (google.api.http) = { 60 get: "/v1/{name=projects/*/locations/*/privateClouds/*}" 61 }; 62 option (google.api.method_signature) = "name"; 63 } 64 65 // Creates a new `PrivateCloud` resource in a given project and location. 66 // Private clouds of type `STANDARD` and 67 // `TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are 68 // regional. 69 // Creating a private cloud also creates a [management 70 // cluster](https://cloud.google.com/vmware-engine/docs/concepts-vmware-components) 71 // for that private cloud. 72 rpc CreatePrivateCloud(CreatePrivateCloudRequest) 73 returns (google.longrunning.Operation) { 74 option (google.api.http) = { 75 post: "/v1/{parent=projects/*/locations/*}/privateClouds" 76 body: "private_cloud" 77 }; 78 option (google.api.method_signature) = 79 "parent,private_cloud,private_cloud_id"; 80 option (google.longrunning.operation_info) = { 81 response_type: "PrivateCloud" 82 metadata_type: "OperationMetadata" 83 }; 84 } 85 86 // Modifies a `PrivateCloud` resource. Only the following fields can be 87 // updated: `description`. 88 // Only fields specified in `updateMask` are applied. 89 // 90 // During operation processing, the resource is temporarily in the `ACTIVE` 91 // state before the operation fully completes. For that period of time, you 92 // can't update the resource. Use the operation status to determine when the 93 // processing fully completes. 94 rpc UpdatePrivateCloud(UpdatePrivateCloudRequest) 95 returns (google.longrunning.Operation) { 96 option (google.api.http) = { 97 patch: "/v1/{private_cloud.name=projects/*/locations/*/privateClouds/*}" 98 body: "private_cloud" 99 }; 100 option (google.api.method_signature) = "private_cloud,update_mask"; 101 option (google.longrunning.operation_info) = { 102 response_type: "PrivateCloud" 103 metadata_type: "OperationMetadata" 104 }; 105 } 106 107 // Schedules a `PrivateCloud` resource for deletion. 108 // 109 // A `PrivateCloud` resource scheduled for deletion has `PrivateCloud.state` 110 // set to `DELETED` and `expireTime` set to the time when deletion is final 111 // and can no longer be reversed. The delete operation is marked as done 112 // as soon as the `PrivateCloud` is successfully scheduled for deletion 113 // (this also applies when `delayHours` is set to zero), and the operation is 114 // not kept in pending state until `PrivateCloud` is purged. 115 // `PrivateCloud` can be restored using `UndeletePrivateCloud` method before 116 // the `expireTime` elapses. When `expireTime` is reached, deletion is final 117 // and all private cloud resources are irreversibly removed and billing stops. 118 // During the final removal process, `PrivateCloud.state` is set to `PURGING`. 119 // `PrivateCloud` can be polled using standard `GET` method for the whole 120 // period of deletion and purging. It will not be returned only 121 // when it is completely purged. 122 rpc DeletePrivateCloud(DeletePrivateCloudRequest) 123 returns (google.longrunning.Operation) { 124 option (google.api.http) = { 125 delete: "/v1/{name=projects/*/locations/*/privateClouds/*}" 126 }; 127 option (google.api.method_signature) = "name"; 128 option (google.longrunning.operation_info) = { 129 response_type: "PrivateCloud" 130 metadata_type: "OperationMetadata" 131 }; 132 } 133 134 // Restores a private cloud that was previously scheduled for deletion by 135 // `DeletePrivateCloud`. A `PrivateCloud` resource scheduled for deletion has 136 // `PrivateCloud.state` set to `DELETED` and `PrivateCloud.expireTime` set to 137 // the time when deletion can no longer be reversed. 138 rpc UndeletePrivateCloud(UndeletePrivateCloudRequest) 139 returns (google.longrunning.Operation) { 140 option (google.api.http) = { 141 post: "/v1/{name=projects/*/locations/*/privateClouds/*}:undelete" 142 body: "*" 143 }; 144 option (google.api.method_signature) = "name"; 145 option (google.longrunning.operation_info) = { 146 response_type: "PrivateCloud" 147 metadata_type: "OperationMetadata" 148 }; 149 } 150 151 // Lists `Cluster` resources in a given private cloud. 152 rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) { 153 option (google.api.http) = { 154 get: "/v1/{parent=projects/*/locations/*/privateClouds/*}/clusters" 155 }; 156 option (google.api.method_signature) = "parent"; 157 } 158 159 // Retrieves a `Cluster` resource by its resource name. 160 rpc GetCluster(GetClusterRequest) returns (Cluster) { 161 option (google.api.http) = { 162 get: "/v1/{name=projects/*/locations/*/privateClouds/*/clusters/*}" 163 }; 164 option (google.api.method_signature) = "name"; 165 } 166 167 // Creates a new cluster in a given private cloud. 168 // Creating a new cluster provides additional nodes for 169 // use in the parent private cloud and requires sufficient [node 170 // quota](https://cloud.google.com/vmware-engine/quotas). 171 rpc CreateCluster(CreateClusterRequest) 172 returns (google.longrunning.Operation) { 173 option (google.api.http) = { 174 post: "/v1/{parent=projects/*/locations/*/privateClouds/*}/clusters" 175 body: "cluster" 176 }; 177 option (google.api.method_signature) = "parent,cluster,cluster_id"; 178 option (google.longrunning.operation_info) = { 179 response_type: "Cluster" 180 metadata_type: "OperationMetadata" 181 }; 182 } 183 184 // Modifies a `Cluster` resource. Only fields specified in `updateMask` are 185 // applied. 186 // 187 // During operation processing, the resource is temporarily in the `ACTIVE` 188 // state before the operation fully completes. For that period of time, you 189 // can't update the resource. Use the operation status to determine when the 190 // processing fully completes. 191 rpc UpdateCluster(UpdateClusterRequest) 192 returns (google.longrunning.Operation) { 193 option (google.api.http) = { 194 patch: "/v1/{cluster.name=projects/*/locations/*/privateClouds/*/clusters/*}" 195 body: "cluster" 196 }; 197 option (google.api.method_signature) = "cluster,update_mask"; 198 option (google.longrunning.operation_info) = { 199 response_type: "Cluster" 200 metadata_type: "OperationMetadata" 201 }; 202 } 203 204 // Deletes a `Cluster` resource. To avoid unintended data loss, migrate or 205 // gracefully shut down any workloads running on the cluster before deletion. 206 // You cannot delete the management cluster of a private cloud using this 207 // method. 208 rpc DeleteCluster(DeleteClusterRequest) 209 returns (google.longrunning.Operation) { 210 option (google.api.http) = { 211 delete: "/v1/{name=projects/*/locations/*/privateClouds/*/clusters/*}" 212 }; 213 option (google.api.method_signature) = "name"; 214 option (google.longrunning.operation_info) = { 215 response_type: "google.protobuf.Empty" 216 metadata_type: "OperationMetadata" 217 }; 218 } 219 220 // Lists nodes in a given cluster. 221 rpc ListNodes(ListNodesRequest) returns (ListNodesResponse) { 222 option (google.api.http) = { 223 get: "/v1/{parent=projects/*/locations/*/privateClouds/*/clusters/*}/nodes" 224 }; 225 option (google.api.method_signature) = "parent"; 226 } 227 228 // Gets details of a single node. 229 rpc GetNode(GetNodeRequest) returns (Node) { 230 option (google.api.http) = { 231 get: "/v1/{name=projects/*/locations/*/privateClouds/*/clusters/*/nodes/*}" 232 }; 233 option (google.api.method_signature) = "name"; 234 } 235 236 // Lists external IP addresses assigned to VMware workload VMs in a given 237 // private cloud. 238 rpc ListExternalAddresses(ListExternalAddressesRequest) 239 returns (ListExternalAddressesResponse) { 240 option (google.api.http) = { 241 get: "/v1/{parent=projects/*/locations/*/privateClouds/*}/externalAddresses" 242 }; 243 option (google.api.method_signature) = "parent"; 244 } 245 246 // Lists external IP addresses assigned to VMware workload VMs within the 247 // scope of the given network policy. 248 rpc FetchNetworkPolicyExternalAddresses( 249 FetchNetworkPolicyExternalAddressesRequest) 250 returns (FetchNetworkPolicyExternalAddressesResponse) { 251 option (google.api.http) = { 252 get: "/v1/{network_policy=projects/*/locations/*/networkPolicies/*}:fetchExternalAddresses" 253 }; 254 option (google.api.method_signature) = "network_policy"; 255 } 256 257 // Gets details of a single external IP address. 258 rpc GetExternalAddress(GetExternalAddressRequest) returns (ExternalAddress) { 259 option (google.api.http) = { 260 get: "/v1/{name=projects/*/locations/*/privateClouds/*/externalAddresses/*}" 261 }; 262 option (google.api.method_signature) = "name"; 263 } 264 265 // Creates a new `ExternalAddress` resource in a given private cloud. The 266 // network policy that corresponds to the private cloud must have the external 267 // IP address network service enabled (`NetworkPolicy.external_ip`). 268 rpc CreateExternalAddress(CreateExternalAddressRequest) 269 returns (google.longrunning.Operation) { 270 option (google.api.http) = { 271 post: "/v1/{parent=projects/*/locations/*/privateClouds/*}/externalAddresses" 272 body: "external_address" 273 }; 274 option (google.api.method_signature) = 275 "parent,external_address,external_address_id"; 276 option (google.longrunning.operation_info) = { 277 response_type: "ExternalAddress" 278 metadata_type: "OperationMetadata" 279 }; 280 } 281 282 // Updates the parameters of a single external IP address. 283 // Only fields specified in `update_mask` are applied. 284 // 285 // During operation processing, the resource is temporarily in the `ACTIVE` 286 // state before the operation fully completes. For that period of time, you 287 // can't update the resource. Use the operation status to determine when the 288 // processing fully completes. 289 rpc UpdateExternalAddress(UpdateExternalAddressRequest) 290 returns (google.longrunning.Operation) { 291 option (google.api.http) = { 292 patch: "/v1/{external_address.name=projects/*/locations/*/privateClouds/*/externalAddresses/*}" 293 body: "external_address" 294 }; 295 option (google.api.method_signature) = "external_address,update_mask"; 296 option (google.longrunning.operation_info) = { 297 response_type: "ExternalAddress" 298 metadata_type: "OperationMetadata" 299 }; 300 } 301 302 // Deletes a single external IP address. When you delete an external IP 303 // address, connectivity between the external IP address and the corresponding 304 // internal IP address is lost. 305 rpc DeleteExternalAddress(DeleteExternalAddressRequest) 306 returns (google.longrunning.Operation) { 307 option (google.api.http) = { 308 delete: "/v1/{name=projects/*/locations/*/privateClouds/*/externalAddresses/*}" 309 }; 310 option (google.api.method_signature) = "name"; 311 option (google.longrunning.operation_info) = { 312 response_type: "google.protobuf.Empty" 313 metadata_type: "OperationMetadata" 314 }; 315 } 316 317 // Lists subnets in a given private cloud. 318 rpc ListSubnets(ListSubnetsRequest) returns (ListSubnetsResponse) { 319 option (google.api.http) = { 320 get: "/v1/{parent=projects/*/locations/*/privateClouds/*}/subnets" 321 }; 322 option (google.api.method_signature) = "parent"; 323 } 324 325 // Gets details of a single subnet. 326 rpc GetSubnet(GetSubnetRequest) returns (Subnet) { 327 option (google.api.http) = { 328 get: "/v1/{name=projects/*/locations/*/privateClouds/*/subnets/*}" 329 }; 330 option (google.api.method_signature) = "name"; 331 } 332 333 // Updates the parameters of a single subnet. Only fields specified in 334 // `update_mask` are applied. 335 // 336 // *Note*: This API is synchronous and always returns a successful 337 // `google.longrunning.Operation` (LRO). The returned LRO will only have 338 // `done` and `response` fields. 339 rpc UpdateSubnet(UpdateSubnetRequest) returns (google.longrunning.Operation) { 340 option (google.api.http) = { 341 patch: "/v1/{subnet.name=projects/*/locations/*/privateClouds/*/subnets/*}" 342 body: "subnet" 343 }; 344 option (google.api.method_signature) = "subnet,update_mask"; 345 option (google.longrunning.operation_info) = { 346 response_type: "Subnet" 347 metadata_type: "OperationMetadata" 348 }; 349 } 350 351 // Lists `ExternalAccessRule` resources in the specified network policy. 352 rpc ListExternalAccessRules(ListExternalAccessRulesRequest) 353 returns (ListExternalAccessRulesResponse) { 354 option (google.api.http) = { 355 get: "/v1/{parent=projects/*/locations/*/networkPolicies/*}/externalAccessRules" 356 }; 357 option (google.api.method_signature) = "parent"; 358 } 359 360 // Gets details of a single external access rule. 361 rpc GetExternalAccessRule(GetExternalAccessRuleRequest) 362 returns (ExternalAccessRule) { 363 option (google.api.http) = { 364 get: "/v1/{name=projects/*/locations/*/networkPolicies/*/externalAccessRules/*}" 365 }; 366 option (google.api.method_signature) = "name"; 367 } 368 369 // Creates a new external access rule in a given network policy. 370 rpc CreateExternalAccessRule(CreateExternalAccessRuleRequest) 371 returns (google.longrunning.Operation) { 372 option (google.api.http) = { 373 post: "/v1/{parent=projects/*/locations/*/networkPolicies/*}/externalAccessRules" 374 body: "external_access_rule" 375 }; 376 option (google.api.method_signature) = 377 "parent,external_access_rule,external_access_rule_id"; 378 option (google.longrunning.operation_info) = { 379 response_type: "ExternalAccessRule" 380 metadata_type: "OperationMetadata" 381 }; 382 } 383 384 // Updates the parameters of a single external access rule. 385 // Only fields specified in `update_mask` are applied. 386 rpc UpdateExternalAccessRule(UpdateExternalAccessRuleRequest) 387 returns (google.longrunning.Operation) { 388 option (google.api.http) = { 389 patch: "/v1/{external_access_rule.name=projects/*/locations/*/networkPolicies/*/externalAccessRules/*}" 390 body: "external_access_rule" 391 }; 392 option (google.api.method_signature) = "external_access_rule,update_mask"; 393 option (google.longrunning.operation_info) = { 394 response_type: "ExternalAccessRule" 395 metadata_type: "OperationMetadata" 396 }; 397 } 398 399 // Deletes a single external access rule. 400 rpc DeleteExternalAccessRule(DeleteExternalAccessRuleRequest) 401 returns (google.longrunning.Operation) { 402 option (google.api.http) = { 403 delete: "/v1/{name=projects/*/locations/*/networkPolicies/*/externalAccessRules/*}" 404 }; 405 option (google.api.method_signature) = "name"; 406 option (google.longrunning.operation_info) = { 407 response_type: "google.protobuf.Empty" 408 metadata_type: "OperationMetadata" 409 }; 410 } 411 412 // Lists logging servers configured for a given private 413 // cloud. 414 rpc ListLoggingServers(ListLoggingServersRequest) 415 returns (ListLoggingServersResponse) { 416 option (google.api.http) = { 417 get: "/v1/{parent=projects/*/locations/*/privateClouds/*}/loggingServers" 418 }; 419 option (google.api.method_signature) = "parent"; 420 } 421 422 // Gets details of a logging server. 423 rpc GetLoggingServer(GetLoggingServerRequest) returns (LoggingServer) { 424 option (google.api.http) = { 425 get: "/v1/{name=projects/*/locations/*/privateClouds/*/loggingServers/*}" 426 }; 427 option (google.api.method_signature) = "name"; 428 } 429 430 // Create a new logging server for a given private cloud. 431 rpc CreateLoggingServer(CreateLoggingServerRequest) 432 returns (google.longrunning.Operation) { 433 option (google.api.http) = { 434 post: "/v1/{parent=projects/*/locations/*/privateClouds/*}/loggingServers" 435 body: "logging_server" 436 }; 437 option (google.api.method_signature) = 438 "parent,logging_server,logging_server_id"; 439 option (google.longrunning.operation_info) = { 440 response_type: "LoggingServer" 441 metadata_type: "OperationMetadata" 442 }; 443 } 444 445 // Updates the parameters of a single logging server. 446 // Only fields specified in `update_mask` are applied. 447 rpc UpdateLoggingServer(UpdateLoggingServerRequest) 448 returns (google.longrunning.Operation) { 449 option (google.api.http) = { 450 patch: "/v1/{logging_server.name=projects/*/locations/*/privateClouds/*/loggingServers/*}" 451 body: "logging_server" 452 }; 453 option (google.api.method_signature) = "logging_server,update_mask"; 454 option (google.longrunning.operation_info) = { 455 response_type: "LoggingServer" 456 metadata_type: "OperationMetadata" 457 }; 458 } 459 460 // Deletes a single logging server. 461 rpc DeleteLoggingServer(DeleteLoggingServerRequest) 462 returns (google.longrunning.Operation) { 463 option (google.api.http) = { 464 delete: "/v1/{name=projects/*/locations/*/privateClouds/*/loggingServers/*}" 465 }; 466 option (google.api.method_signature) = "name"; 467 option (google.longrunning.operation_info) = { 468 response_type: "google.protobuf.Empty" 469 metadata_type: "OperationMetadata" 470 }; 471 } 472 473 // Lists node types 474 rpc ListNodeTypes(ListNodeTypesRequest) returns (ListNodeTypesResponse) { 475 option (google.api.http) = { 476 get: "/v1/{parent=projects/*/locations/*}/nodeTypes" 477 }; 478 option (google.api.method_signature) = "parent"; 479 } 480 481 // Gets details of a single `NodeType`. 482 rpc GetNodeType(GetNodeTypeRequest) returns (NodeType) { 483 option (google.api.http) = { 484 get: "/v1/{name=projects/*/locations/*/nodeTypes/*}" 485 }; 486 option (google.api.method_signature) = "name"; 487 } 488 489 // Gets details of credentials for NSX appliance. 490 rpc ShowNsxCredentials(ShowNsxCredentialsRequest) returns (Credentials) { 491 option (google.api.http) = { 492 get: "/v1/{private_cloud=projects/*/locations/*/privateClouds/*}:showNsxCredentials" 493 }; 494 option (google.api.method_signature) = "private_cloud"; 495 } 496 497 // Gets details of credentials for Vcenter appliance. 498 rpc ShowVcenterCredentials(ShowVcenterCredentialsRequest) 499 returns (Credentials) { 500 option (google.api.http) = { 501 get: "/v1/{private_cloud=projects/*/locations/*/privateClouds/*}:showVcenterCredentials" 502 }; 503 option (google.api.method_signature) = "private_cloud"; 504 } 505 506 // Resets credentials of the NSX appliance. 507 rpc ResetNsxCredentials(ResetNsxCredentialsRequest) 508 returns (google.longrunning.Operation) { 509 option (google.api.http) = { 510 post: "/v1/{private_cloud=projects/*/locations/*/privateClouds/*}:resetNsxCredentials" 511 body: "*" 512 }; 513 option (google.api.method_signature) = "private_cloud"; 514 option (google.longrunning.operation_info) = { 515 response_type: "PrivateCloud" 516 metadata_type: "OperationMetadata" 517 }; 518 } 519 520 // Resets credentials of the Vcenter appliance. 521 rpc ResetVcenterCredentials(ResetVcenterCredentialsRequest) 522 returns (google.longrunning.Operation) { 523 option (google.api.http) = { 524 post: "/v1/{private_cloud=projects/*/locations/*/privateClouds/*}:resetVcenterCredentials" 525 body: "*" 526 }; 527 option (google.api.method_signature) = "private_cloud"; 528 option (google.longrunning.operation_info) = { 529 response_type: "PrivateCloud" 530 metadata_type: "OperationMetadata" 531 }; 532 } 533 534 // Gets details of the `DnsForwarding` config. 535 rpc GetDnsForwarding(GetDnsForwardingRequest) returns (DnsForwarding) { 536 option (google.api.http) = { 537 get: "/v1/{name=projects/*/locations/*/privateClouds/*/dnsForwarding}" 538 }; 539 option (google.api.method_signature) = "name"; 540 } 541 542 // Updates the parameters of the `DnsForwarding` config, like associated 543 // domains. Only fields specified in `update_mask` are applied. 544 rpc UpdateDnsForwarding(UpdateDnsForwardingRequest) 545 returns (google.longrunning.Operation) { 546 option (google.api.http) = { 547 patch: "/v1/{dns_forwarding.name=projects/*/locations/*/privateClouds/*/dnsForwarding}" 548 body: "dns_forwarding" 549 }; 550 option (google.api.method_signature) = "dns_forwarding,update_mask"; 551 option (google.longrunning.operation_info) = { 552 response_type: "DnsForwarding" 553 metadata_type: "OperationMetadata" 554 }; 555 } 556 557 // Retrieves a `NetworkPeering` resource by its resource name. The resource 558 // contains details of the network peering, such as peered 559 // networks, import and export custom route configurations, and peering state. 560 // NetworkPeering is a global resource and location can only be global. 561 rpc GetNetworkPeering(GetNetworkPeeringRequest) returns (NetworkPeering) { 562 option (google.api.http) = { 563 get: "/v1/{name=projects/*/locations/*/networkPeerings/*}" 564 }; 565 option (google.api.method_signature) = "name"; 566 } 567 568 // Lists `NetworkPeering` resources in a given project. NetworkPeering is a 569 // global resource and location can only be global. 570 rpc ListNetworkPeerings(ListNetworkPeeringsRequest) 571 returns (ListNetworkPeeringsResponse) { 572 option (google.api.http) = { 573 get: "/v1/{parent=projects/*/locations/*}/networkPeerings" 574 }; 575 option (google.api.method_signature) = "parent"; 576 } 577 578 // Creates a new network peering between the peer network and VMware Engine 579 // network provided in a `NetworkPeering` resource. NetworkPeering is a 580 // global resource and location can only be global. 581 rpc CreateNetworkPeering(CreateNetworkPeeringRequest) 582 returns (google.longrunning.Operation) { 583 option (google.api.http) = { 584 post: "/v1/{parent=projects/*/locations/*}/networkPeerings" 585 body: "network_peering" 586 }; 587 option (google.api.method_signature) = 588 "parent,network_peering,network_peering_id"; 589 option (google.longrunning.operation_info) = { 590 response_type: "NetworkPeering" 591 metadata_type: "OperationMetadata" 592 }; 593 } 594 595 // Deletes a `NetworkPeering` resource. When a network peering is deleted for 596 // a VMware Engine network, the peer network becomes inaccessible to that 597 // VMware Engine network. NetworkPeering is a global resource and location can 598 // only be global. 599 rpc DeleteNetworkPeering(DeleteNetworkPeeringRequest) 600 returns (google.longrunning.Operation) { 601 option (google.api.http) = { 602 delete: "/v1/{name=projects/*/locations/*/networkPeerings/*}" 603 }; 604 option (google.api.method_signature) = "name"; 605 option (google.longrunning.operation_info) = { 606 response_type: "google.protobuf.Empty" 607 metadata_type: "OperationMetadata" 608 }; 609 } 610 611 // Modifies a `NetworkPeering` resource. Only the `description` field can be 612 // updated. Only fields specified in `updateMask` are applied. NetworkPeering 613 // is a global resource and location can only be global. 614 rpc UpdateNetworkPeering(UpdateNetworkPeeringRequest) 615 returns (google.longrunning.Operation) { 616 option (google.api.http) = { 617 patch: "/v1/{network_peering.name=projects/*/locations/*/networkPeerings/*}" 618 body: "network_peering" 619 }; 620 option (google.api.method_signature) = "network_peering,update_mask"; 621 option (google.longrunning.operation_info) = { 622 response_type: "NetworkPeering" 623 metadata_type: "OperationMetadata" 624 }; 625 } 626 627 // Lists the network peering routes exchanged over a peering connection. 628 // NetworkPeering is a global resource and location can only be global. 629 rpc ListPeeringRoutes(ListPeeringRoutesRequest) 630 returns (ListPeeringRoutesResponse) { 631 option (google.api.http) = { 632 get: "/v1/{parent=projects/*/locations/*/networkPeerings/*}/peeringRoutes" 633 }; 634 option (google.api.method_signature) = "parent"; 635 } 636 637 // Creates a new HCX activation key in a given private cloud. 638 rpc CreateHcxActivationKey(CreateHcxActivationKeyRequest) 639 returns (google.longrunning.Operation) { 640 option (google.api.http) = { 641 post: "/v1/{parent=projects/*/locations/*/privateClouds/*}/hcxActivationKeys" 642 body: "hcx_activation_key" 643 }; 644 option (google.api.method_signature) = 645 "parent,hcx_activation_key,hcx_activation_key_id"; 646 option (google.longrunning.operation_info) = { 647 response_type: "HcxActivationKey" 648 metadata_type: "OperationMetadata" 649 }; 650 } 651 652 // Lists `HcxActivationKey` resources in a given private cloud. 653 rpc ListHcxActivationKeys(ListHcxActivationKeysRequest) 654 returns (ListHcxActivationKeysResponse) { 655 option (google.api.http) = { 656 get: "/v1/{parent=projects/*/locations/*/privateClouds/*}/hcxActivationKeys" 657 }; 658 option (google.api.method_signature) = "parent"; 659 } 660 661 // Retrieves a `HcxActivationKey` resource by its resource name. 662 rpc GetHcxActivationKey(GetHcxActivationKeyRequest) 663 returns (HcxActivationKey) { 664 option (google.api.http) = { 665 get: "/v1/{name=projects/*/locations/*/privateClouds/*/hcxActivationKeys/*}" 666 }; 667 option (google.api.method_signature) = "name"; 668 } 669 670 // Retrieves a `NetworkPolicy` resource by its resource name. 671 rpc GetNetworkPolicy(GetNetworkPolicyRequest) returns (NetworkPolicy) { 672 option (google.api.http) = { 673 get: "/v1/{name=projects/*/locations/*/networkPolicies/*}" 674 }; 675 option (google.api.method_signature) = "name"; 676 } 677 678 // Lists `NetworkPolicy` resources in a specified project and location. 679 rpc ListNetworkPolicies(ListNetworkPoliciesRequest) 680 returns (ListNetworkPoliciesResponse) { 681 option (google.api.http) = { 682 get: "/v1/{parent=projects/*/locations/*}/networkPolicies" 683 }; 684 option (google.api.method_signature) = "parent"; 685 } 686 687 // Creates a new network policy in a given VMware Engine network of a 688 // project and location (region). A new network policy cannot be created if 689 // another network policy already exists in the same scope. 690 rpc CreateNetworkPolicy(CreateNetworkPolicyRequest) 691 returns (google.longrunning.Operation) { 692 option (google.api.http) = { 693 post: "/v1/{parent=projects/*/locations/*}/networkPolicies" 694 body: "network_policy" 695 }; 696 option (google.api.method_signature) = 697 "parent,network_policy,network_policy_id"; 698 option (google.longrunning.operation_info) = { 699 response_type: "NetworkPolicy" 700 metadata_type: "OperationMetadata" 701 }; 702 } 703 704 // Modifies a `NetworkPolicy` resource. Only the following fields can be 705 // updated: `internet_access`, `external_ip`, `edge_services_cidr`. 706 // Only fields specified in `updateMask` are applied. When updating a network 707 // policy, the external IP network service can only be disabled if there are 708 // no external IP addresses present in the scope of the policy. Also, a 709 // `NetworkService` cannot be updated when `NetworkService.state` is set 710 // to `RECONCILING`. 711 // 712 // During operation processing, the resource is temporarily in the `ACTIVE` 713 // state before the operation fully completes. For that period of time, you 714 // can't update the resource. Use the operation status to determine when the 715 // processing fully completes. 716 rpc UpdateNetworkPolicy(UpdateNetworkPolicyRequest) 717 returns (google.longrunning.Operation) { 718 option (google.api.http) = { 719 patch: "/v1/{network_policy.name=projects/*/locations/*/networkPolicies/*}" 720 body: "network_policy" 721 }; 722 option (google.api.method_signature) = "network_policy,update_mask"; 723 option (google.longrunning.operation_info) = { 724 response_type: "NetworkPolicy" 725 metadata_type: "OperationMetadata" 726 }; 727 } 728 729 // Deletes a `NetworkPolicy` resource. A network policy cannot be deleted 730 // when `NetworkService.state` is set to `RECONCILING` for either its external 731 // IP or internet access service. 732 rpc DeleteNetworkPolicy(DeleteNetworkPolicyRequest) 733 returns (google.longrunning.Operation) { 734 option (google.api.http) = { 735 delete: "/v1/{name=projects/*/locations/*/networkPolicies/*}" 736 }; 737 option (google.api.method_signature) = "name"; 738 option (google.longrunning.operation_info) = { 739 response_type: "google.protobuf.Empty" 740 metadata_type: "OperationMetadata" 741 }; 742 } 743 744 // Lists Consumer VPCs bound to Management DNS Zone of a given private cloud. 745 rpc ListManagementDnsZoneBindings(ListManagementDnsZoneBindingsRequest) 746 returns (ListManagementDnsZoneBindingsResponse) { 747 option (google.api.http) = { 748 get: "/v1/{parent=projects/*/locations/*/privateClouds/*}/managementDnsZoneBindings" 749 }; 750 option (google.api.method_signature) = "parent"; 751 } 752 753 // Retrieves a 'ManagementDnsZoneBinding' resource by its resource name. 754 rpc GetManagementDnsZoneBinding(GetManagementDnsZoneBindingRequest) 755 returns (ManagementDnsZoneBinding) { 756 option (google.api.http) = { 757 get: "/v1/{name=projects/*/locations/*/privateClouds/*/managementDnsZoneBindings/*}" 758 }; 759 option (google.api.method_signature) = "name"; 760 } 761 762 // Creates a new `ManagementDnsZoneBinding` resource in a private cloud. 763 // This RPC creates the DNS binding and the resource that represents the 764 // DNS binding of the consumer VPC network to the management DNS zone. A 765 // management DNS zone is the Cloud DNS cross-project binding zone that 766 // VMware Engine creates for each private cloud. It contains FQDNs and 767 // corresponding IP addresses for the private cloud's ESXi hosts and 768 // management VM appliances like vCenter and NSX Manager. 769 rpc CreateManagementDnsZoneBinding(CreateManagementDnsZoneBindingRequest) 770 returns (google.longrunning.Operation) { 771 option (google.api.http) = { 772 post: "/v1/{parent=projects/*/locations/*/privateClouds/*}/managementDnsZoneBindings" 773 body: "management_dns_zone_binding" 774 }; 775 option (google.api.method_signature) = 776 "parent,management_dns_zone_binding,management_dns_zone_binding_id"; 777 option (google.longrunning.operation_info) = { 778 response_type: "ManagementDnsZoneBinding" 779 metadata_type: "OperationMetadata" 780 }; 781 } 782 783 // Updates a `ManagementDnsZoneBinding` resource. 784 // Only fields specified in `update_mask` are applied. 785 rpc UpdateManagementDnsZoneBinding(UpdateManagementDnsZoneBindingRequest) 786 returns (google.longrunning.Operation) { 787 option (google.api.http) = { 788 patch: "/v1/{management_dns_zone_binding.name=projects/*/locations/*/privateClouds/*/managementDnsZoneBindings/*}" 789 body: "management_dns_zone_binding" 790 }; 791 option (google.api.method_signature) = 792 "management_dns_zone_binding,update_mask"; 793 option (google.longrunning.operation_info) = { 794 response_type: "ManagementDnsZoneBinding" 795 metadata_type: "OperationMetadata" 796 }; 797 } 798 799 // Deletes a `ManagementDnsZoneBinding` resource. When a management DNS zone 800 // binding is deleted, the corresponding consumer VPC network is no longer 801 // bound to the management DNS zone. 802 rpc DeleteManagementDnsZoneBinding(DeleteManagementDnsZoneBindingRequest) 803 returns (google.longrunning.Operation) { 804 option (google.api.http) = { 805 delete: "/v1/{name=projects/*/locations/*/privateClouds/*/managementDnsZoneBindings/*}" 806 }; 807 option (google.api.method_signature) = "name"; 808 option (google.longrunning.operation_info) = { 809 response_type: "google.protobuf.Empty" 810 metadata_type: "OperationMetadata" 811 }; 812 } 813 814 // Retries to create a `ManagementDnsZoneBinding` resource that is 815 // in failed state. 816 rpc RepairManagementDnsZoneBinding(RepairManagementDnsZoneBindingRequest) 817 returns (google.longrunning.Operation) { 818 option (google.api.http) = { 819 post: "/v1/{name=projects/*/locations/*/privateClouds/*/managementDnsZoneBindings/*}:repair" 820 body: "*" 821 }; 822 option (google.api.method_signature) = "name"; 823 option (google.longrunning.operation_info) = { 824 response_type: "ManagementDnsZoneBinding" 825 metadata_type: "OperationMetadata" 826 }; 827 } 828 829 // Creates a new VMware Engine network that can be used by a private cloud. 830 rpc CreateVmwareEngineNetwork(CreateVmwareEngineNetworkRequest) 831 returns (google.longrunning.Operation) { 832 option (google.api.http) = { 833 post: "/v1/{parent=projects/*/locations/*}/vmwareEngineNetworks" 834 body: "vmware_engine_network" 835 }; 836 option (google.api.method_signature) = 837 "parent,vmware_engine_network,vmware_engine_network_id"; 838 option (google.longrunning.operation_info) = { 839 response_type: "VmwareEngineNetwork" 840 metadata_type: "OperationMetadata" 841 }; 842 } 843 844 // Modifies a VMware Engine network resource. Only the following fields can be 845 // updated: `description`. Only fields specified in `updateMask` are 846 // applied. 847 rpc UpdateVmwareEngineNetwork(UpdateVmwareEngineNetworkRequest) 848 returns (google.longrunning.Operation) { 849 option (google.api.http) = { 850 patch: "/v1/{vmware_engine_network.name=projects/*/locations/*/vmwareEngineNetworks/*}" 851 body: "vmware_engine_network" 852 }; 853 option (google.api.method_signature) = "vmware_engine_network,update_mask"; 854 option (google.longrunning.operation_info) = { 855 response_type: "VmwareEngineNetwork" 856 metadata_type: "OperationMetadata" 857 }; 858 } 859 860 // Deletes a `VmwareEngineNetwork` resource. You can only delete a VMware 861 // Engine network after all resources that refer to it are deleted. For 862 // example, a private cloud, a network peering, and a network policy can all 863 // refer to the same VMware Engine network. 864 rpc DeleteVmwareEngineNetwork(DeleteVmwareEngineNetworkRequest) 865 returns (google.longrunning.Operation) { 866 option (google.api.http) = { 867 delete: "/v1/{name=projects/*/locations/*/vmwareEngineNetworks/*}" 868 }; 869 option (google.api.method_signature) = "name"; 870 option (google.longrunning.operation_info) = { 871 response_type: "google.protobuf.Empty" 872 metadata_type: "OperationMetadata" 873 }; 874 } 875 876 // Retrieves a `VmwareEngineNetwork` resource by its resource name. The 877 // resource contains details of the VMware Engine network, such as its VMware 878 // Engine network type, peered networks in a service project, and state 879 // (for example, `CREATING`, `ACTIVE`, `DELETING`). 880 rpc GetVmwareEngineNetwork(GetVmwareEngineNetworkRequest) 881 returns (VmwareEngineNetwork) { 882 option (google.api.http) = { 883 get: "/v1/{name=projects/*/locations/*/vmwareEngineNetworks/*}" 884 }; 885 option (google.api.method_signature) = "name"; 886 } 887 888 // Lists `VmwareEngineNetwork` resources in a given project and location. 889 rpc ListVmwareEngineNetworks(ListVmwareEngineNetworksRequest) 890 returns (ListVmwareEngineNetworksResponse) { 891 option (google.api.http) = { 892 get: "/v1/{parent=projects/*/locations/*}/vmwareEngineNetworks" 893 }; 894 option (google.api.method_signature) = "parent"; 895 } 896 897 // Creates a new private connection that can be used for accessing private 898 // Clouds. 899 rpc CreatePrivateConnection(CreatePrivateConnectionRequest) 900 returns (google.longrunning.Operation) { 901 option (google.api.http) = { 902 post: "/v1/{parent=projects/*/locations/*}/privateConnections" 903 body: "private_connection" 904 }; 905 option (google.api.method_signature) = 906 "parent,private_connection,private_connection_id"; 907 option (google.longrunning.operation_info) = { 908 response_type: "PrivateConnection" 909 metadata_type: "OperationMetadata" 910 }; 911 } 912 913 // Retrieves a `PrivateConnection` resource by its resource name. The resource 914 // contains details of the private connection, such as connected 915 // network, routing mode and state. 916 rpc GetPrivateConnection(GetPrivateConnectionRequest) 917 returns (PrivateConnection) { 918 option (google.api.http) = { 919 get: "/v1/{name=projects/*/locations/*/privateConnections/*}" 920 }; 921 option (google.api.method_signature) = "name"; 922 } 923 924 // Lists `PrivateConnection` resources in a given project and location. 925 rpc ListPrivateConnections(ListPrivateConnectionsRequest) 926 returns (ListPrivateConnectionsResponse) { 927 option (google.api.http) = { 928 get: "/v1/{parent=projects/*/locations/*}/privateConnections" 929 }; 930 option (google.api.method_signature) = "parent"; 931 } 932 933 // Modifies a `PrivateConnection` resource. Only `description` and 934 // `routing_mode` fields can be updated. Only fields specified in `updateMask` 935 // are applied. 936 rpc UpdatePrivateConnection(UpdatePrivateConnectionRequest) 937 returns (google.longrunning.Operation) { 938 option (google.api.http) = { 939 patch: "/v1/{private_connection.name=projects/*/locations/*/privateConnections/*}" 940 body: "private_connection" 941 }; 942 option (google.api.method_signature) = "private_connection,update_mask"; 943 option (google.longrunning.operation_info) = { 944 response_type: "PrivateConnection" 945 metadata_type: "OperationMetadata" 946 }; 947 } 948 949 // Deletes a `PrivateConnection` resource. When a private connection is 950 // deleted for a VMware Engine network, the connected network becomes 951 // inaccessible to that VMware Engine network. 952 rpc DeletePrivateConnection(DeletePrivateConnectionRequest) 953 returns (google.longrunning.Operation) { 954 option (google.api.http) = { 955 delete: "/v1/{name=projects/*/locations/*/privateConnections/*}" 956 }; 957 option (google.api.method_signature) = "name"; 958 option (google.longrunning.operation_info) = { 959 response_type: "google.protobuf.Empty" 960 metadata_type: "OperationMetadata" 961 }; 962 } 963 964 // Lists the private connection routes exchanged over a peering connection. 965 rpc ListPrivateConnectionPeeringRoutes( 966 ListPrivateConnectionPeeringRoutesRequest) 967 returns (ListPrivateConnectionPeeringRoutesResponse) { 968 option (google.api.http) = { 969 get: "/v1/{parent=projects/*/locations/*/privateConnections/*}/peeringRoutes" 970 }; 971 option (google.api.method_signature) = "parent"; 972 } 973 974 // Grants the bind permission to the customer provided principal(user / 975 // service account) to bind their DNS zone with the intranet VPC associated 976 // with the project. DnsBindPermission is a global resource and location can 977 // only be global. 978 rpc GrantDnsBindPermission(GrantDnsBindPermissionRequest) 979 returns (google.longrunning.Operation) { 980 option (google.api.http) = { 981 post: "/v1/{name=projects/*/locations/*/dnsBindPermission}:grant" 982 body: "*" 983 }; 984 option (google.api.method_signature) = "name,principal"; 985 option (google.longrunning.operation_info) = { 986 response_type: "DnsBindPermission" 987 metadata_type: "OperationMetadata" 988 }; 989 } 990 991 // Gets all the principals having bind permission on the intranet VPC 992 // associated with the consumer project granted by the Grant API. 993 // DnsBindPermission is a global resource and location can only be global. 994 rpc GetDnsBindPermission(GetDnsBindPermissionRequest) 995 returns (DnsBindPermission) { 996 option (google.api.http) = { 997 get: "/v1/{name=projects/*/locations/*/dnsBindPermission}" 998 }; 999 option (google.api.method_signature) = "name"; 1000 } 1001 1002 // Revokes the bind permission from the customer provided principal(user / 1003 // service account) on the intranet VPC associated with the consumer project. 1004 // DnsBindPermission is a global resource and location can only be global. 1005 rpc RevokeDnsBindPermission(RevokeDnsBindPermissionRequest) 1006 returns (google.longrunning.Operation) { 1007 option (google.api.http) = { 1008 post: "/v1/{name=projects/*/locations/*/dnsBindPermission}:revoke" 1009 body: "*" 1010 }; 1011 option (google.api.method_signature) = "name,principal"; 1012 option (google.longrunning.operation_info) = { 1013 response_type: "DnsBindPermission" 1014 metadata_type: "OperationMetadata" 1015 }; 1016 } 1017} 1018 1019// Request message for 1020// [VmwareEngine.ListPrivateClouds][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateClouds] 1021message ListPrivateCloudsRequest { 1022 // Required. The resource name of the private cloud to be queried for 1023 // clusters. Resource names are schemeless URIs that follow the conventions in 1024 // https://cloud.google.com/apis/design/resource_names. 1025 // For example: 1026 // `projects/my-project/locations/us-central1-a` 1027 string parent = 1 [ 1028 (google.api.field_behavior) = REQUIRED, 1029 (google.api.resource_reference) = { 1030 type: "locations.googleapis.com/Location" 1031 } 1032 ]; 1033 1034 // The maximum number of private clouds to return in one page. 1035 // The service may return fewer than this value. 1036 // The maximum value is coerced to 1000. 1037 // The default value of this field is 500. 1038 int32 page_size = 2; 1039 1040 // A page token, received from a previous `ListPrivateClouds` call. 1041 // Provide this to retrieve the subsequent page. 1042 // 1043 // When paginating, all other parameters provided to `ListPrivateClouds` must 1044 // match the call that provided the page token. 1045 string page_token = 3; 1046 1047 // A filter expression that matches resources returned in the response. 1048 // The expression must specify the field name, a comparison operator, and the 1049 // value that you want to use for filtering. The value must be a string, a 1050 // number, or a boolean. The comparison operator must be `=`, `!=`, `>`, or 1051 // `<`. 1052 // 1053 // For example, if you are filtering a list of private clouds, you can exclude 1054 // the ones named `example-pc` by specifying `name != "example-pc"`. 1055 // 1056 // You can also filter nested fields. For example, you could specify 1057 // `networkConfig.managementCidr = "192.168.0.0/24"` to include private clouds 1058 // only if they have a matching address in their network configuration. 1059 // 1060 // To filter on multiple expressions, provide each separate expression within 1061 // parentheses. For example: 1062 // ``` 1063 // (name = "example-pc") 1064 // (createTime > "2021-04-12T08:15:10.40Z") 1065 // ``` 1066 // 1067 // By default, each expression is an `AND` expression. However, you can 1068 // include `AND` and `OR` expressions explicitly. For example: 1069 // ``` 1070 // (name = "private-cloud-1") AND 1071 // (createTime > "2021-04-12T08:15:10.40Z") OR 1072 // (name = "private-cloud-2") 1073 // ``` 1074 string filter = 4; 1075 1076 // Sorts list results by a certain order. By default, returned results are 1077 // ordered by `name` in ascending order. You can also sort results in 1078 // descending order based on the `name` value using `orderBy="name desc"`. 1079 // Currently, only ordering by `name` is supported. 1080 string order_by = 5; 1081} 1082 1083// Response message for 1084// [VmwareEngine.ListPrivateClouds][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateClouds] 1085message ListPrivateCloudsResponse { 1086 // A list of private clouds. 1087 repeated PrivateCloud private_clouds = 1; 1088 1089 // A token, which can be sent as `page_token` to retrieve the next page. 1090 // If this field is omitted, there are no subsequent pages. 1091 string next_page_token = 2; 1092 1093 // Locations that could not be reached when making an aggregated query using 1094 // wildcards. 1095 repeated string unreachable = 3; 1096} 1097 1098// Request message for 1099// [VmwareEngine.GetPrivateCloud][google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateCloud] 1100message GetPrivateCloudRequest { 1101 // Required. The resource name of the private cloud to retrieve. 1102 // Resource names are schemeless URIs that follow the conventions in 1103 // https://cloud.google.com/apis/design/resource_names. 1104 // For example: 1105 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 1106 string name = 1 [ 1107 (google.api.field_behavior) = REQUIRED, 1108 (google.api.resource_reference) = { 1109 type: "vmwareengine.googleapis.com/PrivateCloud" 1110 } 1111 ]; 1112} 1113 1114// Request message for 1115// [VmwareEngine.CreatePrivateCloud][google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateCloud] 1116message CreatePrivateCloudRequest { 1117 // Required. The resource name of the location to create the new 1118 // private cloud in. Resource names are schemeless URIs that follow the 1119 // conventions in https://cloud.google.com/apis/design/resource_names. 1120 // For example: 1121 // `projects/my-project/locations/us-central1-a` 1122 string parent = 1 [ 1123 (google.api.field_behavior) = REQUIRED, 1124 (google.api.resource_reference) = { 1125 type: "locations.googleapis.com/Location" 1126 } 1127 ]; 1128 1129 // Required. The user-provided identifier of the private cloud to be created. 1130 // This identifier must be unique among each `PrivateCloud` within the parent 1131 // and becomes the final token in the name URI. 1132 // The identifier must meet the following requirements: 1133 // 1134 // * Only contains 1-63 alphanumeric characters and hyphens 1135 // * Begins with an alphabetical character 1136 // * Ends with a non-hyphen character 1137 // * Not formatted as a UUID 1138 // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) 1139 // (section 3.5) 1140 string private_cloud_id = 2 [(google.api.field_behavior) = REQUIRED]; 1141 1142 // Required. The initial description of the new private cloud. 1143 PrivateCloud private_cloud = 3 [(google.api.field_behavior) = REQUIRED]; 1144 1145 // Optional. The request ID must be a valid UUID with the exception that zero 1146 // UUID is not supported (00000000-0000-0000-0000-000000000000). 1147 string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; 1148 1149 // Optional. True if you want the request to be validated and not executed; 1150 // false otherwise. 1151 bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL]; 1152} 1153 1154// Request message for 1155// [VmwareEngine.UpdatePrivateCloud][google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateCloud] 1156message UpdatePrivateCloudRequest { 1157 // Required. Private cloud description. 1158 PrivateCloud private_cloud = 1 [(google.api.field_behavior) = REQUIRED]; 1159 1160 // Required. Field mask is used to specify the fields to be overwritten in the 1161 // `PrivateCloud` resource by the update. The fields specified in `updateMask` 1162 // are relative to the resource, not the full request. A field will be 1163 // overwritten if it is in the mask. If the user does not provide a mask then 1164 // all fields will be overwritten. 1165 google.protobuf.FieldMask update_mask = 2 1166 [(google.api.field_behavior) = REQUIRED]; 1167 1168 // Optional. The request ID must be a valid UUID with the exception that zero 1169 // UUID is not supported (00000000-0000-0000-0000-000000000000). 1170 string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 1171} 1172 1173// Request message for 1174// [VmwareEngine.DeletePrivateCloud][google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateCloud] 1175message DeletePrivateCloudRequest { 1176 // Required. The resource name of the private cloud to delete. 1177 // Resource names are schemeless URIs that follow the conventions in 1178 // https://cloud.google.com/apis/design/resource_names. 1179 // For example: 1180 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 1181 string name = 1 [ 1182 (google.api.field_behavior) = REQUIRED, 1183 (google.api.resource_reference) = { 1184 type: "vmwareengine.googleapis.com/PrivateCloud" 1185 } 1186 ]; 1187 1188 // Optional. The request ID must be a valid UUID with the exception that zero 1189 // UUID is not supported (00000000-0000-0000-0000-000000000000). 1190 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 1191 1192 // Optional. If set to true, cascade delete is enabled and all children of 1193 // this private cloud resource are also deleted. When this flag is set to 1194 // false, the private cloud will not be deleted if there are any children 1195 // other than the management cluster. The management cluster is always 1196 // deleted. 1197 bool force = 3 [(google.api.field_behavior) = OPTIONAL]; 1198 1199 // Optional. Time delay of the deletion specified in hours. The default value 1200 // is `3`. Specifying a non-zero value for this field changes the value of 1201 // `PrivateCloud.state` to `DELETED` and sets `expire_time` to the planned 1202 // deletion time. Deletion can be cancelled before `expire_time` elapses using 1203 // [VmwareEngine.UndeletePrivateCloud][google.cloud.vmwareengine.v1.VmwareEngine.UndeletePrivateCloud]. 1204 // Specifying a value of `0` for this field instead begins the deletion 1205 // process and ceases billing immediately. During the final deletion process, 1206 // the value of `PrivateCloud.state` becomes `PURGING`. 1207 optional int32 delay_hours = 4 [(google.api.field_behavior) = OPTIONAL]; 1208} 1209 1210// Request message for 1211// [VmwareEngine.UndeletePrivateCloud][google.cloud.vmwareengine.v1.VmwareEngine.UndeletePrivateCloud] 1212message UndeletePrivateCloudRequest { 1213 // Required. The resource name of the private cloud scheduled for deletion. 1214 // Resource names are schemeless URIs that follow the conventions in 1215 // https://cloud.google.com/apis/design/resource_names. 1216 // For example: 1217 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 1218 string name = 1 [ 1219 (google.api.field_behavior) = REQUIRED, 1220 (google.api.resource_reference) = { 1221 type: "vmwareengine.googleapis.com/PrivateCloud" 1222 } 1223 ]; 1224 1225 // Optional. The request ID must be a valid UUID with the exception that zero 1226 // UUID is not supported (00000000-0000-0000-0000-000000000000). 1227 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 1228} 1229 1230// Request message for 1231// [VmwareEngine.ListClusters][google.cloud.vmwareengine.v1.VmwareEngine.ListClusters] 1232message ListClustersRequest { 1233 // Required. The resource name of the private cloud to query for clusters. 1234 // Resource names are schemeless URIs that follow the conventions in 1235 // https://cloud.google.com/apis/design/resource_names. 1236 // For example: 1237 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 1238 string parent = 1 [ 1239 (google.api.field_behavior) = REQUIRED, 1240 (google.api.resource_reference) = { 1241 type: "vmwareengine.googleapis.com/PrivateCloud" 1242 } 1243 ]; 1244 1245 // The maximum number of clusters to return in one page. 1246 // The service may return fewer than this value. 1247 // The maximum value is coerced to 1000. 1248 // The default value of this field is 500. 1249 int32 page_size = 2; 1250 1251 // A page token, received from a previous `ListClusters` call. 1252 // Provide this to retrieve the subsequent page. 1253 // 1254 // When paginating, all other parameters provided to `ListClusters` 1255 // must match the call that provided the page token. 1256 string page_token = 3; 1257 1258 // 1259 // To filter on multiple expressions, provide each separate expression within 1260 // parentheses. For example: 1261 // ``` 1262 // (name = "example-cluster") 1263 // (nodeCount = "3") 1264 // ``` 1265 // 1266 // By default, each expression is an `AND` expression. However, you can 1267 // include `AND` and `OR` expressions explicitly. For example: 1268 // ``` 1269 // (name = "example-cluster-1") AND 1270 // (createTime > "2021-04-12T08:15:10.40Z") OR 1271 // (name = "example-cluster-2") 1272 // ``` 1273 string filter = 4; 1274 1275 // Sorts list results by a certain order. By default, returned results are 1276 // ordered by `name` in ascending order. You can also sort results in 1277 // descending order based on the `name` value using `orderBy="name desc"`. 1278 // Currently, only ordering by `name` is supported. 1279 string order_by = 5; 1280} 1281 1282// Response message for 1283// [VmwareEngine.ListClusters][google.cloud.vmwareengine.v1.VmwareEngine.ListClusters] 1284message ListClustersResponse { 1285 // A list of private cloud clusters. 1286 repeated Cluster clusters = 1; 1287 1288 // A token, which can be sent as `page_token` to retrieve the next page. 1289 // If this field is omitted, there are no subsequent pages. 1290 string next_page_token = 2; 1291 1292 // Locations that could not be reached when making an aggregated query using 1293 // wildcards. 1294 repeated string unreachable = 3; 1295} 1296 1297// Request message for 1298// [VmwareEngine.GetCluster][google.cloud.vmwareengine.v1.VmwareEngine.GetCluster] 1299message GetClusterRequest { 1300 // Required. The cluster resource name to retrieve. 1301 // Resource names are schemeless URIs that follow the conventions in 1302 // https://cloud.google.com/apis/design/resource_names. 1303 // For example: 1304 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster` 1305 string name = 1 [ 1306 (google.api.field_behavior) = REQUIRED, 1307 (google.api.resource_reference) = { 1308 type: "vmwareengine.googleapis.com/Cluster" 1309 } 1310 ]; 1311} 1312 1313// Request message for 1314// [VmwareEngine.CreateCluster][google.cloud.vmwareengine.v1.VmwareEngine.CreateCluster] 1315message CreateClusterRequest { 1316 // Required. The resource name of the private cloud to create a new cluster 1317 // in. Resource names are schemeless URIs that follow the conventions in 1318 // https://cloud.google.com/apis/design/resource_names. 1319 // For example: 1320 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 1321 string parent = 1 [ 1322 (google.api.field_behavior) = REQUIRED, 1323 (google.api.resource_reference) = { 1324 type: "vmwareengine.googleapis.com/PrivateCloud" 1325 } 1326 ]; 1327 1328 // Required. The user-provided identifier of the new `Cluster`. 1329 // This identifier must be unique among clusters within the parent and becomes 1330 // the final token in the name URI. 1331 // The identifier must meet the following requirements: 1332 // 1333 // * Only contains 1-63 alphanumeric characters and hyphens 1334 // * Begins with an alphabetical character 1335 // * Ends with a non-hyphen character 1336 // * Not formatted as a UUID 1337 // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) 1338 // (section 3.5) 1339 string cluster_id = 2 [(google.api.field_behavior) = REQUIRED]; 1340 1341 // Required. The initial description of the new cluster. 1342 Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED]; 1343 1344 // Optional. The request ID must be a valid UUID with the exception that zero 1345 // UUID is not supported (00000000-0000-0000-0000-000000000000). 1346 string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; 1347 1348 // Optional. True if you want the request to be validated and not executed; 1349 // false otherwise. 1350 bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL]; 1351} 1352 1353// Request message for 1354// [VmwareEngine.UpdateCluster][google.cloud.vmwareengine.v1.VmwareEngine.UpdateCluster] 1355message UpdateClusterRequest { 1356 // Required. Field mask is used to specify the fields to be overwritten in the 1357 // `Cluster` resource by the update. The fields specified in the `updateMask` 1358 // are relative to the resource, not the full request. A field will be 1359 // overwritten if it is in the mask. If the user does not provide a mask then 1360 // all fields will be overwritten. 1361 google.protobuf.FieldMask update_mask = 1 1362 [(google.api.field_behavior) = REQUIRED]; 1363 1364 // Required. The description of the cluster. 1365 Cluster cluster = 2 [(google.api.field_behavior) = REQUIRED]; 1366 1367 // Optional. The request ID must be a valid UUID with the exception that 1368 // zero UUID is not supported (00000000-0000-0000-0000-000000000000). 1369 string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 1370 1371 // Optional. True if you want the request to be validated and not executed; 1372 // false otherwise. 1373 bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; 1374} 1375 1376// Request message for 1377// [VmwareEngine.DeleteCluster][google.cloud.vmwareengine.v1.VmwareEngine.DeleteCluster] 1378message DeleteClusterRequest { 1379 // Required. The resource name of the cluster to delete. 1380 // Resource names are schemeless URIs that follow the conventions in 1381 // https://cloud.google.com/apis/design/resource_names. 1382 // For example: 1383 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster` 1384 string name = 1 [ 1385 (google.api.field_behavior) = REQUIRED, 1386 (google.api.resource_reference) = { 1387 type: "vmwareengine.googleapis.com/Cluster" 1388 } 1389 ]; 1390 1391 // Optional. The request ID must be a valid UUID with the exception that zero 1392 // UUID is not supported (00000000-0000-0000-0000-000000000000). 1393 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 1394} 1395 1396// Request message for 1397// [VmwareEngine.ListNodes][google.cloud.vmwareengine.v1.VmwareEngine.ListNodes] 1398message ListNodesRequest { 1399 // Required. The resource name of the cluster to be queried for nodes. 1400 // Resource names are schemeless URIs that follow the conventions in 1401 // https://cloud.google.com/apis/design/resource_names. 1402 // For example: 1403 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster` 1404 string parent = 1 [ 1405 (google.api.field_behavior) = REQUIRED, 1406 (google.api.resource_reference) = { 1407 type: "vmwareengine.googleapis.com/Cluster" 1408 } 1409 ]; 1410 1411 // The maximum number of nodes to return in one page. 1412 // The service may return fewer than this value. 1413 // The maximum value is coerced to 1000. 1414 // The default value of this field is 500. 1415 int32 page_size = 2; 1416 1417 // A page token, received from a previous `ListNodes` call. 1418 // Provide this to retrieve the subsequent page. 1419 // 1420 // When paginating, all other parameters provided to 1421 // `ListNodes` must match the call that provided the page 1422 // token. 1423 string page_token = 3; 1424} 1425 1426// Response message for 1427// [VmwareEngine.ListNodes][google.cloud.vmwareengine.v1.VmwareEngine.ListNodes] 1428message ListNodesResponse { 1429 // The nodes. 1430 repeated Node nodes = 1; 1431 1432 // A token, which can be sent as `page_token` to retrieve the next page. 1433 // If this field is omitted, there are no subsequent pages. 1434 string next_page_token = 2; 1435} 1436 1437// Request message for 1438// [VmwareEngine.GetNode][google.cloud.vmwareengine.v1.VmwareEngine.GetNode] 1439message GetNodeRequest { 1440 // Required. The resource name of the node to retrieve. 1441 // For example: 1442 // `projects/{project}/locations/{location}/privateClouds/{private_cloud}/clusters/{cluster}/nodes/{node}` 1443 string name = 1 [ 1444 (google.api.field_behavior) = REQUIRED, 1445 (google.api.resource_reference) = { 1446 type: "vmwareengine.googleapis.com/Node" 1447 } 1448 ]; 1449} 1450 1451// Request message for 1452// [VmwareEngine.ListExternalAddresses][google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAddresses] 1453message ListExternalAddressesRequest { 1454 // Required. The resource name of the private cloud to be queried for 1455 // external IP addresses. 1456 // Resource names are schemeless URIs that follow the conventions in 1457 // https://cloud.google.com/apis/design/resource_names. 1458 // For example: 1459 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 1460 string parent = 1 [ 1461 (google.api.field_behavior) = REQUIRED, 1462 (google.api.resource_reference) = { 1463 type: "vmwareengine.googleapis.com/PrivateCloud" 1464 } 1465 ]; 1466 1467 // The maximum number of external IP addresses to return in one page. 1468 // The service may return fewer than this value. 1469 // The maximum value is coerced to 1000. 1470 // The default value of this field is 500. 1471 int32 page_size = 2; 1472 1473 // A page token, received from a previous `ListExternalAddresses` call. 1474 // Provide this to retrieve the subsequent page. 1475 // 1476 // When paginating, all other parameters provided to 1477 // `ListExternalAddresses` must match the call that provided the page token. 1478 string page_token = 3; 1479 1480 // A filter expression that matches resources returned in the response. 1481 // The expression must specify the field name, a comparison 1482 // operator, and the value that you want to use for filtering. The value 1483 // must be a string, a number, or a boolean. The comparison operator 1484 // must be `=`, `!=`, `>`, or `<`. 1485 // 1486 // For example, if you are filtering a list of IP addresses, you can 1487 // exclude the ones named `example-ip` by specifying 1488 // `name != "example-ip"`. 1489 // 1490 // To filter on multiple expressions, provide each separate expression within 1491 // parentheses. For example: 1492 // ``` 1493 // (name = "example-ip") 1494 // (createTime > "2021-04-12T08:15:10.40Z") 1495 // ``` 1496 // 1497 // By default, each expression is an `AND` expression. However, you 1498 // can include `AND` and `OR` expressions explicitly. 1499 // For example: 1500 // ``` 1501 // (name = "example-ip-1") AND 1502 // (createTime > "2021-04-12T08:15:10.40Z") OR 1503 // (name = "example-ip-2") 1504 // ``` 1505 string filter = 4; 1506 1507 // Sorts list results by a certain order. By default, returned results 1508 // are ordered by `name` in ascending order. 1509 // You can also sort results in descending order based on the `name` value 1510 // using `orderBy="name desc"`. 1511 // Currently, only ordering by `name` is supported. 1512 string order_by = 5; 1513} 1514 1515// Response message for 1516// [VmwareEngine.ListExternalAddresses][google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAddresses] 1517message ListExternalAddressesResponse { 1518 // A list of external IP addresses. 1519 repeated ExternalAddress external_addresses = 1; 1520 1521 // A token, which can be sent as `page_token` to retrieve the next page. 1522 // If this field is omitted, there are no subsequent pages. 1523 string next_page_token = 2; 1524 1525 // Locations that could not be reached when making an aggregated query using 1526 // wildcards. 1527 repeated string unreachable = 3; 1528} 1529 1530// Request message for 1531// [VmwareEngine.FetchNetworkPolicyExternalAddresses][google.cloud.vmwareengine.v1.VmwareEngine.FetchNetworkPolicyExternalAddresses] 1532message FetchNetworkPolicyExternalAddressesRequest { 1533 // Required. The resource name of the network policy to query for assigned 1534 // external IP addresses. Resource names are schemeless URIs that follow the 1535 // conventions in https://cloud.google.com/apis/design/resource_names. For 1536 // example: 1537 // `projects/my-project/locations/us-central1/networkPolicies/my-policy` 1538 string network_policy = 1 [ 1539 (google.api.field_behavior) = REQUIRED, 1540 (google.api.resource_reference) = { 1541 type: "vmwareengine.googleapis.com/NetworkPolicy" 1542 } 1543 ]; 1544 1545 // The maximum number of external IP addresses to return in one page. 1546 // The service may return fewer than this value. 1547 // The maximum value is coerced to 1000. 1548 // The default value of this field is 500. 1549 int32 page_size = 2; 1550 1551 // A page token, received from a previous 1552 // `FetchNetworkPolicyExternalAddresses` call. Provide this to retrieve the 1553 // subsequent page. 1554 // 1555 // When paginating, all parameters provided to 1556 // `FetchNetworkPolicyExternalAddresses`, except for `page_size` and 1557 // `page_token`, must match the call that provided the page token. 1558 string page_token = 3; 1559} 1560 1561// Response message for 1562// [VmwareEngine.FetchNetworkPolicyExternalAddresses][google.cloud.vmwareengine.v1.VmwareEngine.FetchNetworkPolicyExternalAddresses] 1563message FetchNetworkPolicyExternalAddressesResponse { 1564 // A list of external IP addresses assigned to VMware workload VMs within the 1565 // scope of the given network policy. 1566 repeated ExternalAddress external_addresses = 1; 1567 1568 // A token, which can be sent as `page_token` to retrieve the next page. 1569 // If this field is omitted, there are no subsequent pages. 1570 string next_page_token = 2; 1571} 1572 1573// Request message for 1574// [VmwareEngine.GetExternalAddress][google.cloud.vmwareengine.v1.VmwareEngine.GetExternalAddress] 1575message GetExternalAddressRequest { 1576 // Required. The resource name of the external IP address to retrieve. 1577 // Resource names are schemeless URIs that follow the conventions in 1578 // https://cloud.google.com/apis/design/resource_names. 1579 // For example: 1580 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-ip` 1581 string name = 1 [ 1582 (google.api.field_behavior) = REQUIRED, 1583 (google.api.resource_reference) = { 1584 type: "vmwareengine.googleapis.com/ExternalAddress" 1585 } 1586 ]; 1587} 1588 1589// Request message for 1590// [VmwareEngine.CreateExternalAddress][google.cloud.vmwareengine.v1.VmwareEngine.CreateExternalAddress] 1591message CreateExternalAddressRequest { 1592 // Required. The resource name of the private cloud 1593 // to create a new external IP address in. 1594 // Resource names are schemeless URIs that follow the conventions in 1595 // https://cloud.google.com/apis/design/resource_names. 1596 // For example: 1597 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 1598 string parent = 1 [ 1599 (google.api.field_behavior) = REQUIRED, 1600 (google.api.resource_reference) = { 1601 type: "vmwareengine.googleapis.com/PrivateCloud" 1602 } 1603 ]; 1604 1605 // Required. The initial description of a new external IP address. 1606 ExternalAddress external_address = 2 [(google.api.field_behavior) = REQUIRED]; 1607 1608 // Required. The user-provided identifier of the `ExternalAddress` to be 1609 // created. This identifier must be unique among `ExternalAddress` resources 1610 // within the parent and becomes the final token in the name URI. The 1611 // identifier must meet the following requirements: 1612 // 1613 // * Only contains 1-63 alphanumeric characters and hyphens 1614 // * Begins with an alphabetical character 1615 // * Ends with a non-hyphen character 1616 // * Not formatted as a UUID 1617 // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) 1618 // (section 3.5) 1619 string external_address_id = 3 [(google.api.field_behavior) = REQUIRED]; 1620 1621 // Optional. A request ID to identify requests. Specify a unique request ID 1622 // so that if you must retry your request, the server will know to ignore 1623 // the request if it has already been completed. The server guarantees that a 1624 // request doesn't result in creation of duplicate commitments for at least 60 1625 // minutes. 1626 // 1627 // For example, consider a situation where you make an initial request and the 1628 // request times out. If you make the request again with the same request ID, 1629 // the server can check if the original operation with the same request ID was 1630 // received, and if so, will ignore the second request. This prevents clients 1631 // from accidentally creating duplicate commitments. 1632 // 1633 // The request ID must be a valid UUID with the exception that zero UUID is 1634 // not supported (00000000-0000-0000-0000-000000000000). 1635 string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; 1636} 1637 1638// Request message for 1639// [VmwareEngine.UpdateExternalAddress][google.cloud.vmwareengine.v1.VmwareEngine.UpdateExternalAddress] 1640message UpdateExternalAddressRequest { 1641 // Required. Field mask is used to specify the fields to be overwritten in the 1642 // `ExternalAddress` resource by the update. 1643 // The fields specified in the `update_mask` are relative to the resource, not 1644 // the full request. A field will be overwritten if it is in the mask. If the 1645 // user does not provide a mask then all fields will be overwritten. 1646 google.protobuf.FieldMask update_mask = 1 1647 [(google.api.field_behavior) = REQUIRED]; 1648 1649 // Required. External IP address description. 1650 ExternalAddress external_address = 2 [(google.api.field_behavior) = REQUIRED]; 1651 1652 // Optional. A request ID to identify requests. Specify a unique request ID 1653 // so that if you must retry your request, the server will know to ignore 1654 // the request if it has already been completed. The server guarantees that a 1655 // request doesn't result in creation of duplicate commitments for at least 60 1656 // minutes. 1657 // 1658 // For example, consider a situation where you make an initial request and the 1659 // request times out. If you make the request again with the same request ID, 1660 // the server can check if the original operation with the same request ID was 1661 // received, and if so, will ignore the second request. This prevents clients 1662 // from accidentally creating duplicate commitments. 1663 // 1664 // The request ID must be a valid UUID with the exception that zero UUID is 1665 // not supported (00000000-0000-0000-0000-000000000000). 1666 string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 1667} 1668 1669// Request message for 1670// [VmwareEngine.DeleteExternalAddress][google.cloud.vmwareengine.v1.VmwareEngine.DeleteExternalAddress] 1671message DeleteExternalAddressRequest { 1672 // Required. The resource name of the external IP address to delete. 1673 // Resource names are schemeless URIs that follow the conventions in 1674 // https://cloud.google.com/apis/design/resource_names. 1675 // For example: 1676 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-ip` 1677 string name = 1 [ 1678 (google.api.field_behavior) = REQUIRED, 1679 (google.api.resource_reference) = { 1680 type: "vmwareengine.googleapis.com/ExternalAddress" 1681 } 1682 ]; 1683 1684 // Optional. A request ID to identify requests. Specify a unique request ID 1685 // so that if you must retry your request, the server will know to ignore 1686 // the request if it has already been completed. The server guarantees that a 1687 // request doesn't result in creation of duplicate commitments for at least 60 1688 // minutes. 1689 // 1690 // For example, consider a situation where you make an initial request and the 1691 // request times out. If you make the request again with the same request 1692 // ID, the server can check if the original operation with the same request ID 1693 // was received, and if so, will ignore the second request. This prevents 1694 // clients from accidentally creating duplicate commitments. 1695 // 1696 // The request ID must be a valid UUID with the exception that zero UUID is 1697 // not supported (00000000-0000-0000-0000-000000000000). 1698 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 1699} 1700 1701// Request message for 1702// [VmwareEngine.ListSubnets][google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets] 1703message ListSubnetsRequest { 1704 // Required. The resource name of the private cloud to be queried for 1705 // subnets. 1706 // Resource names are schemeless URIs that follow the conventions in 1707 // https://cloud.google.com/apis/design/resource_names. 1708 // For example: 1709 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 1710 string parent = 1 [ 1711 (google.api.field_behavior) = REQUIRED, 1712 (google.api.resource_reference) = { 1713 type: "vmwareengine.googleapis.com/PrivateCloud" 1714 } 1715 ]; 1716 1717 // The maximum number of subnets to return in one page. 1718 // The service may return fewer than this value. 1719 // The maximum value is coerced to 1000. 1720 // The default value of this field is 500. 1721 int32 page_size = 2; 1722 1723 // A page token, received from a previous `ListSubnetsRequest` call. 1724 // Provide this to retrieve the subsequent page. 1725 // 1726 // When paginating, all other parameters provided to 1727 // `ListSubnetsRequest` must match the call that provided the page token. 1728 string page_token = 3; 1729} 1730 1731// Response message for 1732// [VmwareEngine.ListSubnets][google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets] 1733message ListSubnetsResponse { 1734 // A list of subnets. 1735 repeated Subnet subnets = 1; 1736 1737 // A token, which can be sent as `page_token` to retrieve the next page. 1738 // If this field is omitted, there are no subsequent pages. 1739 string next_page_token = 2; 1740 1741 // Locations that could not be reached when making an aggregated query using 1742 // wildcards. 1743 repeated string unreachable = 3; 1744} 1745 1746// Request message for 1747// [VmwareEngine.GetSubnet][google.cloud.vmwareengine.v1.VmwareEngine.GetSubnet] 1748message GetSubnetRequest { 1749 // Required. The resource name of the subnet to retrieve. 1750 // Resource names are schemeless URIs that follow the conventions in 1751 // https://cloud.google.com/apis/design/resource_names. 1752 // For example: 1753 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet` 1754 string name = 1 [ 1755 (google.api.field_behavior) = REQUIRED, 1756 (google.api.resource_reference) = { 1757 type: "vmwareengine.googleapis.com/Subnet" 1758 } 1759 ]; 1760} 1761 1762// Request message for 1763// [VmwareEngine.UpdateSubnet][google.cloud.vmwareengine.v1.VmwareEngine.UpdateSubnet] 1764message UpdateSubnetRequest { 1765 // Required. Field mask is used to specify the fields to be overwritten in the 1766 // `Subnet` resource by the update. 1767 // The fields specified in the `update_mask` are relative to the resource, not 1768 // the full request. A field will be overwritten if it is in the mask. If the 1769 // user does not provide a mask then all fields will be overwritten. 1770 google.protobuf.FieldMask update_mask = 1 1771 [(google.api.field_behavior) = REQUIRED]; 1772 1773 // Required. Subnet description. 1774 Subnet subnet = 2 [(google.api.field_behavior) = REQUIRED]; 1775} 1776 1777// Request message for 1778// [VmwareEngine.ListExternalAccessRules][google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAccessRules] 1779message ListExternalAccessRulesRequest { 1780 // Required. The resource name of the network policy to query for external 1781 // access firewall rules. Resource names are schemeless URIs that follow the 1782 // conventions in https://cloud.google.com/apis/design/resource_names. For 1783 // example: 1784 // `projects/my-project/locations/us-central1/networkPolicies/my-policy` 1785 string parent = 1 [ 1786 (google.api.field_behavior) = REQUIRED, 1787 (google.api.resource_reference) = { 1788 type: "vmwareengine.googleapis.com/NetworkPolicy" 1789 } 1790 ]; 1791 1792 // The maximum number of external access rules to return in one page. 1793 // The service may return fewer than this value. 1794 // The maximum value is coerced to 1000. 1795 // The default value of this field is 500. 1796 int32 page_size = 2; 1797 1798 // A page token, received from a previous `ListExternalAccessRulesRequest` 1799 // call. Provide this to retrieve the subsequent page. 1800 // 1801 // When paginating, all other parameters provided to 1802 // `ListExternalAccessRulesRequest` must match the call that provided the page 1803 // token. 1804 string page_token = 3; 1805 1806 // A filter expression that matches resources returned in the response. 1807 // The expression must specify the field name, a comparison 1808 // operator, and the value that you want to use for filtering. The value 1809 // must be a string, a number, or a boolean. The comparison operator 1810 // must be `=`, `!=`, `>`, or `<`. 1811 // 1812 // For example, if you are filtering a list of external access rules, you can 1813 // exclude the ones named `example-rule` by specifying 1814 // `name != "example-rule"`. 1815 // 1816 // To filter on multiple expressions, provide each separate expression within 1817 // parentheses. For example: 1818 // ``` 1819 // (name = "example-rule") 1820 // (createTime > "2021-04-12T08:15:10.40Z") 1821 // ``` 1822 // 1823 // By default, each expression is an `AND` expression. However, you 1824 // can include `AND` and `OR` expressions explicitly. 1825 // For example: 1826 // ``` 1827 // (name = "example-rule-1") AND 1828 // (createTime > "2021-04-12T08:15:10.40Z") OR 1829 // (name = "example-rule-2") 1830 // ``` 1831 string filter = 4; 1832 1833 // Sorts list results by a certain order. By default, returned results 1834 // are ordered by `name` in ascending order. 1835 // You can also sort results in descending order based on the `name` value 1836 // using `orderBy="name desc"`. 1837 // Currently, only ordering by `name` is supported. 1838 string order_by = 5; 1839} 1840 1841// Response message for 1842// [VmwareEngine.ListExternalAccessRules][google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAccessRules] 1843message ListExternalAccessRulesResponse { 1844 // A list of external access firewall rules. 1845 repeated ExternalAccessRule external_access_rules = 1; 1846 1847 // A token, which can be sent as `page_token` to retrieve the next page. 1848 // If this field is omitted, there are no subsequent pages. 1849 string next_page_token = 2; 1850 1851 // Locations that could not be reached when making an aggregated query using 1852 // wildcards. 1853 repeated string unreachable = 3; 1854} 1855 1856// Request message for 1857// [VmwareEngine.GetExternalAccessRule][google.cloud.vmwareengine.v1.VmwareEngine.GetExternalAccessRule] 1858message GetExternalAccessRuleRequest { 1859 // Required. The resource name of the external access firewall rule to 1860 // retrieve. Resource names are schemeless URIs that follow the conventions in 1861 // https://cloud.google.com/apis/design/resource_names. 1862 // For example: 1863 // `projects/my-project/locations/us-central1/networkPolicies/my-policy/externalAccessRules/my-rule` 1864 string name = 1 [ 1865 (google.api.field_behavior) = REQUIRED, 1866 (google.api.resource_reference) = { 1867 type: "vmwareengine.googleapis.com/ExternalAccessRule" 1868 } 1869 ]; 1870} 1871 1872// Request message for 1873// [VmwareEngine.CreateExternalAccessRule][google.cloud.vmwareengine.v1.VmwareEngine.CreateExternalAccessRule] 1874message CreateExternalAccessRuleRequest { 1875 // Required. The resource name of the network policy 1876 // to create a new external access firewall rule in. 1877 // Resource names are schemeless URIs that follow the conventions in 1878 // https://cloud.google.com/apis/design/resource_names. 1879 // For example: 1880 // `projects/my-project/locations/us-central1/networkPolicies/my-policy` 1881 string parent = 1 [ 1882 (google.api.field_behavior) = REQUIRED, 1883 (google.api.resource_reference) = { 1884 type: "vmwareengine.googleapis.com/NetworkPolicy" 1885 } 1886 ]; 1887 1888 // Required. The initial description of a new external access rule. 1889 ExternalAccessRule external_access_rule = 2 1890 [(google.api.field_behavior) = REQUIRED]; 1891 1892 // Required. The user-provided identifier of the `ExternalAccessRule` to be 1893 // created. This identifier must be unique among `ExternalAccessRule` 1894 // resources within the parent and becomes the final token in the name URI. 1895 // The identifier must meet the following requirements: 1896 // 1897 // * Only contains 1-63 alphanumeric characters and hyphens 1898 // * Begins with an alphabetical character 1899 // * Ends with a non-hyphen character 1900 // * Not formatted as a UUID 1901 // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) 1902 // (section 3.5) 1903 string external_access_rule_id = 3 [(google.api.field_behavior) = REQUIRED]; 1904 1905 // A request ID to identify requests. Specify a unique request ID 1906 // so that if you must retry your request, the server will know to ignore 1907 // the request if it has already been completed. The server guarantees that a 1908 // request doesn't result in creation of duplicate commitments for at least 60 1909 // minutes. 1910 // 1911 // For example, consider a situation where you make an initial request and the 1912 // request times out. If you make the request again with the same request ID, 1913 // the server can check if the original operation with the same request ID was 1914 // received, and if so, will ignore the second request. This prevents clients 1915 // from accidentally creating duplicate commitments. 1916 // 1917 // The request ID must be a valid UUID with the exception that zero UUID is 1918 // not supported (00000000-0000-0000-0000-000000000000). 1919 string request_id = 4; 1920} 1921 1922// Request message for 1923// [VmwareEngine.UpdateExternalAccessRule][google.cloud.vmwareengine.v1.VmwareEngine.UpdateExternalAccessRule] 1924message UpdateExternalAccessRuleRequest { 1925 // Required. Field mask is used to specify the fields to be overwritten in the 1926 // `ExternalAccessRule` resource by the update. 1927 // The fields specified in the `update_mask` are relative to the resource, not 1928 // the full request. A field will be overwritten if it is in the mask. If the 1929 // user does not provide a mask then all fields will be overwritten. 1930 google.protobuf.FieldMask update_mask = 1 1931 [(google.api.field_behavior) = REQUIRED]; 1932 1933 // Required. Description of the external access rule. 1934 ExternalAccessRule external_access_rule = 2 1935 [(google.api.field_behavior) = REQUIRED]; 1936 1937 // Optional. A request ID to identify requests. Specify a unique request ID 1938 // so that if you must retry your request, the server will know to ignore 1939 // the request if it has already been completed. The server guarantees that a 1940 // request doesn't result in creation of duplicate commitments for at least 60 1941 // minutes. 1942 // 1943 // For example, consider a situation where you make an initial request and the 1944 // request times out. If you make the request again with the same request ID, 1945 // the server can check if the original operation with the same request ID was 1946 // received, and if so, will ignore the second request. This prevents clients 1947 // from accidentally creating duplicate commitments. 1948 // 1949 // The request ID must be a valid UUID with the exception that zero UUID is 1950 // not supported (00000000-0000-0000-0000-000000000000). 1951 string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 1952} 1953 1954// Request message for 1955// [VmwareEngine.DeleteExternalAccessRule][google.cloud.vmwareengine.v1.VmwareEngine.DeleteExternalAccessRule] 1956message DeleteExternalAccessRuleRequest { 1957 // Required. The resource name of the external access firewall rule to delete. 1958 // Resource names are schemeless URIs that follow the conventions in 1959 // https://cloud.google.com/apis/design/resource_names. 1960 // For example: 1961 // `projects/my-project/locations/us-central1/networkPolicies/my-policy/externalAccessRules/my-rule` 1962 string name = 1 [ 1963 (google.api.field_behavior) = REQUIRED, 1964 (google.api.resource_reference) = { 1965 type: "vmwareengine.googleapis.com/ExternalAccessRule" 1966 } 1967 ]; 1968 1969 // Optional. A request ID to identify requests. Specify a unique request ID 1970 // so that if you must retry your request, the server will know to ignore 1971 // the request if it has already been completed. The server guarantees that a 1972 // request doesn't result in creation of duplicate commitments for at least 60 1973 // minutes. 1974 // 1975 // For example, consider a situation where you make an initial request and the 1976 // request times out. If you make the request again with the same request 1977 // ID, the server can check if the original operation with the same request ID 1978 // was received, and if so, will ignore the second request. This prevents 1979 // clients from accidentally creating duplicate commitments. 1980 // 1981 // The request ID must be a valid UUID with the exception that zero UUID is 1982 // not supported (00000000-0000-0000-0000-000000000000). 1983 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 1984} 1985 1986// Request message for 1987// [VmwareEngine.ListLoggingServers][google.cloud.vmwareengine.v1.VmwareEngine.ListLoggingServers] 1988message ListLoggingServersRequest { 1989 // Required. The resource name of the private cloud to be queried for 1990 // logging servers. 1991 // Resource names are schemeless URIs that follow the conventions in 1992 // https://cloud.google.com/apis/design/resource_names. 1993 // For example: 1994 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 1995 string parent = 1 [ 1996 (google.api.field_behavior) = REQUIRED, 1997 (google.api.resource_reference) = { 1998 type: "vmwareengine.googleapis.com/PrivateCloud" 1999 } 2000 ]; 2001 2002 // The maximum number of logging servers to return in one page. 2003 // The service may return fewer than this value. 2004 // The maximum value is coerced to 1000. 2005 // The default value of this field is 500. 2006 int32 page_size = 2; 2007 2008 // A page token, received from a previous `ListLoggingServersRequest` call. 2009 // Provide this to retrieve the subsequent page. 2010 // 2011 // When paginating, all other parameters provided to 2012 // `ListLoggingServersRequest` must match the call that provided the page 2013 // token. 2014 string page_token = 3; 2015 2016 // A filter expression that matches resources returned in the response. 2017 // The expression must specify the field name, a comparison 2018 // operator, and the value that you want to use for filtering. The value 2019 // must be a string, a number, or a boolean. The comparison operator 2020 // must be `=`, `!=`, `>`, or `<`. 2021 // 2022 // For example, if you are filtering a list of logging servers, you can 2023 // exclude the ones named `example-server` by specifying 2024 // `name != "example-server"`. 2025 // 2026 // To filter on multiple expressions, provide each separate expression within 2027 // parentheses. For example: 2028 // ``` 2029 // (name = "example-server") 2030 // (createTime > "2021-04-12T08:15:10.40Z") 2031 // ``` 2032 // 2033 // By default, each expression is an `AND` expression. However, you 2034 // can include `AND` and `OR` expressions explicitly. 2035 // For example: 2036 // ``` 2037 // (name = "example-server-1") AND 2038 // (createTime > "2021-04-12T08:15:10.40Z") OR 2039 // (name = "example-server-2") 2040 // ``` 2041 string filter = 4; 2042 2043 // Sorts list results by a certain order. By default, returned results 2044 // are ordered by `name` in ascending order. 2045 // You can also sort results in descending order based on the `name` value 2046 // using `orderBy="name desc"`. 2047 // Currently, only ordering by `name` is supported. 2048 string order_by = 5; 2049} 2050 2051// Response message for 2052// [VmwareEngine.ListLoggingServers][google.cloud.vmwareengine.v1.VmwareEngine.ListLoggingServers] 2053message ListLoggingServersResponse { 2054 // A list of Logging Servers. 2055 repeated LoggingServer logging_servers = 1; 2056 2057 // A token, which can be send as `page_token` to retrieve the next page. 2058 // If this field is omitted, there are no subsequent pages. 2059 string next_page_token = 2; 2060 2061 // Locations that could not be reached when making an aggregated query using 2062 // wildcards. 2063 repeated string unreachable = 3; 2064} 2065 2066// Request message for 2067// [VmwareEngine.GetLoggingServer][google.cloud.vmwareengine.v1.VmwareEngine.GetLoggingServer] 2068message GetLoggingServerRequest { 2069 // Required. The resource name of the Logging Server to retrieve. 2070 // Resource names are schemeless URIs that follow the conventions in 2071 // https://cloud.google.com/apis/design/resource_names. 2072 // For example: 2073 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/loggingServers/my-logging-server` 2074 string name = 1 [ 2075 (google.api.field_behavior) = REQUIRED, 2076 (google.api.resource_reference) = { 2077 type: "vmwareengine.googleapis.com/LoggingServer" 2078 } 2079 ]; 2080} 2081 2082// Request message for 2083// [VmwareEngine.CreateLoggingServer][google.cloud.vmwareengine.v1.VmwareEngine.CreateLoggingServer] 2084message CreateLoggingServerRequest { 2085 // Required. The resource name of the private cloud 2086 // to create a new Logging Server in. 2087 // Resource names are schemeless URIs that follow the conventions in 2088 // https://cloud.google.com/apis/design/resource_names. 2089 // For example: 2090 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 2091 string parent = 1 [ 2092 (google.api.field_behavior) = REQUIRED, 2093 (google.api.resource_reference) = { 2094 type: "vmwareengine.googleapis.com/PrivateCloud" 2095 } 2096 ]; 2097 2098 // Required. The initial description of a new logging server. 2099 LoggingServer logging_server = 2 [(google.api.field_behavior) = REQUIRED]; 2100 2101 // Required. The user-provided identifier of the `LoggingServer` to be 2102 // created. This identifier must be unique among `LoggingServer` resources 2103 // within the parent and becomes the final token in the name URI. 2104 // The identifier must meet the following requirements: 2105 // 2106 // * Only contains 1-63 alphanumeric characters and hyphens 2107 // * Begins with an alphabetical character 2108 // * Ends with a non-hyphen character 2109 // * Not formatted as a UUID 2110 // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) 2111 // (section 3.5) 2112 string logging_server_id = 3 [(google.api.field_behavior) = REQUIRED]; 2113 2114 // Optional. A request ID to identify requests. Specify a unique request ID 2115 // so that if you must retry your request, the server will know to ignore 2116 // the request if it has already been completed. The server guarantees that a 2117 // request doesn't result in creation of duplicate commitments for at least 60 2118 // minutes. 2119 // 2120 // For example, consider a situation where you make an initial request and the 2121 // request times out. If you make the request again with the same request ID, 2122 // the server can check if original operation with the same request ID was 2123 // received, and if so, will ignore the second request. This prevents clients 2124 // from accidentally creating duplicate commitments. 2125 // 2126 // The request ID must be a valid UUID with the exception that zero UUID is 2127 // not supported (00000000-0000-0000-0000-000000000000). 2128 string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; 2129} 2130 2131// Request message for 2132// [VmwareEngine.UpdateLoggingServer][google.cloud.vmwareengine.v1.VmwareEngine.UpdateLoggingServer] 2133message UpdateLoggingServerRequest { 2134 // Required. Field mask is used to specify the fields to be overwritten in the 2135 // `LoggingServer` resource by the update. 2136 // The fields specified in the `update_mask` are relative to the resource, not 2137 // the full request. A field will be overwritten if it is in the mask. If the 2138 // user does not provide a mask then all fields will be overwritten. 2139 google.protobuf.FieldMask update_mask = 1 2140 [(google.api.field_behavior) = REQUIRED]; 2141 2142 // Required. Logging server description. 2143 LoggingServer logging_server = 2 [(google.api.field_behavior) = REQUIRED]; 2144 2145 // Optional. A request ID to identify requests. Specify a unique request ID 2146 // so that if you must retry your request, the server will know to ignore 2147 // the request if it has already been completed. The server guarantees that a 2148 // request doesn't result in creation of duplicate commitments for at least 60 2149 // minutes. 2150 // 2151 // For example, consider a situation where you make an initial request and the 2152 // request times out. If you make the request again with the same request ID, 2153 // the server can check if original operation with the same request ID was 2154 // received, and if so, will ignore the second request. This prevents clients 2155 // from accidentally creating duplicate commitments. 2156 // 2157 // The request ID must be a valid UUID with the exception that zero UUID is 2158 // not supported (00000000-0000-0000-0000-000000000000). 2159 string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 2160} 2161 2162// Request message for 2163// [VmwareEngine.DeleteLoggingServer][google.cloud.vmwareengine.v1.VmwareEngine.DeleteLoggingServer] 2164message DeleteLoggingServerRequest { 2165 // Required. The resource name of the logging server to delete. 2166 // Resource names are schemeless URIs that follow the conventions in 2167 // https://cloud.google.com/apis/design/resource_names. 2168 // For example: 2169 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/loggingServers/my-logging-server` 2170 string name = 1 [ 2171 (google.api.field_behavior) = REQUIRED, 2172 (google.api.resource_reference) = { 2173 type: "vmwareengine.googleapis.com/LoggingServer" 2174 } 2175 ]; 2176 2177 // Optional. A request ID to identify requests. Specify a unique request ID 2178 // so that if you must retry your request, the server will know to ignore 2179 // the request if it has already been completed. The server guarantees that a 2180 // request doesn't result in creation of duplicate commitments for at least 60 2181 // minutes. 2182 // 2183 // For example, consider a situation where you make an initial request and the 2184 // request times out. If you make the request again with the same request 2185 // ID, the server can check if original operation with the same request ID 2186 // was received, and if so, will ignore the second request. This prevents 2187 // clients from accidentally creating duplicate commitments. 2188 // 2189 // The request ID must be a valid UUID with the exception that zero UUID is 2190 // not supported (00000000-0000-0000-0000-000000000000). 2191 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 2192} 2193 2194// Represents the metadata of the long-running operation. 2195message OperationMetadata { 2196 // Output only. The time the operation was created. 2197 google.protobuf.Timestamp create_time = 1 2198 [(google.api.field_behavior) = OUTPUT_ONLY]; 2199 2200 // Output only. The time the operation finished running. 2201 google.protobuf.Timestamp end_time = 2 2202 [(google.api.field_behavior) = OUTPUT_ONLY]; 2203 2204 // Output only. Server-defined resource path for the target of the operation. 2205 string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 2206 2207 // Output only. Name of the verb executed by the operation. 2208 string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 2209 2210 // Output only. Human-readable status of the operation, if any. 2211 string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; 2212 2213 // Output only. True if the user has requested cancellation 2214 // of the operation; false otherwise. 2215 // Operations that have successfully been cancelled 2216 // have [Operation.error][] value with a 2217 // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to 2218 // `Code.CANCELLED`. 2219 bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 2220 2221 // Output only. API version used to start the operation. 2222 string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; 2223} 2224 2225// Request message for 2226// [VmwareEngine.ListNodeTypes][google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes] 2227message ListNodeTypesRequest { 2228 // Required. The resource name of the location to be queried for node types. 2229 // Resource names are schemeless URIs that follow the conventions in 2230 // https://cloud.google.com/apis/design/resource_names. 2231 // For example: 2232 // `projects/my-project/locations/us-central1-a` 2233 string parent = 1 [ 2234 (google.api.field_behavior) = REQUIRED, 2235 (google.api.resource_reference) = { 2236 type: "locations.googleapis.com/Location" 2237 } 2238 ]; 2239 2240 // The maximum number of node types to return in one page. 2241 // The service may return fewer than this value. 2242 // The maximum value is coerced to 1000. 2243 // The default value of this field is 500. 2244 int32 page_size = 2; 2245 2246 // A page token, received from a previous `ListNodeTypes` call. 2247 // Provide this to retrieve the subsequent page. 2248 // 2249 // When paginating, all other parameters provided to 2250 // `ListNodeTypes` must match the call that provided the page token. 2251 string page_token = 3; 2252 2253 // A filter expression that matches resources returned in the response. 2254 // The expression must specify the field name, a comparison 2255 // operator, and the value that you want to use for filtering. The value 2256 // must be a string, a number, or a boolean. The comparison operator 2257 // must be `=`, `!=`, `>`, or `<`. 2258 // 2259 // For example, if you are filtering a list of node types, you can 2260 // exclude the ones named `standard-72` by specifying 2261 // `name != "standard-72"`. 2262 // 2263 // To filter on multiple expressions, provide each separate expression within 2264 // parentheses. For example: 2265 // ``` 2266 // (name = "standard-72") 2267 // (virtual_cpu_count > 2) 2268 // ``` 2269 // 2270 // By default, each expression is an `AND` expression. However, you 2271 // can include `AND` and `OR` expressions explicitly. 2272 // For example: 2273 // ``` 2274 // (name = "standard-96") AND 2275 // (virtual_cpu_count > 2) OR 2276 // (name = "standard-72") 2277 // ``` 2278 string filter = 4; 2279} 2280 2281// Response message for 2282// [VmwareEngine.ListNodeTypes][google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes] 2283message ListNodeTypesResponse { 2284 // A list of Node Types. 2285 repeated NodeType node_types = 1; 2286 2287 // A token, which can be sent as `page_token` to retrieve the next page. 2288 // If this field is omitted, there are no subsequent pages. 2289 string next_page_token = 2; 2290 2291 // Locations that could not be reached when making an aggregated query using 2292 // wildcards. 2293 repeated string unreachable = 3; 2294} 2295 2296// Request message for 2297// [VmwareEngine.GetNodeType][google.cloud.vmwareengine.v1.VmwareEngine.GetNodeType] 2298message GetNodeTypeRequest { 2299 // Required. The resource name of the node type to retrieve. 2300 // Resource names are schemeless URIs that follow the conventions in 2301 // https://cloud.google.com/apis/design/resource_names. 2302 // For example: 2303 // `projects/my-proj/locations/us-central1-a/nodeTypes/standard-72` 2304 string name = 1 [ 2305 (google.api.field_behavior) = REQUIRED, 2306 (google.api.resource_reference) = { 2307 type: "vmwareengine.googleapis.com/NodeType" 2308 } 2309 ]; 2310} 2311 2312// Request message for 2313// [VmwareEngine.ShowNsxCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ShowNsxCredentials] 2314message ShowNsxCredentialsRequest { 2315 // Required. The resource name of the private cloud 2316 // to be queried for credentials. 2317 // Resource names are schemeless URIs that follow the conventions in 2318 // https://cloud.google.com/apis/design/resource_names. 2319 // For example: 2320 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 2321 string private_cloud = 1 [ 2322 (google.api.field_behavior) = REQUIRED, 2323 (google.api.resource_reference) = { 2324 type: "vmwareengine.googleapis.com/PrivateCloud" 2325 } 2326 ]; 2327} 2328 2329// Request message for 2330// [VmwareEngine.ShowVcenterCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ShowVcenterCredentials] 2331message ShowVcenterCredentialsRequest { 2332 // Required. The resource name of the private cloud 2333 // to be queried for credentials. 2334 // Resource names are schemeless URIs that follow the conventions in 2335 // https://cloud.google.com/apis/design/resource_names. 2336 // For example: 2337 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 2338 string private_cloud = 1 [ 2339 (google.api.field_behavior) = REQUIRED, 2340 (google.api.resource_reference) = { 2341 type: "vmwareengine.googleapis.com/PrivateCloud" 2342 } 2343 ]; 2344 2345 // Optional. The username of the user to be queried for credentials. 2346 // The default value of this field is [email protected]. 2347 // The provided value must be one of the following: 2348 // [email protected], 2349 // [email protected], 2350 // [email protected], 2351 // [email protected], 2352 // [email protected], 2353 // [email protected], 2354 // [email protected]. 2355 string username = 2 [(google.api.field_behavior) = OPTIONAL]; 2356} 2357 2358// Request message for 2359// [VmwareEngine.ResetNsxCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ResetNsxCredentials] 2360message ResetNsxCredentialsRequest { 2361 // Required. The resource name of the private cloud 2362 // to reset credentials for. 2363 // Resource names are schemeless URIs that follow the conventions in 2364 // https://cloud.google.com/apis/design/resource_names. 2365 // For example: 2366 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 2367 string private_cloud = 1 [ 2368 (google.api.field_behavior) = REQUIRED, 2369 (google.api.resource_reference) = { 2370 type: "vmwareengine.googleapis.com/PrivateCloud" 2371 } 2372 ]; 2373 2374 // Optional. A request ID to identify requests. Specify a unique request ID 2375 // so that if you must retry your request, the server will know to ignore 2376 // the request if it has already been completed. The server guarantees that a 2377 // request doesn't result in creation of duplicate commitments for at least 60 2378 // minutes. 2379 // 2380 // For example, consider a situation where you make an initial request and the 2381 // request times out. If you make the request again with the same request 2382 // ID, the server can check if original operation with the same request ID 2383 // was received, and if so, will ignore the second request. This prevents 2384 // clients from accidentally creating duplicate commitments. 2385 // 2386 // The request ID must be a valid UUID with the exception that zero UUID is 2387 // not supported (00000000-0000-0000-0000-000000000000). 2388 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 2389} 2390 2391// Request message for 2392// [VmwareEngine.ResetVcenterCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ResetVcenterCredentials] 2393message ResetVcenterCredentialsRequest { 2394 // Required. The resource name of the private cloud 2395 // to reset credentials for. 2396 // Resource names are schemeless URIs that follow the conventions in 2397 // https://cloud.google.com/apis/design/resource_names. 2398 // For example: 2399 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 2400 string private_cloud = 1 [ 2401 (google.api.field_behavior) = REQUIRED, 2402 (google.api.resource_reference) = { 2403 type: "vmwareengine.googleapis.com/PrivateCloud" 2404 } 2405 ]; 2406 2407 // Optional. A request ID to identify requests. Specify a unique request ID 2408 // so that if you must retry your request, the server will know to ignore 2409 // the request if it has already been completed. The server guarantees that a 2410 // request doesn't result in creation of duplicate commitments for at least 60 2411 // minutes. 2412 // 2413 // For example, consider a situation where you make an initial request and the 2414 // request times out. If you make the request again with the same request 2415 // ID, the server can check if original operation with the same request ID 2416 // was received, and if so, will ignore the second request. This prevents 2417 // clients from accidentally creating duplicate commitments. 2418 // 2419 // The request ID must be a valid UUID with the exception that zero UUID is 2420 // not supported (00000000-0000-0000-0000-000000000000). 2421 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 2422 2423 // Optional. The username of the user to be to reset the credentials. 2424 // The default value of this field is [email protected]. 2425 // The provided value should be one of the following: 2426 // [email protected], 2427 // [email protected], 2428 // [email protected], 2429 // [email protected], 2430 // [email protected], 2431 // [email protected]. 2432 string username = 3 [(google.api.field_behavior) = OPTIONAL]; 2433} 2434 2435// Response message for 2436// [VmwareEngine.ListHcxActivationKeys][google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys] 2437message ListHcxActivationKeysResponse { 2438 // List of HCX activation keys. 2439 repeated HcxActivationKey hcx_activation_keys = 1; 2440 2441 // A token, which can be sent as `page_token` to retrieve the next page. 2442 // If this field is omitted, there are no subsequent pages. 2443 string next_page_token = 2; 2444 2445 // Locations that could not be reached when making an aggregated query using 2446 // wildcards. 2447 repeated string unreachable = 3; 2448} 2449 2450// Request message for 2451// [VmwareEngine.ListHcxActivationKeys][google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys] 2452message ListHcxActivationKeysRequest { 2453 // Required. The resource name of the private cloud 2454 // to be queried for HCX activation keys. 2455 // Resource names are schemeless URIs that follow the conventions in 2456 // https://cloud.google.com/apis/design/resource_names. 2457 // For example: 2458 // `projects/my-project/locations/us-central1/privateClouds/my-cloud` 2459 string parent = 1 [ 2460 (google.api.field_behavior) = REQUIRED, 2461 (google.api.resource_reference) = { 2462 type: "vmwareengine.googleapis.com/PrivateCloud" 2463 } 2464 ]; 2465 2466 // The maximum number of HCX activation keys to return in one page. 2467 // The service may return fewer than this value. 2468 // The maximum value is coerced to 1000. 2469 // The default value of this field is 500. 2470 int32 page_size = 2; 2471 2472 // A page token, received from a previous `ListHcxActivationKeys` call. 2473 // Provide this to retrieve the subsequent page. 2474 // 2475 // When paginating, all other parameters provided to 2476 // `ListHcxActivationKeys` must match the call that provided the page 2477 // token. 2478 string page_token = 3; 2479} 2480 2481// Request message for [VmwareEngine.GetHcxActivationKeys][] 2482message GetHcxActivationKeyRequest { 2483 // Required. The resource name of the HCX activation key to retrieve. 2484 // Resource names are schemeless URIs that follow the conventions in 2485 // https://cloud.google.com/apis/design/resource_names. 2486 // For example: 2487 // `projects/my-project/locations/us-central1/privateClouds/my-cloud/hcxActivationKeys/my-key` 2488 string name = 1 [ 2489 (google.api.field_behavior) = REQUIRED, 2490 (google.api.resource_reference) = { 2491 type: "vmwareengine.googleapis.com/HcxActivationKey" 2492 } 2493 ]; 2494} 2495 2496// Request message for 2497// [VmwareEngine.CreateHcxActivationKey][google.cloud.vmwareengine.v1.VmwareEngine.CreateHcxActivationKey] 2498message CreateHcxActivationKeyRequest { 2499 // Required. The resource name of the private cloud to create the key for. 2500 // Resource names are schemeless URIs that follow the conventions in 2501 // https://cloud.google.com/apis/design/resource_names. 2502 // For example: 2503 // `projects/my-project/locations/us-central1/privateClouds/my-cloud` 2504 string parent = 1 [ 2505 (google.api.field_behavior) = REQUIRED, 2506 (google.api.resource_reference) = { 2507 type: "vmwareengine.googleapis.com/PrivateCloud" 2508 } 2509 ]; 2510 2511 // Required. The initial description of a new HCX activation key. When 2512 // creating a new key, this field must be an empty object. 2513 HcxActivationKey hcx_activation_key = 2 2514 [(google.api.field_behavior) = REQUIRED]; 2515 2516 // Required. The user-provided identifier of the `HcxActivationKey` to be 2517 // created. This identifier must be unique among `HcxActivationKey` resources 2518 // within the parent and becomes the final token in the name URI. 2519 // The identifier must meet the following requirements: 2520 // 2521 // * Only contains 1-63 alphanumeric characters and hyphens 2522 // * Begins with an alphabetical character 2523 // * Ends with a non-hyphen character 2524 // * Not formatted as a UUID 2525 // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) 2526 // (section 3.5) 2527 string hcx_activation_key_id = 3 [(google.api.field_behavior) = REQUIRED]; 2528 2529 // A request ID to identify requests. Specify a unique request ID 2530 // so that if you must retry your request, the server will know to ignore 2531 // the request if it has already been completed. The server guarantees that a 2532 // request doesn't result in creation of duplicate commitments for at least 60 2533 // minutes. 2534 // 2535 // For example, consider a situation where you make an initial request and the 2536 // request times out. If you make the request again with the same request ID, 2537 // the server can check if original operation with the same request ID was 2538 // received, and if so, will ignore the second request. This prevents clients 2539 // from accidentally creating duplicate commitments. 2540 // 2541 // The request ID must be a valid UUID with the exception that zero UUID is 2542 // not supported (00000000-0000-0000-0000-000000000000). 2543 string request_id = 4; 2544} 2545 2546// Request message for 2547// [VmwareEngine.GetDnsForwarding][google.cloud.vmwareengine.v1.VmwareEngine.GetDnsForwarding] 2548message GetDnsForwardingRequest { 2549 // Required. The resource name of a `DnsForwarding` to retrieve. 2550 // Resource names are schemeless URIs that follow the conventions in 2551 // https://cloud.google.com/apis/design/resource_names. 2552 // For example: 2553 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding` 2554 string name = 1 [ 2555 (google.api.field_behavior) = REQUIRED, 2556 (google.api.resource_reference) = { 2557 type: "vmwareengine.googleapis.com/DnsForwarding" 2558 } 2559 ]; 2560} 2561 2562// Request message for 2563// [VmwareEngine.UpdateDnsForwarding][google.cloud.vmwareengine.v1.VmwareEngine.UpdateDnsForwarding] 2564message UpdateDnsForwardingRequest { 2565 // Required. DnsForwarding config details. 2566 DnsForwarding dns_forwarding = 1 [(google.api.field_behavior) = REQUIRED]; 2567 2568 // Required. Field mask is used to specify the fields to be overwritten in the 2569 // `DnsForwarding` resource by the update. 2570 // The fields specified in the `update_mask` are relative to the resource, not 2571 // the full request. A field will be overwritten if it is in the mask. If the 2572 // user does not provide a mask then all fields will be overwritten. 2573 google.protobuf.FieldMask update_mask = 2 2574 [(google.api.field_behavior) = REQUIRED]; 2575 2576 // Optional. A request ID to identify requests. Specify a unique request ID 2577 // so that if you must retry your request, the server will know to ignore 2578 // the request if it has already been completed. The server guarantees that a 2579 // request doesn't result in creation of duplicate commitments for at least 60 2580 // minutes. 2581 // 2582 // For example, consider a situation where you make an initial request and the 2583 // request times out. If you make the request again with the same request ID, 2584 // the server can check if original operation with the same request ID was 2585 // received, and if so, will ignore the second request. This prevents clients 2586 // from accidentally creating duplicate commitments. 2587 // 2588 // The request ID must be a valid UUID with the exception that zero UUID is 2589 // not supported (00000000-0000-0000-0000-000000000000). 2590 string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 2591} 2592 2593// Request message for 2594// [VmwareEngine.CreateNetworkPeering][google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPeering] 2595message CreateNetworkPeeringRequest { 2596 // Required. The resource name of the location to create the new network 2597 // peering in. This value is always `global`, because `NetworkPeering` is a 2598 // global resource. Resource names are schemeless URIs that follow the 2599 // conventions in https://cloud.google.com/apis/design/resource_names. For 2600 // example: `projects/my-project/locations/global` 2601 string parent = 1 [ 2602 (google.api.field_behavior) = REQUIRED, 2603 (google.api.resource_reference) = { 2604 type: "locations.googleapis.com/Location" 2605 } 2606 ]; 2607 2608 // Required. The user-provided identifier of the new `NetworkPeering`. 2609 // This identifier must be unique among `NetworkPeering` resources within the 2610 // parent and becomes the final token in the name URI. 2611 // The identifier must meet the following requirements: 2612 // 2613 // * Only contains 1-63 alphanumeric characters and hyphens 2614 // * Begins with an alphabetical character 2615 // * Ends with a non-hyphen character 2616 // * Not formatted as a UUID 2617 // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) 2618 // (section 3.5) 2619 string network_peering_id = 2 [(google.api.field_behavior) = REQUIRED]; 2620 2621 // Required. The initial description of the new network peering. 2622 NetworkPeering network_peering = 3 [(google.api.field_behavior) = REQUIRED]; 2623 2624 // Optional. A request ID to identify requests. Specify a unique request ID 2625 // so that if you must retry your request, the server will know to ignore 2626 // the request if it has already been completed. The server guarantees that a 2627 // request doesn't result in creation of duplicate commitments for at least 60 2628 // minutes. 2629 // 2630 // For example, consider a situation where you make an initial request and the 2631 // request times out. If you make the request again with the same request 2632 // ID, the server can check if original operation with the same request ID 2633 // was received, and if so, will ignore the second request. This prevents 2634 // clients from accidentally creating duplicate commitments. 2635 // 2636 // The request ID must be a valid UUID with the exception that zero UUID is 2637 // not supported (00000000-0000-0000-0000-000000000000). 2638 string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; 2639} 2640 2641// Request message for 2642// [VmwareEngine.DeleteNetworkPeering][google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPeering] 2643message DeleteNetworkPeeringRequest { 2644 // Required. The resource name of the network peering to be deleted. 2645 // Resource names are schemeless URIs that follow the conventions in 2646 // https://cloud.google.com/apis/design/resource_names. 2647 // For example: 2648 // `projects/my-project/locations/global/networkPeerings/my-peering` 2649 string name = 1 [ 2650 (google.api.field_behavior) = REQUIRED, 2651 (google.api.resource_reference) = { 2652 type: "vmwareengine.googleapis.com/NetworkPeering" 2653 } 2654 ]; 2655 2656 // Optional. A request ID to identify requests. Specify a unique request ID 2657 // so that if you must retry your request, the server will know to ignore 2658 // the request if it has already been completed. The server guarantees that a 2659 // request doesn't result in creation of duplicate commitments for at least 60 2660 // minutes. 2661 // 2662 // For example, consider a situation where you make an initial request and the 2663 // request times out. If you make the request again with the same request 2664 // ID, the server can check if original operation with the same request ID 2665 // was received, and if so, will ignore the second request. This prevents 2666 // clients from accidentally creating duplicate commitments. 2667 // 2668 // The request ID must be a valid UUID with the exception that zero UUID is 2669 // not supported (00000000-0000-0000-0000-000000000000). 2670 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 2671} 2672 2673// Request message for 2674// [VmwareEngine.GetNetworkPeering][google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPeering] 2675message GetNetworkPeeringRequest { 2676 // Required. The resource name of the network peering to retrieve. 2677 // Resource names are schemeless URIs that follow the conventions in 2678 // https://cloud.google.com/apis/design/resource_names. 2679 // For example: 2680 // `projects/my-project/locations/global/networkPeerings/my-peering` 2681 string name = 1 [ 2682 (google.api.field_behavior) = REQUIRED, 2683 (google.api.resource_reference) = { 2684 type: "vmwareengine.googleapis.com/NetworkPeering" 2685 } 2686 ]; 2687} 2688 2689// Request message for 2690// [VmwareEngine.ListNetworkPeerings][google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPeerings] 2691message ListNetworkPeeringsRequest { 2692 // Required. The resource name of the location (global) to query for 2693 // network peerings. Resource names are schemeless URIs that follow the 2694 // conventions in https://cloud.google.com/apis/design/resource_names. For 2695 // example: `projects/my-project/locations/global` 2696 string parent = 1 [ 2697 (google.api.field_behavior) = REQUIRED, 2698 (google.api.resource_reference) = { 2699 child_type: "vmwareengine.googleapis.com/NetworkPeering" 2700 } 2701 ]; 2702 2703 // The maximum number of network peerings to return in one page. 2704 // The maximum value is coerced to 1000. 2705 // The default value of this field is 500. 2706 int32 page_size = 2; 2707 2708 // A page token, received from a previous `ListNetworkPeerings` call. 2709 // Provide this to retrieve the subsequent page. 2710 // 2711 // When paginating, all other parameters provided to 2712 // `ListNetworkPeerings` must match the call that provided the page 2713 // token. 2714 string page_token = 3; 2715 2716 // A filter expression that matches resources returned in the response. 2717 // The expression must specify the field name, a comparison 2718 // operator, and the value that you want to use for filtering. The value 2719 // must be a string, a number, or a boolean. The comparison operator 2720 // must be `=`, `!=`, `>`, or `<`. 2721 // 2722 // For example, if you are filtering a list of network peerings, you can 2723 // exclude the ones named `example-peering` by specifying 2724 // `name != "example-peering"`. 2725 // 2726 // To filter on multiple expressions, provide each separate expression within 2727 // parentheses. For example: 2728 // ``` 2729 // (name = "example-peering") 2730 // (createTime > "2021-04-12T08:15:10.40Z") 2731 // ``` 2732 // 2733 // By default, each expression is an `AND` expression. However, you 2734 // can include `AND` and `OR` expressions explicitly. 2735 // For example: 2736 // ``` 2737 // (name = "example-peering-1") AND 2738 // (createTime > "2021-04-12T08:15:10.40Z") OR 2739 // (name = "example-peering-2") 2740 // ``` 2741 string filter = 4; 2742 2743 // Sorts list results by a certain order. By default, returned results 2744 // are ordered by `name` in ascending order. 2745 // You can also sort results in descending order based on the `name` value 2746 // using `orderBy="name desc"`. 2747 // Currently, only ordering by `name` is supported. 2748 string order_by = 5; 2749} 2750 2751// Request message for 2752// [VmwareEngine.UpdateNetworkPeering][google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPeering] 2753message UpdateNetworkPeeringRequest { 2754 // Required. Network peering description. 2755 NetworkPeering network_peering = 1 [(google.api.field_behavior) = REQUIRED]; 2756 2757 // Required. Field mask is used to specify the fields to be overwritten in the 2758 // `NetworkPeering` resource by the update. 2759 // The fields specified in the `update_mask` are relative to the resource, not 2760 // the full request. A field will be overwritten if it is in the mask. If the 2761 // user does not provide a mask then all fields will be overwritten. 2762 google.protobuf.FieldMask update_mask = 2 2763 [(google.api.field_behavior) = REQUIRED]; 2764 2765 // Optional. A request ID to identify requests. Specify a unique request ID 2766 // so that if you must retry your request, the server will know to ignore 2767 // the request if it has already been completed. The server guarantees that a 2768 // request doesn't result in creation of duplicate commitments for at least 60 2769 // minutes. 2770 // 2771 // For example, consider a situation where you make an initial request and the 2772 // request times out. If you make the request again with the same request 2773 // ID, the server can check if original operation with the same request ID 2774 // was received, and if so, will ignore the second request. This prevents 2775 // clients from accidentally creating duplicate commitments. 2776 // 2777 // The request ID must be a valid UUID with the exception that zero UUID is 2778 // not supported (00000000-0000-0000-0000-000000000000). 2779 string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 2780} 2781 2782// Response message for 2783// [VmwareEngine.ListNetworkPeerings][google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPeerings] 2784message ListNetworkPeeringsResponse { 2785 // A list of network peerings. 2786 repeated NetworkPeering network_peerings = 1; 2787 2788 // A token, which can be sent as `page_token` to retrieve the next page. 2789 // If this field is omitted, there are no subsequent pages. 2790 string next_page_token = 2; 2791 2792 // Unreachable resources. 2793 repeated string unreachable = 3; 2794} 2795 2796// Request message for 2797// [VmwareEngine.ListPeeringRoutes][google.cloud.vmwareengine.v1.VmwareEngine.ListPeeringRoutes] 2798message ListPeeringRoutesRequest { 2799 // Required. The resource name of the network peering to retrieve peering 2800 // routes from. Resource names are schemeless URIs that follow the conventions 2801 // in https://cloud.google.com/apis/design/resource_names. For example: 2802 // `projects/my-project/locations/global/networkPeerings/my-peering` 2803 string parent = 1 [ 2804 (google.api.field_behavior) = REQUIRED, 2805 (google.api.resource_reference) = { 2806 type: "vmwareengine.googleapis.com/NetworkPeering" 2807 } 2808 ]; 2809 2810 // The maximum number of peering routes to return in one page. 2811 // The service may return fewer than this value. 2812 // The maximum value is coerced to 1000. 2813 // The default value of this field is 500. 2814 int32 page_size = 2; 2815 2816 // A page token, received from a previous `ListPeeringRoutes` call. 2817 // Provide this to retrieve the subsequent page. 2818 // When paginating, all other parameters provided to `ListPeeringRoutes` must 2819 // match the call that provided the page token. 2820 string page_token = 3; 2821 2822 // A filter expression that matches resources returned in the response. 2823 // Currently, only filtering on the `direction` field is supported. To return 2824 // routes imported from the peer network, provide "direction=INCOMING". To 2825 // return routes exported from the VMware Engine network, provide 2826 // "direction=OUTGOING". Other filter expressions return an error. 2827 string filter = 6; 2828} 2829 2830// Response message for 2831// [VmwareEngine.ListPeeringRoutes][google.cloud.vmwareengine.v1.VmwareEngine.ListPeeringRoutes] 2832message ListPeeringRoutesResponse { 2833 // A list of peering routes. 2834 repeated PeeringRoute peering_routes = 1; 2835 2836 // A token, which can be sent as `page_token` to retrieve the next page. 2837 // If this field is omitted, there are no subsequent pages. 2838 string next_page_token = 2; 2839} 2840 2841// Request message for 2842// [VmwareEngine.ListNetworkPolicies][google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies] 2843message ListNetworkPoliciesRequest { 2844 // Required. The resource name of the location (region) to query for 2845 // network policies. Resource names are schemeless URIs that follow the 2846 // conventions in https://cloud.google.com/apis/design/resource_names. For 2847 // example: `projects/my-project/locations/us-central1` 2848 string parent = 1 [ 2849 (google.api.field_behavior) = REQUIRED, 2850 (google.api.resource_reference) = { 2851 child_type: "vmwareengine.googleapis.com/NetworkPolicy" 2852 } 2853 ]; 2854 2855 // The maximum number of network policies to return in one page. 2856 // The service may return fewer than this value. 2857 // The maximum value is coerced to 1000. 2858 // The default value of this field is 500. 2859 int32 page_size = 2; 2860 2861 // A page token, received from a previous `ListNetworkPolicies` call. 2862 // Provide this to retrieve the subsequent page. 2863 // 2864 // When paginating, all other parameters provided to 2865 // `ListNetworkPolicies` must match the call that provided the page 2866 // token. 2867 string page_token = 3; 2868 2869 // A filter expression that matches resources returned in the response. 2870 // The expression must specify the field name, a comparison 2871 // operator, and the value that you want to use for filtering. The value 2872 // must be a string, a number, or a boolean. The comparison operator 2873 // must be `=`, `!=`, `>`, or `<`. 2874 // 2875 // For example, if you are filtering a list of network policies, you can 2876 // exclude the ones named `example-policy` by specifying 2877 // `name != "example-policy"`. 2878 // 2879 // To filter on multiple expressions, provide each separate expression within 2880 // parentheses. For example: 2881 // ``` 2882 // (name = "example-policy") 2883 // (createTime > "2021-04-12T08:15:10.40Z") 2884 // ``` 2885 // 2886 // By default, each expression is an `AND` expression. However, you 2887 // can include `AND` and `OR` expressions explicitly. 2888 // For example: 2889 // ``` 2890 // (name = "example-policy-1") AND 2891 // (createTime > "2021-04-12T08:15:10.40Z") OR 2892 // (name = "example-policy-2") 2893 // ``` 2894 string filter = 4; 2895 2896 // Sorts list results by a certain order. By default, returned results 2897 // are ordered by `name` in ascending order. 2898 // You can also sort results in descending order based on the `name` value 2899 // using `orderBy="name desc"`. 2900 // Currently, only ordering by `name` is supported. 2901 string order_by = 5; 2902} 2903 2904// Response message for 2905// [VmwareEngine.ListNetworkPolicies][google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies] 2906message ListNetworkPoliciesResponse { 2907 // A list of network policies. 2908 repeated NetworkPolicy network_policies = 1; 2909 2910 // A token, which can be send as `page_token` to retrieve the next page. 2911 // If this field is omitted, there are no subsequent pages. 2912 string next_page_token = 2; 2913 2914 // Locations that could not be reached when making an aggregated query using 2915 // wildcards. 2916 repeated string unreachable = 3; 2917} 2918 2919// Request message for 2920// [VmwareEngine.GetNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPolicy] 2921message GetNetworkPolicyRequest { 2922 // Required. The resource name of the network policy to retrieve. 2923 // Resource names are schemeless URIs that follow the conventions in 2924 // https://cloud.google.com/apis/design/resource_names. 2925 // For example: 2926 // `projects/my-project/locations/us-central1/networkPolicies/my-network-policy` 2927 string name = 1 [ 2928 (google.api.field_behavior) = REQUIRED, 2929 (google.api.resource_reference) = { 2930 type: "vmwareengine.googleapis.com/NetworkPolicy" 2931 } 2932 ]; 2933} 2934 2935// Request message for 2936// [VmwareEngine.UpdateNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPolicy] 2937message UpdateNetworkPolicyRequest { 2938 // Required. Network policy description. 2939 NetworkPolicy network_policy = 1 [(google.api.field_behavior) = REQUIRED]; 2940 2941 // Required. Field mask is used to specify the fields to be overwritten in the 2942 // `NetworkPolicy` resource by the update. 2943 // The fields specified in the `update_mask` are relative to the resource, not 2944 // the full request. A field will be overwritten if it is in the mask. If the 2945 // user does not provide a mask then all fields will be overwritten. 2946 google.protobuf.FieldMask update_mask = 2 2947 [(google.api.field_behavior) = REQUIRED]; 2948 2949 // Optional. A request ID to identify requests. Specify a unique request ID 2950 // so that if you must retry your request, the server will know to ignore 2951 // the request if it has already been completed. The server guarantees that a 2952 // request doesn't result in creation of duplicate commitments for at least 60 2953 // minutes. 2954 // 2955 // For example, consider a situation where you make an initial request and the 2956 // request times out. If you make the request again with the same request 2957 // ID, the server can check if original operation with the same request ID 2958 // was received, and if so, will ignore the second request. This prevents 2959 // clients from accidentally creating duplicate commitments. 2960 // 2961 // The request ID must be a valid UUID with the exception that zero UUID is 2962 // not supported (00000000-0000-0000-0000-000000000000). 2963 string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 2964} 2965 2966// Request message for 2967// [VmwareEngine.CreateNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPolicy] 2968message CreateNetworkPolicyRequest { 2969 // Required. The resource name of the location (region) 2970 // to create the new network policy in. 2971 // Resource names are schemeless URIs that follow the conventions in 2972 // https://cloud.google.com/apis/design/resource_names. 2973 // For example: 2974 // `projects/my-project/locations/us-central1` 2975 string parent = 1 [ 2976 (google.api.field_behavior) = REQUIRED, 2977 (google.api.resource_reference) = { 2978 child_type: "vmwareengine.googleapis.com/NetworkPolicy" 2979 } 2980 ]; 2981 2982 // Required. The user-provided identifier of the network policy to be created. 2983 // This identifier must be unique within parent 2984 // `projects/{my-project}/locations/{us-central1}/networkPolicies` and becomes 2985 // the final token in the name URI. 2986 // The identifier must meet the following requirements: 2987 // 2988 // * Only contains 1-63 alphanumeric characters and hyphens 2989 // * Begins with an alphabetical character 2990 // * Ends with a non-hyphen character 2991 // * Not formatted as a UUID 2992 // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) 2993 // (section 3.5) 2994 string network_policy_id = 2 [(google.api.field_behavior) = REQUIRED]; 2995 2996 // Required. The network policy configuration to use in the request. 2997 NetworkPolicy network_policy = 3 [(google.api.field_behavior) = REQUIRED]; 2998 2999 // Optional. A request ID to identify requests. Specify a unique request ID 3000 // so that if you must retry your request, the server will know to ignore 3001 // the request if it has already been completed. The server guarantees that a 3002 // request doesn't result in creation of duplicate commitments for at least 60 3003 // minutes. 3004 // 3005 // For example, consider a situation where you make an initial request and the 3006 // request times out. If you make the request again with the same request 3007 // ID, the server can check if original operation with the same request ID 3008 // was received, and if so, will ignore the second request. This prevents 3009 // clients from accidentally creating duplicate commitments. 3010 // 3011 // The request ID must be a valid UUID with the exception that zero UUID is 3012 // not supported (00000000-0000-0000-0000-000000000000). 3013 string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; 3014} 3015 3016// Request message for 3017// [VmwareEngine.DeleteNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPolicy] 3018message DeleteNetworkPolicyRequest { 3019 // Required. The resource name of the network policy to delete. 3020 // Resource names are schemeless URIs that follow the conventions in 3021 // https://cloud.google.com/apis/design/resource_names. 3022 // For example: 3023 // `projects/my-project/locations/us-central1/networkPolicies/my-network-policy` 3024 string name = 1 [ 3025 (google.api.field_behavior) = REQUIRED, 3026 (google.api.resource_reference) = { 3027 type: "vmwareengine.googleapis.com/NetworkPolicy" 3028 } 3029 ]; 3030 3031 // Optional. A request ID to identify requests. Specify a unique request ID 3032 // so that if you must retry your request, the server will know to ignore 3033 // the request if it has already been completed. The server guarantees that a 3034 // request doesn't result in creation of duplicate commitments for at least 60 3035 // minutes. 3036 // 3037 // For example, consider a situation where you make an initial request and the 3038 // request times out. If you make the request again with the same request 3039 // ID, the server can check if original operation with the same request ID 3040 // was received, and if so, will ignore the second request. This prevents 3041 // clients from accidentally creating duplicate commitments. 3042 // 3043 // The request ID must be a valid UUID with the exception that zero UUID is 3044 // not supported (00000000-0000-0000-0000-000000000000). 3045 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 3046} 3047 3048// Request message for 3049// [VmwareEngine.ListManagementDnsZoneBindings][google.cloud.vmwareengine.v1.VmwareEngine.ListManagementDnsZoneBindings] 3050message ListManagementDnsZoneBindingsRequest { 3051 // Required. The resource name of the private cloud to be queried for 3052 // management DNS zone bindings. 3053 // Resource names are schemeless URIs that follow the conventions in 3054 // https://cloud.google.com/apis/design/resource_names. 3055 // For example: 3056 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 3057 string parent = 1 [ 3058 (google.api.field_behavior) = REQUIRED, 3059 (google.api.resource_reference) = { 3060 type: "vmwareengine.googleapis.com/PrivateCloud" 3061 } 3062 ]; 3063 3064 // The maximum number of management DNS zone bindings to return in one page. 3065 // The service may return fewer than this value. 3066 // The maximum value is coerced to 1000. 3067 // The default value of this field is 500. 3068 int32 page_size = 2; 3069 3070 // A page token, received from a previous `ListManagementDnsZoneBindings` 3071 // call. Provide this to retrieve the subsequent page. 3072 // 3073 // When paginating, all other parameters provided to 3074 // `ListManagementDnsZoneBindings` must match the call that provided the page 3075 // token. 3076 string page_token = 3; 3077 3078 // A filter expression that matches resources returned in the response. 3079 // The expression must specify the field name, a comparison 3080 // operator, and the value that you want to use for filtering. The value 3081 // must be a string, a number, or a boolean. The comparison operator 3082 // must be `=`, `!=`, `>`, or `<`. 3083 // 3084 // For example, if you are filtering a list of Management DNS Zone Bindings, 3085 // you can exclude the ones named `example-management-dns-zone-binding` by 3086 // specifying `name != "example-management-dns-zone-binding"`. 3087 // 3088 // To filter on multiple expressions, provide each separate expression within 3089 // parentheses. For example: 3090 // ``` 3091 // (name = "example-management-dns-zone-binding") 3092 // (createTime > "2021-04-12T08:15:10.40Z") 3093 // ``` 3094 // 3095 // By default, each expression is an `AND` expression. However, you 3096 // can include `AND` and `OR` expressions explicitly. 3097 // For example: 3098 // ``` 3099 // (name = "example-management-dns-zone-binding-1") AND 3100 // (createTime > "2021-04-12T08:15:10.40Z") OR 3101 // (name = "example-management-dns-zone-binding-2") 3102 // ``` 3103 string filter = 4; 3104 3105 // Sorts list results by a certain order. By default, returned results 3106 // are ordered by `name` in ascending order. 3107 // You can also sort results in descending order based on the `name` value 3108 // using `orderBy="name desc"`. 3109 // Currently, only ordering by `name` is supported. 3110 string order_by = 5; 3111} 3112 3113// Response message for 3114// [VmwareEngine.ListManagementDnsZoneBindings][google.cloud.vmwareengine.v1.VmwareEngine.ListManagementDnsZoneBindings] 3115message ListManagementDnsZoneBindingsResponse { 3116 // A list of management DNS zone bindings. 3117 repeated ManagementDnsZoneBinding management_dns_zone_bindings = 1; 3118 3119 // A token, which can be sent as `page_token` to retrieve the next page. 3120 // If this field is omitted, there are no subsequent pages. 3121 string next_page_token = 2; 3122 3123 // Locations that could not be reached when making an aggregated query using 3124 // wildcards. 3125 repeated string unreachable = 3; 3126} 3127 3128// Request message for 3129// [VmwareEngine.GetManagementDnsZoneBinding][google.cloud.vmwareengine.v1.VmwareEngine.GetManagementDnsZoneBinding] 3130message GetManagementDnsZoneBindingRequest { 3131 // Required. The resource name of the management DNS zone binding to 3132 // retrieve. Resource names are schemeless URIs that follow the conventions in 3133 // https://cloud.google.com/apis/design/resource_names. 3134 // For example: 3135 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-binding` 3136 string name = 1 [ 3137 (google.api.field_behavior) = REQUIRED, 3138 (google.api.resource_reference) = { 3139 type: "vmwareengine.googleapis.com/ManagementDnsZoneBinding" 3140 } 3141 ]; 3142} 3143 3144// Request message for [VmwareEngine.CreateManagementDnsZoneBindings][] 3145message CreateManagementDnsZoneBindingRequest { 3146 // Required. The resource name of the private cloud 3147 // to create a new management DNS zone binding for. 3148 // Resource names are schemeless URIs that follow the conventions in 3149 // https://cloud.google.com/apis/design/resource_names. 3150 // For example: 3151 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` 3152 string parent = 1 [ 3153 (google.api.field_behavior) = REQUIRED, 3154 (google.api.resource_reference) = { 3155 type: "vmwareengine.googleapis.com/PrivateCloud" 3156 } 3157 ]; 3158 3159 // Required. The initial values for a new management DNS zone binding. 3160 ManagementDnsZoneBinding management_dns_zone_binding = 2 3161 [(google.api.field_behavior) = REQUIRED]; 3162 3163 // Required. The user-provided identifier of the `ManagementDnsZoneBinding` 3164 // resource to be created. This identifier must be unique among 3165 // `ManagementDnsZoneBinding` resources within the parent and becomes the 3166 // final token in the name URI. The identifier must meet the following 3167 // requirements: 3168 // 3169 // * Only contains 1-63 alphanumeric characters and hyphens 3170 // * Begins with an alphabetical character 3171 // * Ends with a non-hyphen character 3172 // * Not formatted as a UUID 3173 // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) 3174 // (section 3.5) 3175 string management_dns_zone_binding_id = 3 3176 [(google.api.field_behavior) = REQUIRED]; 3177 3178 // Optional. A request ID to identify requests. Specify a unique request ID 3179 // so that if you must retry your request, the server will know to ignore 3180 // the request if it has already been completed. The server guarantees that a 3181 // request doesn't result in creation of duplicate commitments for at least 60 3182 // minutes. 3183 // 3184 // For example, consider a situation where you make an initial request and the 3185 // request times out. If you make the request again with the same request ID, 3186 // the server can check if the original operation with the same request ID was 3187 // received, and if so, will ignore the second request. This prevents clients 3188 // from accidentally creating duplicate commitments. 3189 // 3190 // The request ID must be a valid UUID with the exception that zero UUID is 3191 // not supported (00000000-0000-0000-0000-000000000000). 3192 string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; 3193} 3194 3195// Request message for 3196// [VmwareEngine.UpdateManagementDnsZoneBinding][google.cloud.vmwareengine.v1.VmwareEngine.UpdateManagementDnsZoneBinding] 3197message UpdateManagementDnsZoneBindingRequest { 3198 // Required. Field mask is used to specify the fields to be overwritten in the 3199 // `ManagementDnsZoneBinding` resource by the update. 3200 // The fields specified in the `update_mask` are relative to the resource, not 3201 // the full request. A field will be overwritten if it is in the mask. If the 3202 // user does not provide a mask then all fields will be overwritten. 3203 google.protobuf.FieldMask update_mask = 1 3204 [(google.api.field_behavior) = REQUIRED]; 3205 3206 // Required. New values to update the management DNS zone binding with. 3207 ManagementDnsZoneBinding management_dns_zone_binding = 2 3208 [(google.api.field_behavior) = REQUIRED]; 3209 3210 // Optional. A request ID to identify requests. Specify a unique request ID 3211 // so that if you must retry your request, the server will know to ignore 3212 // the request if it has already been completed. The server guarantees that a 3213 // request doesn't result in creation of duplicate commitments for at least 60 3214 // minutes. 3215 // 3216 // For example, consider a situation where you make an initial request and the 3217 // request times out. If you make the request again with the same request ID, 3218 // the server can check if the original operation with the same request ID was 3219 // received, and if so, will ignore the second request. This prevents clients 3220 // from accidentally creating duplicate commitments. 3221 // 3222 // The request ID must be a valid UUID with the exception that zero UUID is 3223 // not supported (00000000-0000-0000-0000-000000000000). 3224 string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 3225} 3226 3227// Request message for 3228// [VmwareEngine.DeleteManagementDnsZoneBinding][google.cloud.vmwareengine.v1.VmwareEngine.DeleteManagementDnsZoneBinding] 3229message DeleteManagementDnsZoneBindingRequest { 3230 // Required. The resource name of the management DNS zone binding to delete. 3231 // Resource names are schemeless URIs that follow the conventions in 3232 // https://cloud.google.com/apis/design/resource_names. 3233 // For example: 3234 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-binding` 3235 string name = 1 [ 3236 (google.api.field_behavior) = REQUIRED, 3237 (google.api.resource_reference) = { 3238 type: "vmwareengine.googleapis.com/ManagementDnsZoneBinding" 3239 } 3240 ]; 3241 3242 // Optional. A request ID to identify requests. Specify a unique request ID 3243 // so that if you must retry your request, the server will know to ignore 3244 // the request if it has already been completed. The server guarantees that a 3245 // request doesn't result in creation of duplicate commitments for at least 60 3246 // minutes. 3247 // 3248 // For example, consider a situation where you make an initial request and the 3249 // request times out. If you make the request again with the same request 3250 // ID, the server can check if the original operation with the same request ID 3251 // was received, and if so, will ignore the second request. This prevents 3252 // clients from accidentally creating duplicate commitments. 3253 // 3254 // The request ID must be a valid UUID with the exception that zero UUID is 3255 // not supported (00000000-0000-0000-0000-000000000000). 3256 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 3257} 3258 3259// Request message for [VmwareEngine.RepairManagementDnsZoneBindings][] 3260message RepairManagementDnsZoneBindingRequest { 3261 // Required. The resource name of the management DNS zone binding to repair. 3262 // Resource names are schemeless URIs that follow the conventions in 3263 // https://cloud.google.com/apis/design/resource_names. 3264 // For example: 3265 // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-binding` 3266 string name = 1 [ 3267 (google.api.field_behavior) = REQUIRED, 3268 (google.api.resource_reference) = { 3269 type: "vmwareengine.googleapis.com/ManagementDnsZoneBinding" 3270 } 3271 ]; 3272 3273 // Optional. A request ID to identify requests. Specify a unique request ID 3274 // so that if you must retry your request, the server will know to ignore 3275 // the request if it has already been completed. The server guarantees that a 3276 // request doesn't result in creation of duplicate commitments for at least 60 3277 // minutes. 3278 // 3279 // For example, consider a situation where you make an initial request and the 3280 // request times out. If you make the request again with the same request ID, 3281 // the server can check if the original operation with the same request ID was 3282 // received, and if so, will ignore the second request. This prevents clients 3283 // from accidentally creating duplicate commitments. 3284 // 3285 // The request ID must be a valid UUID with the exception that zero UUID is 3286 // not supported (00000000-0000-0000-0000-000000000000). 3287 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 3288} 3289 3290// Request message for 3291// [VmwareEngine.CreateVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.CreateVmwareEngineNetwork] 3292message CreateVmwareEngineNetworkRequest { 3293 // Required. The resource name of the location to create the new VMware Engine 3294 // network in. A VMware Engine network of type 3295 // `LEGACY` is a regional resource, and a VMware 3296 // Engine network of type `STANDARD` is a global resource. 3297 // Resource names are schemeless URIs that follow the conventions in 3298 // https://cloud.google.com/apis/design/resource_names. For example: 3299 // `projects/my-project/locations/global` 3300 string parent = 1 [ 3301 (google.api.field_behavior) = REQUIRED, 3302 (google.api.resource_reference) = { 3303 child_type: "vmwareengine.googleapis.com/VmwareEngineNetwork" 3304 } 3305 ]; 3306 3307 // Required. The user-provided identifier of the new VMware Engine network. 3308 // This identifier must be unique among VMware Engine network resources 3309 // within the parent and becomes the final token in the name URI. The 3310 // identifier must meet the following requirements: 3311 // 3312 // * For networks of type LEGACY, adheres to the format: 3313 // `{region-id}-default`. Replace `{region-id}` with the region where you want 3314 // to create the VMware Engine network. For example, "us-central1-default". 3315 // * Only contains 1-63 alphanumeric characters and hyphens 3316 // * Begins with an alphabetical character 3317 // * Ends with a non-hyphen character 3318 // * Not formatted as a UUID 3319 // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) 3320 // (section 3.5) 3321 string vmware_engine_network_id = 2 [(google.api.field_behavior) = REQUIRED]; 3322 3323 // Required. The initial description of the new VMware Engine network. 3324 VmwareEngineNetwork vmware_engine_network = 3 3325 [(google.api.field_behavior) = REQUIRED]; 3326 3327 // Optional. A request ID to identify requests. Specify a unique request ID 3328 // so that if you must retry your request, the server will know to ignore 3329 // the request if it has already been completed. The server guarantees that a 3330 // request doesn't result in creation of duplicate commitments for at least 60 3331 // minutes. 3332 // 3333 // For example, consider a situation where you make an initial request and the 3334 // request times out. If you make the request again with the same request 3335 // ID, the server can check if original operation with the same request ID 3336 // was received, and if so, will ignore the second request. This prevents 3337 // clients from accidentally creating duplicate commitments. 3338 // 3339 // The request ID must be a valid UUID with the exception that zero UUID is 3340 // not supported (00000000-0000-0000-0000-000000000000). 3341 string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; 3342} 3343 3344// Request message for 3345// [VmwareEngine.UpdateVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.UpdateVmwareEngineNetwork] 3346message UpdateVmwareEngineNetworkRequest { 3347 // Required. VMware Engine network description. 3348 VmwareEngineNetwork vmware_engine_network = 1 3349 [(google.api.field_behavior) = REQUIRED]; 3350 3351 // Required. Field mask is used to specify the fields to be overwritten in the 3352 // VMware Engine network resource by the update. 3353 // The fields specified in the `update_mask` are relative to the resource, not 3354 // the full request. A field will be overwritten if it is in the mask. If the 3355 // user does not provide a mask then all fields will be overwritten. Only the 3356 // following fields can be updated: `description`. 3357 google.protobuf.FieldMask update_mask = 2 3358 [(google.api.field_behavior) = REQUIRED]; 3359 3360 // Optional. A request ID to identify requests. Specify a unique request ID 3361 // so that if you must retry your request, the server will know to ignore 3362 // the request if it has already been completed. The server guarantees that a 3363 // request doesn't result in creation of duplicate commitments for at least 60 3364 // minutes. 3365 // 3366 // For example, consider a situation where you make an initial request and the 3367 // request times out. If you make the request again with the same request 3368 // ID, the server can check if original operation with the same request ID 3369 // was received, and if so, will ignore the second request. This prevents 3370 // clients from accidentally creating duplicate commitments. 3371 // 3372 // The request ID must be a valid UUID with the exception that zero UUID is 3373 // not supported (00000000-0000-0000-0000-000000000000). 3374 string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 3375} 3376 3377// Request message for 3378// [VmwareEngine.DeleteVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.DeleteVmwareEngineNetwork] 3379message DeleteVmwareEngineNetworkRequest { 3380 // Required. The resource name of the VMware Engine network to be deleted. 3381 // Resource names are schemeless URIs that follow the conventions in 3382 // https://cloud.google.com/apis/design/resource_names. 3383 // For example: 3384 // `projects/my-project/locations/global/vmwareEngineNetworks/my-network` 3385 string name = 1 [ 3386 (google.api.field_behavior) = REQUIRED, 3387 (google.api.resource_reference) = { 3388 type: "vmwareengine.googleapis.com/VmwareEngineNetwork" 3389 } 3390 ]; 3391 3392 // Optional. A request ID to identify requests. Specify a unique request ID 3393 // so that if you must retry your request, the server will know to ignore 3394 // the request if it has already been completed. The server guarantees that a 3395 // request doesn't result in creation of duplicate commitments for at least 60 3396 // minutes. 3397 // 3398 // For example, consider a situation where you make an initial request and the 3399 // request times out. If you make the request again with the same request 3400 // ID, the server can check if original operation with the same request ID 3401 // was received, and if so, will ignore the second request. This prevents 3402 // clients from accidentally creating duplicate commitments. 3403 // 3404 // The request ID must be a valid UUID with the exception that zero UUID is 3405 // not supported (00000000-0000-0000-0000-000000000000). 3406 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 3407 3408 // Optional. Checksum used to ensure that the user-provided value is up to 3409 // date before the server processes the request. The server compares provided 3410 // checksum with the current checksum of the resource. If the user-provided 3411 // value is out of date, this request returns an `ABORTED` error. 3412 string etag = 3 [(google.api.field_behavior) = OPTIONAL]; 3413} 3414 3415// Request message for 3416// [VmwareEngine.GetVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.GetVmwareEngineNetwork] 3417message GetVmwareEngineNetworkRequest { 3418 // Required. The resource name of the VMware Engine network to retrieve. 3419 // Resource names are schemeless URIs that follow the conventions in 3420 // https://cloud.google.com/apis/design/resource_names. 3421 // For example: 3422 // `projects/my-project/locations/global/vmwareEngineNetworks/my-network` 3423 string name = 1 [ 3424 (google.api.field_behavior) = REQUIRED, 3425 (google.api.resource_reference) = { 3426 type: "vmwareengine.googleapis.com/VmwareEngineNetwork" 3427 } 3428 ]; 3429} 3430 3431// Request message for 3432// [VmwareEngine.ListVmwareEngineNetworks][google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks] 3433message ListVmwareEngineNetworksRequest { 3434 // Required. The resource name of the location to query for 3435 // VMware Engine networks. Resource names are schemeless URIs that follow the 3436 // conventions in https://cloud.google.com/apis/design/resource_names. For 3437 // example: `projects/my-project/locations/global` 3438 string parent = 1 [ 3439 (google.api.field_behavior) = REQUIRED, 3440 (google.api.resource_reference) = { 3441 type: "locations.googleapis.com/Location" 3442 } 3443 ]; 3444 3445 // The maximum number of results to return in one page. 3446 // The maximum value is coerced to 1000. 3447 // The default value of this field is 500. 3448 int32 page_size = 2; 3449 3450 // A page token, received from a previous `ListVmwareEngineNetworks` call. 3451 // Provide this to retrieve the subsequent page. 3452 // 3453 // When paginating, all other parameters provided to 3454 // `ListVmwareEngineNetworks` must match the call that provided the page 3455 // token. 3456 string page_token = 3; 3457 3458 // A filter expression that matches resources returned in the response. 3459 // The expression must specify the field name, a comparison 3460 // operator, and the value that you want to use for filtering. The value 3461 // must be a string, a number, or a boolean. The comparison operator 3462 // must be `=`, `!=`, `>`, or `<`. 3463 // 3464 // For example, if you are filtering a list of network peerings, you can 3465 // exclude the ones named `example-network` by specifying 3466 // `name != "example-network"`. 3467 // 3468 // To filter on multiple expressions, provide each separate expression within 3469 // parentheses. For example: 3470 // ``` 3471 // (name = "example-network") 3472 // (createTime > "2021-04-12T08:15:10.40Z") 3473 // ``` 3474 // 3475 // By default, each expression is an `AND` expression. However, you 3476 // can include `AND` and `OR` expressions explicitly. 3477 // For example: 3478 // ``` 3479 // (name = "example-network-1") AND 3480 // (createTime > "2021-04-12T08:15:10.40Z") OR 3481 // (name = "example-network-2") 3482 // ``` 3483 string filter = 4; 3484 3485 // Sorts list results by a certain order. By default, returned results 3486 // are ordered by `name` in ascending order. 3487 // You can also sort results in descending order based on the `name` value 3488 // using `orderBy="name desc"`. 3489 // Currently, only ordering by `name` is supported. 3490 string order_by = 5; 3491} 3492 3493// Response message for 3494// [VmwareEngine.ListVmwareEngineNetworks][google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks] 3495message ListVmwareEngineNetworksResponse { 3496 // A list of VMware Engine networks. 3497 repeated VmwareEngineNetwork vmware_engine_networks = 1; 3498 3499 // A token, which can be sent as `page_token` to retrieve the next page. 3500 // If this field is omitted, there are no subsequent pages. 3501 string next_page_token = 2; 3502 3503 // Unreachable resources. 3504 repeated string unreachable = 3; 3505} 3506 3507// Request message for 3508// [VmwareEngine.CreatePrivateConnection][google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateConnection] 3509message CreatePrivateConnectionRequest { 3510 // Required. The resource name of the location to create the new private 3511 // connection in. Private connection is a regional resource. 3512 // Resource names are schemeless URIs that follow the conventions in 3513 // https://cloud.google.com/apis/design/resource_names. For example: 3514 // `projects/my-project/locations/us-central1` 3515 string parent = 1 [ 3516 (google.api.field_behavior) = REQUIRED, 3517 (google.api.resource_reference) = { 3518 child_type: "vmwareengine.googleapis.com/PrivateConnection" 3519 } 3520 ]; 3521 3522 // Required. The user-provided identifier of the new private connection. 3523 // This identifier must be unique among private connection resources 3524 // within the parent and becomes the final token in the name URI. The 3525 // identifier must meet the following requirements: 3526 // 3527 // * Only contains 1-63 alphanumeric characters and hyphens 3528 // * Begins with an alphabetical character 3529 // * Ends with a non-hyphen character 3530 // * Not formatted as a UUID 3531 // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) 3532 // (section 3.5) 3533 string private_connection_id = 2 [(google.api.field_behavior) = REQUIRED]; 3534 3535 // Required. The initial description of the new private connection. 3536 PrivateConnection private_connection = 3 3537 [(google.api.field_behavior) = REQUIRED]; 3538 3539 // Optional. A request ID to identify requests. Specify a unique request ID 3540 // so that if you must retry your request, the server will know to ignore 3541 // the request if it has already been completed. The server guarantees that a 3542 // request doesn't result in creation of duplicate commitments for at least 60 3543 // minutes. 3544 // 3545 // For example, consider a situation where you make an initial request and the 3546 // request times out. If you make the request again with the same request 3547 // ID, the server can check if original operation with the same request ID 3548 // was received, and if so, will ignore the second request. This prevents 3549 // clients from accidentally creating duplicate commitments. 3550 // 3551 // The request ID must be a valid UUID with the exception that zero UUID is 3552 // not supported (00000000-0000-0000-0000-000000000000). 3553 string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; 3554} 3555 3556// Request message for 3557// [VmwareEngine.GetPrivateConnection][google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateConnection] 3558message GetPrivateConnectionRequest { 3559 // Required. The resource name of the private connection to retrieve. 3560 // Resource names are schemeless URIs that follow the conventions in 3561 // https://cloud.google.com/apis/design/resource_names. 3562 // For example: 3563 // `projects/my-project/locations/us-central1/privateConnections/my-connection` 3564 string name = 1 [ 3565 (google.api.field_behavior) = REQUIRED, 3566 (google.api.resource_reference) = { 3567 type: "vmwareengine.googleapis.com/PrivateConnection" 3568 } 3569 ]; 3570} 3571 3572// Request message for 3573// [VmwareEngine.ListPrivateConnections][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections] 3574message ListPrivateConnectionsRequest { 3575 // Required. The resource name of the location to query for 3576 // private connections. Resource names are schemeless URIs that follow the 3577 // conventions in https://cloud.google.com/apis/design/resource_names. For 3578 // example: `projects/my-project/locations/us-central1` 3579 string parent = 1 [ 3580 (google.api.field_behavior) = REQUIRED, 3581 (google.api.resource_reference) = { 3582 child_type: "vmwareengine.googleapis.com/PrivateConnection" 3583 } 3584 ]; 3585 3586 // The maximum number of private connections to return in one page. 3587 // The maximum value is coerced to 1000. 3588 // The default value of this field is 500. 3589 int32 page_size = 2; 3590 3591 // A page token, received from a previous `ListPrivateConnections` call. 3592 // Provide this to retrieve the subsequent page. 3593 // 3594 // When paginating, all other parameters provided to 3595 // `ListPrivateConnections` must match the call that provided the page 3596 // token. 3597 string page_token = 3; 3598 3599 // A filter expression that matches resources returned in the response. 3600 // The expression must specify the field name, a comparison 3601 // operator, and the value that you want to use for filtering. The value 3602 // must be a string, a number, or a boolean. The comparison operator 3603 // must be `=`, `!=`, `>`, or `<`. 3604 // 3605 // For example, if you are filtering a list of private connections, you can 3606 // exclude the ones named `example-connection` by specifying 3607 // `name != "example-connection"`. 3608 // 3609 // To filter on multiple expressions, provide each separate expression within 3610 // parentheses. For example: 3611 // ``` 3612 // (name = "example-connection") 3613 // (createTime > "2022-09-22T08:15:10.40Z") 3614 // ``` 3615 // 3616 // By default, each expression is an `AND` expression. However, you 3617 // can include `AND` and `OR` expressions explicitly. 3618 // For example: 3619 // ``` 3620 // (name = "example-connection-1") AND 3621 // (createTime > "2021-04-12T08:15:10.40Z") OR 3622 // (name = "example-connection-2") 3623 // ``` 3624 string filter = 4; 3625 3626 // Sorts list results by a certain order. By default, returned results 3627 // are ordered by `name` in ascending order. 3628 // You can also sort results in descending order based on the `name` value 3629 // using `orderBy="name desc"`. 3630 // Currently, only ordering by `name` is supported. 3631 string order_by = 5; 3632} 3633 3634// Response message for 3635// [VmwareEngine.ListPrivateConnections][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections] 3636message ListPrivateConnectionsResponse { 3637 // A list of private connections. 3638 repeated PrivateConnection private_connections = 1; 3639 3640 // A token, which can be sent as `page_token` to retrieve the next page. 3641 // If this field is omitted, there are no subsequent pages. 3642 string next_page_token = 2; 3643 3644 // Unreachable resources. 3645 repeated string unreachable = 3; 3646} 3647 3648// Request message for 3649// [VmwareEngine.UpdatePrivateConnection][google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateConnection] 3650message UpdatePrivateConnectionRequest { 3651 // Required. Private connection description. 3652 PrivateConnection private_connection = 1 3653 [(google.api.field_behavior) = REQUIRED]; 3654 3655 // Required. Field mask is used to specify the fields to be overwritten in the 3656 // `PrivateConnection` resource by the update. 3657 // The fields specified in the `update_mask` are relative to the resource, not 3658 // the full request. A field will be overwritten if it is in the mask. If the 3659 // user does not provide a mask then all fields will be overwritten. 3660 google.protobuf.FieldMask update_mask = 2 3661 [(google.api.field_behavior) = REQUIRED]; 3662 3663 // Optional. A request ID to identify requests. Specify a unique request ID 3664 // so that if you must retry your request, the server will know to ignore 3665 // the request if it has already been completed. The server guarantees that a 3666 // request doesn't result in creation of duplicate commitments for at least 60 3667 // minutes. 3668 // 3669 // For example, consider a situation where you make an initial request and the 3670 // request times out. If you make the request again with the same request 3671 // ID, the server can check if original operation with the same request ID 3672 // was received, and if so, will ignore the second request. This prevents 3673 // clients from accidentally creating duplicate commitments. 3674 // 3675 // The request ID must be a valid UUID with the exception that zero UUID is 3676 // not supported (00000000-0000-0000-0000-000000000000). 3677 string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 3678} 3679 3680// Request message for 3681// [VmwareEngine.DeletePrivateConnection][google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateConnection] 3682message DeletePrivateConnectionRequest { 3683 // Required. The resource name of the private connection to be deleted. 3684 // Resource names are schemeless URIs that follow the conventions in 3685 // https://cloud.google.com/apis/design/resource_names. 3686 // For example: 3687 // `projects/my-project/locations/us-central1/privateConnections/my-connection` 3688 string name = 1 [ 3689 (google.api.field_behavior) = REQUIRED, 3690 (google.api.resource_reference) = { 3691 type: "vmwareengine.googleapis.com/PrivateConnection" 3692 } 3693 ]; 3694 3695 // Optional. A request ID to identify requests. Specify a unique request ID 3696 // so that if you must retry your request, the server will know to ignore 3697 // the request if it has already been completed. The server guarantees that a 3698 // request doesn't result in creation of duplicate commitments for at least 60 3699 // minutes. 3700 // 3701 // For example, consider a situation where you make an initial request and the 3702 // request times out. If you make the request again with the same request 3703 // ID, the server can check if original operation with the same request ID 3704 // was received, and if so, will ignore the second request. This prevents 3705 // clients from accidentally creating duplicate commitments. 3706 // 3707 // The request ID must be a valid UUID with the exception that zero UUID is 3708 // not supported (00000000-0000-0000-0000-000000000000). 3709 string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 3710} 3711 3712// Request message for 3713// [VmwareEngine.ListPrivateConnectionPeeringRoutes][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes] 3714message ListPrivateConnectionPeeringRoutesRequest { 3715 // Required. The resource name of the private connection to retrieve peering 3716 // routes from. Resource names are schemeless URIs that follow the conventions 3717 // in https://cloud.google.com/apis/design/resource_names. For example: 3718 // `projects/my-project/locations/us-west1/privateConnections/my-connection` 3719 string parent = 1 [ 3720 (google.api.field_behavior) = REQUIRED, 3721 (google.api.resource_reference) = { 3722 type: "vmwareengine.googleapis.com/PrivateConnection" 3723 } 3724 ]; 3725 3726 // The maximum number of peering routes to return in one page. 3727 // The service may return fewer than this value. 3728 // The maximum value is coerced to 1000. 3729 // The default value of this field is 500. 3730 int32 page_size = 2; 3731 3732 // A page token, received from a previous `ListPrivateConnectionPeeringRoutes` 3733 // call. Provide this to retrieve the subsequent page. When paginating, all 3734 // other parameters provided to `ListPrivateConnectionPeeringRoutes` must 3735 // match the call that provided the page token. 3736 string page_token = 3; 3737} 3738 3739// Response message for 3740// [VmwareEngine.ListPrivateConnectionPeeringRoutes][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes] 3741message ListPrivateConnectionPeeringRoutesResponse { 3742 // A list of peering routes. 3743 repeated PeeringRoute peering_routes = 1; 3744 3745 // A token, which can be sent as `page_token` to retrieve the next page. 3746 // If this field is omitted, there are no subsequent pages. 3747 string next_page_token = 2; 3748} 3749 3750// Request message for 3751// [VmwareEngine.GrantDnsBindPermission][google.cloud.vmwareengine.v1.VmwareEngine.GrantDnsBindPermission] 3752message GrantDnsBindPermissionRequest { 3753 // Required. The name of the resource which stores the users/service accounts 3754 // having the permission to bind to the corresponding intranet VPC of the 3755 // consumer project. DnsBindPermission is a global resource. Resource names 3756 // are schemeless URIs that follow the conventions in 3757 // https://cloud.google.com/apis/design/resource_names. For example: 3758 // `projects/my-project/locations/global/dnsBindPermission` 3759 string name = 1 [ 3760 (google.api.field_behavior) = REQUIRED, 3761 (google.api.resource_reference) = { 3762 type: "vmwareengine.googleapis.com/DnsBindPermission" 3763 } 3764 ]; 3765 3766 // Required. The consumer provided user/service account which needs to be 3767 // granted permission to bind with the intranet VPC corresponding to the 3768 // consumer project. 3769 Principal principal = 2 [(google.api.field_behavior) = REQUIRED]; 3770 3771 // Optional. A request ID to identify requests. Specify a unique request ID 3772 // so that if you must retry your request, the server will know to ignore 3773 // the request if it has already been completed. The server guarantees that a 3774 // request doesn't result in creation of duplicate commitments for at least 60 3775 // minutes. 3776 // 3777 // For example, consider a situation where you make an initial request and the 3778 // request times out. If you make the request again with the same request 3779 // ID, the server can check if original operation with the same request ID 3780 // was received, and if so, will ignore the second request. This prevents 3781 // clients from accidentally creating duplicate commitments. 3782 // 3783 // The request ID must be a valid UUID with the exception that zero UUID is 3784 // not supported (00000000-0000-0000-0000-000000000000). 3785 string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 3786} 3787 3788// Request message for 3789// [VmwareEngine.RevokeDnsBindPermission][google.cloud.vmwareengine.v1.VmwareEngine.RevokeDnsBindPermission] 3790message RevokeDnsBindPermissionRequest { 3791 // Required. The name of the resource which stores the users/service accounts 3792 // having the permission to bind to the corresponding intranet VPC of the 3793 // consumer project. DnsBindPermission is a global resource. Resource names 3794 // are schemeless URIs that follow the conventions in 3795 // https://cloud.google.com/apis/design/resource_names. For example: 3796 // `projects/my-project/locations/global/dnsBindPermission` 3797 string name = 1 [ 3798 (google.api.field_behavior) = REQUIRED, 3799 (google.api.resource_reference) = { 3800 type: "vmwareengine.googleapis.com/DnsBindPermission" 3801 } 3802 ]; 3803 3804 // Required. The consumer provided user/service account which needs to be 3805 // granted permission to bind with the intranet VPC corresponding to the 3806 // consumer project. 3807 Principal principal = 2 [(google.api.field_behavior) = REQUIRED]; 3808 3809 // Optional. A request ID to identify requests. Specify a unique request ID 3810 // so that if you must retry your request, the server will know to ignore 3811 // the request if it has already been completed. The server guarantees that a 3812 // request doesn't result in creation of duplicate commitments for at least 60 3813 // minutes. 3814 // 3815 // For example, consider a situation where you make an initial request and the 3816 // request times out. If you make the request again with the same request 3817 // ID, the server can check if original operation with the same request ID 3818 // was received, and if so, will ignore the second request. This prevents 3819 // clients from accidentally creating duplicate commitments. 3820 // 3821 // The request ID must be a valid UUID with the exception that zero UUID is 3822 // not supported (00000000-0000-0000-0000-000000000000). 3823 string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 3824} 3825 3826// Request message for 3827// [VmwareEngine.GetDnsBindPermission][google.cloud.vmwareengine.v1.VmwareEngine.GetDnsBindPermission] 3828message GetDnsBindPermissionRequest { 3829 // Required. The name of the resource which stores the users/service accounts 3830 // having the permission to bind to the corresponding intranet VPC of the 3831 // consumer project. DnsBindPermission is a global resource. Resource names 3832 // are schemeless URIs that follow the conventions in 3833 // https://cloud.google.com/apis/design/resource_names. For example: 3834 // `projects/my-project/locations/global/dnsBindPermission` 3835 string name = 1 [ 3836 (google.api.field_behavior) = REQUIRED, 3837 (google.api.resource_reference) = { 3838 type: "vmwareengine.googleapis.com/DnsBindPermission" 3839 } 3840 ]; 3841} 3842